@continuumdao/ctm-mpc-defi 0.2.55 → 0.2.56

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.
@@ -4930,6 +4930,8 @@ type MarketplaceOrder = {
4930
4930
  creator: string;
4931
4931
  seller?: string;
4932
4932
  buyer?: string;
4933
+ /** NFT owner from the catalog. Listings often omit `seller` and set this to the lister. */
4934
+ currentOwner?: string;
4933
4935
  paymentToken: string;
4934
4936
  price: string;
4935
4937
  deadlineUnix: string;
@@ -4950,6 +4952,8 @@ type MarketplaceOrder = {
4950
4952
  unlockTime?: string;
4951
4953
  unlockTimeAt?: string;
4952
4954
  keygen?: string;
4955
+ /** Set when a catalog query includes `viewer`. `delist` means that address already sells this veCTM. */
4956
+ viewerAction?: 'delist' | 'buy' | 'none';
4953
4957
  };
4954
4958
  type MarketplaceAuction = {
4955
4959
  tokenId: string;
@@ -5148,6 +5152,7 @@ declare function applyMarketplaceEvent(book: FoldedMarketplaceBook, ev: Marketpl
5148
5152
  * Events must be in chain order.
5149
5153
  */
5150
5154
  declare function foldMarketplaceEvents(events: readonly MarketplaceFoldEvent[], initial?: FoldedMarketplaceBook): FoldedMarketplaceBook;
5155
+ /** Stored Pending means no bid has met the reserve. The auction is already live, so callers see Active. */
5151
5156
  declare function deriveAuctionStatus(auction: MarketplaceAuction, nowUnix: number): string;
5152
5157
  declare function applyDerivedStatuses(book: FoldedMarketplaceBook, nowUnix: number): FoldedMarketplaceBook;
5153
5158
  declare function isLiveAuctionStatus(status: string): boolean;
@@ -5378,6 +5383,8 @@ type MarketplaceSearchHit = {
5378
5383
  deadlineAt: string;
5379
5384
  attached: boolean;
5380
5385
  fillable: boolean;
5386
+ /** buy or bid for someone else's order. delist when this KeyGen is the listing seller. */
5387
+ action: 'buy' | 'delist' | 'bid';
5381
5388
  };
5382
5389
  type MarketplaceSearchResult = {
5383
5390
  sort: MarketplaceSearchSort;
@@ -5581,8 +5588,14 @@ declare function marketplaceVeCtmReceivedBy(detail: Record<string, unknown> | nu
5581
5588
  tokenId: string;
5582
5589
  } | null;
5583
5590
 
5591
+ type ContinuumDaoMcpPurposeAction = 'createLock' | 'increaseAmount' | 'increaseUnlockTime' | 'split' | 'merge' | 'withdraw' | 'liquidate' | 'delegate' | 'undelegate' | 'transfer' | 'attach' | 'requestDetach' | 'proposeBravo' | 'proposeDelta' | 'castVoteBravo' | 'castVoteDelta' | 'execute' | 'cancel' | 'forumSignIn' | 'marketplaceCreateListing' | 'marketplaceDelist' | 'marketplaceFulfillListing' | 'marketplaceCreateOffering' | 'marketplaceRescind' | 'marketplaceFulfillOffering' | 'marketplaceCreateAuction' | 'marketplaceCancelAuction' | 'marketplaceAuctionBid' | 'marketplaceSettleAuction';
5592
+ /** Action sentence stored on a ContinuumDAO multi-sign request when purposeText is omitted. */
5593
+ declare function buildContinuumDaoMcpPurpose(action: ContinuumDaoMcpPurposeAction, input: Record<string, unknown>): string;
5594
+ /** Fill purposeText from the tool action when the agent omits it. A supplied purpose is kept. */
5595
+ declare function preprocessContinuumDaoPurpose(action: ContinuumDaoMcpPurposeAction, raw: unknown): unknown;
5596
+
5584
5597
  declare const continuumDaoMarketplaceProtocolModule: ProtocolModule;
5585
5598
 
5586
5599
  declare const continuumDaoProtocolModule: ProtocolModule;
5587
5600
 
5588
- export { ATTACH_VECTM_SIGNATURE, AUCTION_STATUS, type AbiParam, BRAVO_SUPPORT_LABELS, CONTINUUM_DAO_APPROVE_FALLBACK, CONTINUUM_DAO_ATTACH_FALLBACK, CONTINUUM_DAO_CANCEL_FALLBACK, CONTINUUM_DAO_CREATE_LOCK_FALLBACK, CONTINUUM_DAO_DELEGATE_FALLBACK, CONTINUUM_DAO_DEPLOYMENTS, CONTINUUM_DAO_DETACH_FALLBACK, CONTINUUM_DAO_ETHEREUM_CHAIN_ID, CONTINUUM_DAO_EVM_TYPES, CONTINUUM_DAO_EXECUTE_FALLBACK, CONTINUUM_DAO_GOVERNANCE_API, CONTINUUM_DAO_GOV_EVM_TYPES, CONTINUUM_DAO_INCREASE_AMOUNT_FALLBACK, CONTINUUM_DAO_INCREASE_UNLOCK_FALLBACK, CONTINUUM_DAO_LINEA_CATALOG_NETWORK, CONTINUUM_DAO_LINEA_CHAIN_ID, CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS, CONTINUUM_DAO_LINEA_GOVERNOR_LEGACY_ADDRESS, CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID, CONTINUUM_DAO_LIQUIDATE_FALLBACK, CONTINUUM_DAO_MARKETPLACE_API, CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, CONTINUUM_DAO_MERGE_FALLBACK, CONTINUUM_DAO_PROPOSE_FALLBACK, CONTINUUM_DAO_PROTOCOL_ID, CONTINUUM_DAO_SPLIT_FALLBACK, CONTINUUM_DAO_TRANSFER_FALLBACK, CONTINUUM_DAO_VOTE_FALLBACK, CONTINUUM_DAO_WITHDRAW_FALLBACK, CTM_FEE_RATE_SCALE, CTM_TOKEN_ADDRESS, CTM_TOKEN_DECIMALS, CTM_TOKEN_NAME, CTM_TOKEN_SYMBOL, type ComposeDraftRow, type ComposeEncodedAction, type ComposeFunctionMatch, type ComposeParamCheck, type ContinuumDaoCommonArgs, type ContinuumDaoComposeProposalActionArgs, type ContinuumDaoComposeProposalActionResult, type ContinuumDaoDefaultAsset, type ContinuumDaoDeployment, type ContinuumDaoExplainProposalResult, type ContinuumDaoFetchProposalVotesInput, type ContinuumDaoFetchProposalVotesResult, type ContinuumDaoGovConfiguration, type ContinuumDaoLiveProposalsResult, type ContinuumDaoNodeInfo, type ContinuumDaoNodeInfoTuple, type ContinuumDaoProposalCatalog, type ContinuumDaoProposalVotesDeps, type ContinuumDaoRegisterProposalPayload, type ContinuumDaoSimulateProposalResult, type ExplainedAction, type ExplainedOption, FEE_TIER_NAMES, FORUM_GOVERNANCE_SECTIONS, FORUM_IDEA_SECTION, FORUM_LOGIN_DELIVERY_KIND, FOUNDRY_PROPOSAL_REQUIRED_SERVERS, type FeeAlternativeCandidate, type FeeAlternativeExample, type FeeAlternativePayment, type FeeAlternativeQuote, type FoldedMarketplaceBook, type ForumGovernanceSection, type ForumSignInEligible, type FoundryGovBatch, type FoundryGovLeg, type FoundryProposalScriptFile, type FoundryProposalSimulatePlan, GOVERNOR_STATE, GOVERNOR_STATE_LABELS, type GovActionInput, type GovOptionInput, INCREASE_UNLOCK_TIME_SIGNATURE, type LiveProposalBucket, type LiveProposalRow, MARKETPLACE_APPROVE_FALLBACK, MARKETPLACE_AUCTION_CREATE_FALLBACK, MARKETPLACE_BID_FALLBACK, MARKETPLACE_FULFILL_FALLBACK, MARKETPLACE_LISTING_FALLBACK, MARKETPLACE_OFFERING_FALLBACK, MARKETPLACE_SETTLE_FALLBACK, MARKETPLACE_USDC_LINEA_ADDRESS, MARKETPLACE_WETH_LINEA_ADDRESS, MARKET_ORDER_STATUS, MAXTIME_SECONDS, MULTISIGN_AGENT_WALLET_LINEA_ADDRESS, type MarketplaceAction, type MarketplaceActivity, type MarketplaceAuction, type MarketplaceAuctionStatus, type MarketplaceAuctionTuple, type MarketplaceBid, type MarketplaceCatalogSource, type MarketplaceConfig, type MarketplaceFeePreview, type MarketplaceFeeTier, type MarketplaceFoldEvent, type MarketplaceIndexCache, type MarketplaceListResult, type MarketplaceOrder, type MarketplaceOrderKind, type MarketplaceOrderStatus, type MarketplaceOrderTuple, type MarketplacePaymentToken, type MarketplacePlanInput, type MarketplacePlanSnapshot, type MarketplaceQuery, type MarketplaceSearchCandidate, type MarketplaceSearchHit, type MarketplaceSearchKind, type MarketplaceSearchQuery, type MarketplaceSearchResult, type MarketplaceSearchSort, type MarketplaceTokenPayload, PROPOSAL_TYPE_LABELS, PROPOSAL_TYPE_TO_FORUM_SECTION, type PlannedMarketplaceStep, type ProposalActionSimResult, type ProposalBatchSimResult, type ProposalCatalogAction, type ProposalCatalogAuth, type ProposalCatalogBuild, type ProposalCatalogDocument, type ProposalVoteLogLike, type ProposalVoteRow, type ResolvedGovernorProposalRef, type SimulatedGovBatch, type SimulatedGovLeg, VECTM_DEFAULT_MINIMUM_LOCK_WEI, VECTM_LIQ_MIN_LOCKED_WEI, VECTM_LIQ_PENALTY_DEN, VECTM_LIQ_PENALTY_NUM, VECTM_MAX_LOCK_WEEKS, VECTM_NODE_INFO_TUPLE, VECTM_TOKEN_NAME, VECTM_TOKEN_SYMBOL, VOTE_CAST_EVENT, VOTE_CAST_WITH_PARAMS_EVENT, VOTING_ESCROW_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_START_BLOCK, type VeCtmLockState, type VoterNodeAttachment, WEEK_SECONDS, addressInCommitteeList, applyDerivedStatuses, applyForumSectionCheck, applyMarketplaceEvent, applyNodeAttachments, assertContinuumDaoForumDeleteInput, assertContinuumDaoForumMarkReadInput, assertContinuumDaoForumRecentInput, assertContinuumDaoForumSearchInput, assertContinuumDaoForumTopicKey, assertContinuumDaoProposalSimulation, assertCreateLockAmount, assertCtmAmountAtLeastMinimum, assertDelegatee, assertExecutorOwnsLock, assertIncreaseAmount, assertIncreaseUnlockTime, assertLiquidate, assertLockDurationSeconds, assertMerge, assertProposalCatalogConstants, assertSplitExtracted, assertTransfer, assertUndelegateNotAlreadySelf, assertWithdraw, auctionCandidate, auctionStatusName, bravoSupportLabel, bucketGovernorState, buildBravoProposalArgs, buildDeltaProposalArgs, buildEvmMultisignBodyContinuumDaoAttachVeCtm, buildEvmMultisignBodyContinuumDaoAttachVeCtmFromMcp, buildEvmMultisignBodyContinuumDaoCancel, buildEvmMultisignBodyContinuumDaoCastVoteBravo, buildEvmMultisignBodyContinuumDaoCastVoteBravoFromMcp, buildEvmMultisignBodyContinuumDaoCastVoteDelta, buildEvmMultisignBodyContinuumDaoCreateLock, buildEvmMultisignBodyContinuumDaoDelegate, buildEvmMultisignBodyContinuumDaoExecute, buildEvmMultisignBodyContinuumDaoForumSignIn, buildEvmMultisignBodyContinuumDaoIncreaseAmount, buildEvmMultisignBodyContinuumDaoIncreaseUnlockTime, buildEvmMultisignBodyContinuumDaoLiquidate, buildEvmMultisignBodyContinuumDaoMarketplaceAuctionBid, buildEvmMultisignBodyContinuumDaoMarketplaceCancelAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateListing, buildEvmMultisignBodyContinuumDaoMarketplaceCreateOffering, buildEvmMultisignBodyContinuumDaoMarketplaceDelist, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillListing, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillOffering, buildEvmMultisignBodyContinuumDaoMarketplaceRescind, buildEvmMultisignBodyContinuumDaoMarketplaceSettleAuction, buildEvmMultisignBodyContinuumDaoMerge, buildEvmMultisignBodyContinuumDaoProposeBravo, buildEvmMultisignBodyContinuumDaoProposeDelta, buildEvmMultisignBodyContinuumDaoProposeDeltaFromMcp, buildEvmMultisignBodyContinuumDaoRequestDetach, buildEvmMultisignBodyContinuumDaoSplit, buildEvmMultisignBodyContinuumDaoTransfer, buildEvmMultisignBodyContinuumDaoUndelegate, buildEvmMultisignBodyContinuumDaoWithdraw, buildFeeAlternativeSummary, buildFoundryProposalSimulatePlan, calculateMarketplaceFee, collectVotesFromLogs, computeLiquidationAmounts, continuumDaoComposeProposalAction, continuumDaoDeployment, continuumDaoExplainProposal, continuumDaoFetchDelegates, continuumDaoFetchLiveProposals, continuumDaoFetchProposal, continuumDaoFetchProposalCount, continuumDaoFetchProposalState, continuumDaoFetchProposalVoteEligibility, continuumDaoFetchProposalVotes, continuumDaoFetchProposals, continuumDaoFetchVotingPower, continuumDaoForumCreateIdea, continuumDaoForumCreateTopic, continuumDaoForumDelete, continuumDaoForumFetchPost, continuumDaoForumFetchThread, continuumDaoForumMarkRead, continuumDaoForumMarkUnread, continuumDaoForumMe, continuumDaoForumReact, continuumDaoForumRecent, continuumDaoForumReply, continuumDaoForumReplyCount, continuumDaoForumResolve, continuumDaoForumSearch, continuumDaoForumSections, continuumDaoForumSignInEligible, continuumDaoForumSignInNonce, continuumDaoForumSignOut, continuumDaoForumUnread, continuumDaoForumUrl, continuumDaoForumUserPostIds, continuumDaoHashProposal, continuumDaoMarketplaceProtocolModule, continuumDaoMpaFlag, continuumDaoMpaListing, continuumDaoMpaMailboxList, continuumDaoMpaMailboxOpen, continuumDaoMpaMailboxSend, continuumDaoMpaRetract, continuumDaoProtocolModule, continuumDaoRegisterProposal, continuumDaoSignatureText, continuumDaoSimulateProposal, continuumDaoTechnocoreBind, ctmTokenAddressOnEvmChain, decodeDeltaVoteParams, deriveAuctionStatus, emptyMarketplaceIndexCache, encodeContinuumDaoNodeInfo, encodeDeltaMetadata, encodeDeltaVoteParams, encodeGovActionCalldata, estimateBlockAtTimestamp, executableGovBatches, expectedForumSectionForProposalType, explainGovAction, explainProposalRecord, explorerBase, fetchContinuumDaoCommitteeAddresses, fetchContinuumDaoMarketplaceActivity, fetchContinuumDaoMarketplaceAuctions, fetchContinuumDaoMarketplaceConfig, fetchContinuumDaoMarketplaceFeePreview, fetchContinuumDaoMarketplaceListings, fetchContinuumDaoMarketplaceOfferings, fetchContinuumDaoMarketplaceToken, floorUnlockTimeSeconds, foldMarketplaceEvents, formatProposalSimulationFailure, foundryPlanHasSequentialExecute, foundryScriptContainsCall, getMarketplaceIndexMemoryCache, governorAddressOnEvmChain, governorWriteAbi, howVoted, isConfiguredAddress, isContinuumDaoCtmOnAssetsChain, isContinuumDaoLockChain, isContinuumDaoSupportedChainId, isContinuumDaoVeCtmOnAssetsChain, isCtmTokenSymbol, isForumIdeaSection, isGovNoOpAction, isLegacyContinuumDaoGovernor, isLineaHomeNetwork, isLiveAuctionStatus, isOpenOrder, isRemoteC3Action, isVotingEscrowContinuumName, keyGenOwnsVeCtm, listContinuumDaoDefaultAssets, listingCandidate, loadMarketplacePlanSnapshot, looksLikeProposalCatalogId, looksLikeUnixSeconds, marketplacePublicClient, marketplaceVeCtmReceivedBy, maxLockDurationSeconds, monthsOfFees, normalizeGovConfiguration, normalizeNodeInfo, orderStatusName, parseCommitteeAddressesFromConstitution, pickFeeAlternativeExample, planMarketplaceSteps, preflightAttachVeCtm, preflightCreateLock, preflightDelegate, preflightIncreaseAmount, preflightIncreaseUnlockTime, preflightLiquidate, preflightMerge, preflightRequestDetach, preflightSplit, preflightTransfer, preflightUndelegate, preflightWithdraw, proposalCatalogCanonical, proposalCatalogDocument, proposalDescriptionHash, publicClient, quoteContinuumDaoMarketplaceFeeAlternative, rankMarketplaceSearchHits, readCtmBalanceWei, readMarketplaceConfigFromChain, readMarketplaceFeePreviewFromChain, readMinimumLockWei, readVeCtmLockState, requireGovernor, resetContinuumDaoCommitteeCache, resolveAttachGroupId, resolveGovernorProposalRef, resolveProposalCatalogRange, scanMarketplaceLogs, searchContinuumDaoMarketplace, setMarketplaceIndexMemoryCache, stampLineaCatalogActions, summarizeLiveProposals, summarizeProposalVotes, throwIfProposalSimulationFailed, validateAbiParameter, votingEscrowAddressOnEvmChain, votingEscrowMarketplaceAddressOnEvmChain, votingPowerAboveUntil, votingPowerRefuse, votingPowerWarning };
5601
+ export { ATTACH_VECTM_SIGNATURE, AUCTION_STATUS, type AbiParam, BRAVO_SUPPORT_LABELS, CONTINUUM_DAO_APPROVE_FALLBACK, CONTINUUM_DAO_ATTACH_FALLBACK, CONTINUUM_DAO_CANCEL_FALLBACK, CONTINUUM_DAO_CREATE_LOCK_FALLBACK, CONTINUUM_DAO_DELEGATE_FALLBACK, CONTINUUM_DAO_DEPLOYMENTS, CONTINUUM_DAO_DETACH_FALLBACK, CONTINUUM_DAO_ETHEREUM_CHAIN_ID, CONTINUUM_DAO_EVM_TYPES, CONTINUUM_DAO_EXECUTE_FALLBACK, CONTINUUM_DAO_GOVERNANCE_API, CONTINUUM_DAO_GOV_EVM_TYPES, CONTINUUM_DAO_INCREASE_AMOUNT_FALLBACK, CONTINUUM_DAO_INCREASE_UNLOCK_FALLBACK, CONTINUUM_DAO_LINEA_CATALOG_NETWORK, CONTINUUM_DAO_LINEA_CHAIN_ID, CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS, CONTINUUM_DAO_LINEA_GOVERNOR_LEGACY_ADDRESS, CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID, CONTINUUM_DAO_LIQUIDATE_FALLBACK, CONTINUUM_DAO_MARKETPLACE_API, CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, CONTINUUM_DAO_MERGE_FALLBACK, CONTINUUM_DAO_PROPOSE_FALLBACK, CONTINUUM_DAO_PROTOCOL_ID, CONTINUUM_DAO_SPLIT_FALLBACK, CONTINUUM_DAO_TRANSFER_FALLBACK, CONTINUUM_DAO_VOTE_FALLBACK, CONTINUUM_DAO_WITHDRAW_FALLBACK, CTM_FEE_RATE_SCALE, CTM_TOKEN_ADDRESS, CTM_TOKEN_DECIMALS, CTM_TOKEN_NAME, CTM_TOKEN_SYMBOL, type ComposeDraftRow, type ComposeEncodedAction, type ComposeFunctionMatch, type ComposeParamCheck, type ContinuumDaoCommonArgs, type ContinuumDaoComposeProposalActionArgs, type ContinuumDaoComposeProposalActionResult, type ContinuumDaoDefaultAsset, type ContinuumDaoDeployment, type ContinuumDaoExplainProposalResult, type ContinuumDaoFetchProposalVotesInput, type ContinuumDaoFetchProposalVotesResult, type ContinuumDaoGovConfiguration, type ContinuumDaoLiveProposalsResult, type ContinuumDaoMcpPurposeAction, type ContinuumDaoNodeInfo, type ContinuumDaoNodeInfoTuple, type ContinuumDaoProposalCatalog, type ContinuumDaoProposalVotesDeps, type ContinuumDaoRegisterProposalPayload, type ContinuumDaoSimulateProposalResult, type ExplainedAction, type ExplainedOption, FEE_TIER_NAMES, FORUM_GOVERNANCE_SECTIONS, FORUM_IDEA_SECTION, FORUM_LOGIN_DELIVERY_KIND, FOUNDRY_PROPOSAL_REQUIRED_SERVERS, type FeeAlternativeCandidate, type FeeAlternativeExample, type FeeAlternativePayment, type FeeAlternativeQuote, type FoldedMarketplaceBook, type ForumGovernanceSection, type ForumSignInEligible, type FoundryGovBatch, type FoundryGovLeg, type FoundryProposalScriptFile, type FoundryProposalSimulatePlan, GOVERNOR_STATE, GOVERNOR_STATE_LABELS, type GovActionInput, type GovOptionInput, INCREASE_UNLOCK_TIME_SIGNATURE, type LiveProposalBucket, type LiveProposalRow, MARKETPLACE_APPROVE_FALLBACK, MARKETPLACE_AUCTION_CREATE_FALLBACK, MARKETPLACE_BID_FALLBACK, MARKETPLACE_FULFILL_FALLBACK, MARKETPLACE_LISTING_FALLBACK, MARKETPLACE_OFFERING_FALLBACK, MARKETPLACE_SETTLE_FALLBACK, MARKETPLACE_USDC_LINEA_ADDRESS, MARKETPLACE_WETH_LINEA_ADDRESS, MARKET_ORDER_STATUS, MAXTIME_SECONDS, MULTISIGN_AGENT_WALLET_LINEA_ADDRESS, type MarketplaceAction, type MarketplaceActivity, type MarketplaceAuction, type MarketplaceAuctionStatus, type MarketplaceAuctionTuple, type MarketplaceBid, type MarketplaceCatalogSource, type MarketplaceConfig, type MarketplaceFeePreview, type MarketplaceFeeTier, type MarketplaceFoldEvent, type MarketplaceIndexCache, type MarketplaceListResult, type MarketplaceOrder, type MarketplaceOrderKind, type MarketplaceOrderStatus, type MarketplaceOrderTuple, type MarketplacePaymentToken, type MarketplacePlanInput, type MarketplacePlanSnapshot, type MarketplaceQuery, type MarketplaceSearchCandidate, type MarketplaceSearchHit, type MarketplaceSearchKind, type MarketplaceSearchQuery, type MarketplaceSearchResult, type MarketplaceSearchSort, type MarketplaceTokenPayload, PROPOSAL_TYPE_LABELS, PROPOSAL_TYPE_TO_FORUM_SECTION, type PlannedMarketplaceStep, type ProposalActionSimResult, type ProposalBatchSimResult, type ProposalCatalogAction, type ProposalCatalogAuth, type ProposalCatalogBuild, type ProposalCatalogDocument, type ProposalVoteLogLike, type ProposalVoteRow, type ResolvedGovernorProposalRef, type SimulatedGovBatch, type SimulatedGovLeg, VECTM_DEFAULT_MINIMUM_LOCK_WEI, VECTM_LIQ_MIN_LOCKED_WEI, VECTM_LIQ_PENALTY_DEN, VECTM_LIQ_PENALTY_NUM, VECTM_MAX_LOCK_WEEKS, VECTM_NODE_INFO_TUPLE, VECTM_TOKEN_NAME, VECTM_TOKEN_SYMBOL, VOTE_CAST_EVENT, VOTE_CAST_WITH_PARAMS_EVENT, VOTING_ESCROW_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_START_BLOCK, type VeCtmLockState, type VoterNodeAttachment, WEEK_SECONDS, addressInCommitteeList, applyDerivedStatuses, applyForumSectionCheck, applyMarketplaceEvent, applyNodeAttachments, assertContinuumDaoForumDeleteInput, assertContinuumDaoForumMarkReadInput, assertContinuumDaoForumRecentInput, assertContinuumDaoForumSearchInput, assertContinuumDaoForumTopicKey, assertContinuumDaoProposalSimulation, assertCreateLockAmount, assertCtmAmountAtLeastMinimum, assertDelegatee, assertExecutorOwnsLock, assertIncreaseAmount, assertIncreaseUnlockTime, assertLiquidate, assertLockDurationSeconds, assertMerge, assertProposalCatalogConstants, assertSplitExtracted, assertTransfer, assertUndelegateNotAlreadySelf, assertWithdraw, auctionCandidate, auctionStatusName, bravoSupportLabel, bucketGovernorState, buildBravoProposalArgs, buildContinuumDaoMcpPurpose, buildDeltaProposalArgs, buildEvmMultisignBodyContinuumDaoAttachVeCtm, buildEvmMultisignBodyContinuumDaoAttachVeCtmFromMcp, buildEvmMultisignBodyContinuumDaoCancel, buildEvmMultisignBodyContinuumDaoCastVoteBravo, buildEvmMultisignBodyContinuumDaoCastVoteBravoFromMcp, buildEvmMultisignBodyContinuumDaoCastVoteDelta, buildEvmMultisignBodyContinuumDaoCreateLock, buildEvmMultisignBodyContinuumDaoDelegate, buildEvmMultisignBodyContinuumDaoExecute, buildEvmMultisignBodyContinuumDaoForumSignIn, buildEvmMultisignBodyContinuumDaoIncreaseAmount, buildEvmMultisignBodyContinuumDaoIncreaseUnlockTime, buildEvmMultisignBodyContinuumDaoLiquidate, buildEvmMultisignBodyContinuumDaoMarketplaceAuctionBid, buildEvmMultisignBodyContinuumDaoMarketplaceCancelAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateListing, buildEvmMultisignBodyContinuumDaoMarketplaceCreateOffering, buildEvmMultisignBodyContinuumDaoMarketplaceDelist, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillListing, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillOffering, buildEvmMultisignBodyContinuumDaoMarketplaceRescind, buildEvmMultisignBodyContinuumDaoMarketplaceSettleAuction, buildEvmMultisignBodyContinuumDaoMerge, buildEvmMultisignBodyContinuumDaoProposeBravo, buildEvmMultisignBodyContinuumDaoProposeDelta, buildEvmMultisignBodyContinuumDaoProposeDeltaFromMcp, buildEvmMultisignBodyContinuumDaoRequestDetach, buildEvmMultisignBodyContinuumDaoSplit, buildEvmMultisignBodyContinuumDaoTransfer, buildEvmMultisignBodyContinuumDaoUndelegate, buildEvmMultisignBodyContinuumDaoWithdraw, buildFeeAlternativeSummary, buildFoundryProposalSimulatePlan, calculateMarketplaceFee, collectVotesFromLogs, computeLiquidationAmounts, continuumDaoComposeProposalAction, continuumDaoDeployment, continuumDaoExplainProposal, continuumDaoFetchDelegates, continuumDaoFetchLiveProposals, continuumDaoFetchProposal, continuumDaoFetchProposalCount, continuumDaoFetchProposalState, continuumDaoFetchProposalVoteEligibility, continuumDaoFetchProposalVotes, continuumDaoFetchProposals, continuumDaoFetchVotingPower, continuumDaoForumCreateIdea, continuumDaoForumCreateTopic, continuumDaoForumDelete, continuumDaoForumFetchPost, continuumDaoForumFetchThread, continuumDaoForumMarkRead, continuumDaoForumMarkUnread, continuumDaoForumMe, continuumDaoForumReact, continuumDaoForumRecent, continuumDaoForumReply, continuumDaoForumReplyCount, continuumDaoForumResolve, continuumDaoForumSearch, continuumDaoForumSections, continuumDaoForumSignInEligible, continuumDaoForumSignInNonce, continuumDaoForumSignOut, continuumDaoForumUnread, continuumDaoForumUrl, continuumDaoForumUserPostIds, continuumDaoHashProposal, continuumDaoMarketplaceProtocolModule, continuumDaoMpaFlag, continuumDaoMpaListing, continuumDaoMpaMailboxList, continuumDaoMpaMailboxOpen, continuumDaoMpaMailboxSend, continuumDaoMpaRetract, continuumDaoProtocolModule, continuumDaoRegisterProposal, continuumDaoSignatureText, continuumDaoSimulateProposal, continuumDaoTechnocoreBind, ctmTokenAddressOnEvmChain, decodeDeltaVoteParams, deriveAuctionStatus, emptyMarketplaceIndexCache, encodeContinuumDaoNodeInfo, encodeDeltaMetadata, encodeDeltaVoteParams, encodeGovActionCalldata, estimateBlockAtTimestamp, executableGovBatches, expectedForumSectionForProposalType, explainGovAction, explainProposalRecord, explorerBase, fetchContinuumDaoCommitteeAddresses, fetchContinuumDaoMarketplaceActivity, fetchContinuumDaoMarketplaceAuctions, fetchContinuumDaoMarketplaceConfig, fetchContinuumDaoMarketplaceFeePreview, fetchContinuumDaoMarketplaceListings, fetchContinuumDaoMarketplaceOfferings, fetchContinuumDaoMarketplaceToken, floorUnlockTimeSeconds, foldMarketplaceEvents, formatProposalSimulationFailure, foundryPlanHasSequentialExecute, foundryScriptContainsCall, getMarketplaceIndexMemoryCache, governorAddressOnEvmChain, governorWriteAbi, howVoted, isConfiguredAddress, isContinuumDaoCtmOnAssetsChain, isContinuumDaoLockChain, isContinuumDaoSupportedChainId, isContinuumDaoVeCtmOnAssetsChain, isCtmTokenSymbol, isForumIdeaSection, isGovNoOpAction, isLegacyContinuumDaoGovernor, isLineaHomeNetwork, isLiveAuctionStatus, isOpenOrder, isRemoteC3Action, isVotingEscrowContinuumName, keyGenOwnsVeCtm, listContinuumDaoDefaultAssets, listingCandidate, loadMarketplacePlanSnapshot, looksLikeProposalCatalogId, looksLikeUnixSeconds, marketplacePublicClient, marketplaceVeCtmReceivedBy, maxLockDurationSeconds, monthsOfFees, normalizeGovConfiguration, normalizeNodeInfo, orderStatusName, parseCommitteeAddressesFromConstitution, pickFeeAlternativeExample, planMarketplaceSteps, preflightAttachVeCtm, preflightCreateLock, preflightDelegate, preflightIncreaseAmount, preflightIncreaseUnlockTime, preflightLiquidate, preflightMerge, preflightRequestDetach, preflightSplit, preflightTransfer, preflightUndelegate, preflightWithdraw, preprocessContinuumDaoPurpose, proposalCatalogCanonical, proposalCatalogDocument, proposalDescriptionHash, publicClient, quoteContinuumDaoMarketplaceFeeAlternative, rankMarketplaceSearchHits, readCtmBalanceWei, readMarketplaceConfigFromChain, readMarketplaceFeePreviewFromChain, readMinimumLockWei, readVeCtmLockState, requireGovernor, resetContinuumDaoCommitteeCache, resolveAttachGroupId, resolveGovernorProposalRef, resolveProposalCatalogRange, scanMarketplaceLogs, searchContinuumDaoMarketplace, setMarketplaceIndexMemoryCache, stampLineaCatalogActions, summarizeLiveProposals, summarizeProposalVotes, throwIfProposalSimulationFailed, validateAbiParameter, votingEscrowAddressOnEvmChain, votingEscrowMarketplaceAddressOnEvmChain, votingPowerAboveUntil, votingPowerRefuse, votingPowerWarning };
@@ -189,10 +189,10 @@ function docsBaseUrl() {
189
189
  return raw.replace(/\/+$/, "");
190
190
  }
191
191
  function parseCommitteeAddressesFromConstitution(markdown) {
192
- const text = String(markdown || "");
193
- const start = text.search(/^### Committee List\s*$/m);
192
+ const text2 = String(markdown || "");
193
+ const start = text2.search(/^### Committee List\s*$/m);
194
194
  if (start < 0) return [];
195
- const lines = text.slice(start).split("\n");
195
+ const lines = text2.slice(start).split("\n");
196
196
  const addresses = [];
197
197
  for (let i = 1; i < lines.length; i += 1) {
198
198
  const line = lines[i] ?? "";
@@ -350,11 +350,11 @@ var init_defiEvmClient = __esm({
350
350
  // src/core/purpose.ts
351
351
  function mergePurposeText(purposeText, purposeSuffix) {
352
352
  const t = (purposeText ?? "").trim();
353
- const suffix = (purposeSuffix ?? "").trim();
354
- if (!suffix) return t;
353
+ const suffix2 = (purposeSuffix ?? "").trim();
354
+ if (!suffix2) return t;
355
355
  return t ? `${t}
356
356
 
357
- ${suffix}` : suffix;
357
+ ${suffix2}` : suffix2;
358
358
  }
359
359
  var init_purpose = __esm({
360
360
  "src/core/purpose.ts"() {
@@ -928,8 +928,8 @@ async function continuumDaoForumUnread(args) {
928
928
  if (args.filter?.trim()) qs2.set("filter", args.filter.trim());
929
929
  if (args.start != null) qs2.set("start", String(args.start));
930
930
  if (args.limit != null) qs2.set("limit", String(args.limit));
931
- const suffix = qs2.toString() ? `?${qs2}` : "";
932
- return forumFetch(`/api/continuum/forum/unread${suffix}`, {
931
+ const suffix2 = qs2.toString() ? `?${qs2}` : "";
932
+ return forumFetch(`/api/continuum/forum/unread${suffix2}`, {
933
933
  forumUrl: args.forumUrl,
934
934
  ticket: args.ticket
935
935
  });
@@ -1452,8 +1452,8 @@ function buildFoundryProposalSimulatePlan(args) {
1452
1452
  )
1453
1453
  });
1454
1454
  args.batches.forEach((batch, bi) => {
1455
- const suffix = batch.label != null ? solIdent(batch.label, `Option${(batch.optionIndex ?? bi) + 1}`) : "Bravo";
1456
- const contractName = `ContinuumDaoSimulateExecute${suffix}`;
1455
+ const suffix2 = batch.label != null ? solIdent(batch.label, `Option${(batch.optionIndex ?? bi) + 1}`) : "Bravo";
1456
+ const contractName = `ContinuumDaoSimulateExecute${suffix2}`;
1457
1457
  const path = `script/${contractName}.s.sol`;
1458
1458
  const body = [
1459
1459
  " function run() external {",
@@ -2689,7 +2689,7 @@ async function continuumDaoRegisterProposal(payload) {
2689
2689
  headers: { "Content-Type": "application/json" },
2690
2690
  body
2691
2691
  });
2692
- const text = await res.text();
2692
+ const text2 = await res.text();
2693
2693
  if (res.status === 409) {
2694
2694
  const repair = await fetch(`${CONTINUUM_DAO_GOVERNANCE_API}/proposals/repair`, {
2695
2695
  method: "POST",
@@ -2700,8 +2700,8 @@ async function continuumDaoRegisterProposal(payload) {
2700
2700
  if (!repair.ok) throw new Error(`proposals/repair: ${repair.status} ${repairText}`);
2701
2701
  return { ok: true, result: JSON.parse(repairText) };
2702
2702
  }
2703
- if (!res.ok) throw new Error(`proposals/create: ${res.status} ${text}`);
2704
- return { ok: true, result: JSON.parse(text) };
2703
+ if (!res.ok) throw new Error(`proposals/create: ${res.status} ${text2}`);
2704
+ return { ok: true, result: JSON.parse(text2) };
2705
2705
  }
2706
2706
  var CONTINUUM_DAO_PROPOSE_FALLBACK, CONTINUUM_DAO_VOTE_FALLBACK, CONTINUUM_DAO_EXECUTE_FALLBACK, CONTINUUM_DAO_CANCEL_FALLBACK, CONTINUUM_DAO_GOV_EVM_TYPES, governorWriteAbi, governorReadAbi, FORUM_SECTION_TO_PROPOSAL_TYPE, GOVERNOR_STATE, GOVERNOR_STATE_LABELS;
2707
2707
  var init_governance = __esm({
@@ -5297,10 +5297,20 @@ function foldMarketplaceEvents(events, initial) {
5297
5297
  for (const ev of events) applyMarketplaceEvent(book, ev);
5298
5298
  return book;
5299
5299
  }
5300
+ function auctionDeadlineUnix(auction) {
5301
+ const unix = Number(auction.deadlineUnix);
5302
+ if (Number.isFinite(unix) && unix > 0) return unix;
5303
+ if (auction.deadlineAt) {
5304
+ const ms = Date.parse(auction.deadlineAt);
5305
+ if (Number.isFinite(ms) && ms > 0) return Math.floor(ms / 1e3);
5306
+ }
5307
+ return unix;
5308
+ }
5300
5309
  function deriveAuctionStatus(auction, nowUnix) {
5301
- const deadline = Number(auction.deadlineUnix);
5310
+ const deadline = auctionDeadlineUnix(auction);
5302
5311
  if (auction.storedStatus === "Pending" && Number.isFinite(deadline) && nowUnix >= deadline) return "Expired";
5303
5312
  if (auction.storedStatus === "Active" && Number.isFinite(deadline) && nowUnix >= deadline) return "Complete";
5313
+ if (auction.storedStatus === "Pending") return "Active";
5304
5314
  return auction.derivedStatus || auction.storedStatus;
5305
5315
  }
5306
5316
  function applyDerivedStatuses(book, nowUnix) {
@@ -5410,7 +5420,11 @@ function keyGenOwnsVeCtm(snap, seller) {
5410
5420
  return false;
5411
5421
  }
5412
5422
  function assertNotOwn(snap, seller, tokenId) {
5413
- if (same2(snap.owner, snap.executor) || seller && same2(seller, snap.executor) || snap.executorLiveAuction) {
5423
+ const listedByKeyGen = seller != null && same2(seller, snap.executor) || snap.listing != null && snap.listing.status === 1 && same2(snap.listing.creator, snap.executor);
5424
+ if (listedByKeyGen && !snap.executorLiveAuction) {
5425
+ throw new Error(`This KeyGen listed veCTM #${tokenId.toString()}. Delist it instead of buying it.`);
5426
+ }
5427
+ if (same2(snap.owner, snap.executor) || snap.executorLiveAuction) {
5414
5428
  throw new Error(`This KeyGen already owns veCTM #${tokenId.toString()} and cannot buy or bid on it.`);
5415
5429
  }
5416
5430
  }
@@ -5482,6 +5496,7 @@ function planMarketplaceSteps(input, snap) {
5482
5496
  const m = snap.marketplace;
5483
5497
  switch (input.action) {
5484
5498
  case "createListing": {
5499
+ assertNotAttached(snap, input.tokenId);
5485
5500
  assertPayment(snap);
5486
5501
  assertDeadline(snap, input.deadline);
5487
5502
  if (!same2(snap.owner, snap.executor)) throw new Error("Only the veCTM owner can create a listing.");
@@ -5508,7 +5523,9 @@ function planMarketplaceSteps(input, snap) {
5508
5523
  ]);
5509
5524
  }
5510
5525
  case "delist": {
5511
- if (!snap.listing || snap.listing.status !== 1) throw new Error("No open listing for this KeyGen.");
5526
+ const listing = snap.listing;
5527
+ const openForKeyGen = listing != null && listing.status === 1 && same2(listing.creator, snap.executor);
5528
+ if (!openForKeyGen) throw new Error("No open listing for this KeyGen.");
5512
5529
  return [
5513
5530
  {
5514
5531
  to: m,
@@ -5553,6 +5570,7 @@ function planMarketplaceSteps(input, snap) {
5553
5570
  ]);
5554
5571
  }
5555
5572
  case "createOffering": {
5573
+ assertNotAttached(snap, input.tokenId);
5556
5574
  assertNotOwn(snap, void 0, input.tokenId);
5557
5575
  assertPayment(snap);
5558
5576
  assertDeadline(snap, input.deadline);
@@ -6243,8 +6261,8 @@ async function getJson(url) {
6243
6261
  try {
6244
6262
  const res = await fetch(url);
6245
6263
  if (!res.ok) {
6246
- const text = await res.text().catch(() => "");
6247
- return { ok: false, status: res.status, error: new Error(`${url}: ${res.status} ${text}`.trim()) };
6264
+ const text2 = await res.text().catch(() => "");
6265
+ return { ok: false, status: res.status, error: new Error(`${url}: ${res.status} ${text2}`.trim()) };
6248
6266
  }
6249
6267
  return { ok: true, body: await res.json() };
6250
6268
  } catch (err) {
@@ -6284,6 +6302,37 @@ function matchAuction(row, args, includeInactive) {
6284
6302
  if (args.seller && row.seller.toLowerCase() !== args.seller.toLowerCase()) return false;
6285
6303
  return true;
6286
6304
  }
6305
+ function presentAddress(value) {
6306
+ const text2 = (value ?? "").trim();
6307
+ if (!text2 || /^0x0+$/i.test(text2)) return "";
6308
+ return text2;
6309
+ }
6310
+ function sameAddress(a, b) {
6311
+ const left = (a ?? "").trim();
6312
+ const right = (b ?? "").trim();
6313
+ return Boolean(left && right && left.toLowerCase() === right.toLowerCase());
6314
+ }
6315
+ function annotateListingViewer(items, viewer) {
6316
+ const who = presentAddress(viewer);
6317
+ if (!who) return items;
6318
+ return items.map((row) => {
6319
+ const seller = presentAddress(row.seller) || presentAddress(row.creator) || presentAddress(row.currentOwner);
6320
+ const closed = row.storedStatus === "Fulfilled" || row.storedStatus === "Delisted" || row.storedStatus === "DelistedOrRescinded";
6321
+ const open = !closed && (row.storedStatus === "Open" || row.protocolStatus === "Open");
6322
+ const mine = sameAddress(seller, who);
6323
+ return { ...row, viewerAction: mine && open ? "delist" : mine ? "none" : open ? "buy" : "none" };
6324
+ });
6325
+ }
6326
+ function presentAuction(row, nowUnix = Math.floor(Date.now() / 1e3)) {
6327
+ const derivedStatus = deriveAuctionStatus({ ...row, bids: row.bids ?? [] }, nowUnix);
6328
+ const closed = derivedStatus === "Complete" || derivedStatus === "Expired";
6329
+ return {
6330
+ ...row,
6331
+ bids: row.bids ?? [],
6332
+ derivedStatus,
6333
+ needsSettle: closed ? true : row.needsSettle
6334
+ };
6335
+ }
6287
6336
  function listFrom(items, source) {
6288
6337
  return { items, nextCursor: null, source };
6289
6338
  }
@@ -6313,11 +6362,18 @@ async function fetchContinuumDaoMarketplaceListings(args = {}) {
6313
6362
  const res = await getJson(url);
6314
6363
  if (res.ok) {
6315
6364
  const body = res.body;
6316
- return { items: body.items ?? [], nextCursor: body.nextCursor ?? null, source: "api" };
6365
+ return {
6366
+ items: annotateListingViewer(body.items ?? [], args.viewer),
6367
+ nextCursor: body.nextCursor ?? null,
6368
+ source: "api"
6369
+ };
6317
6370
  }
6318
6371
  if (args.cursor || !isOffline(res.status)) throw res.error;
6319
6372
  const book = await logsBook(args);
6320
- return listFrom(book.listings.filter((row) => matchOrder(row, args, includeInactive)), "logs");
6373
+ return listFrom(
6374
+ annotateListingViewer(book.listings.filter((row) => matchOrder(row, args, includeInactive)), args.viewer),
6375
+ "logs"
6376
+ );
6321
6377
  }
6322
6378
  async function fetchContinuumDaoMarketplaceOfferings(args = {}) {
6323
6379
  const includeInactive = Boolean(args.includeInactive);
@@ -6354,20 +6410,30 @@ async function fetchContinuumDaoMarketplaceAuctions(args = {}) {
6354
6410
  if (res.ok) {
6355
6411
  const body = res.body;
6356
6412
  return {
6357
- items: (body.items ?? []).map((row) => ({ ...row, bids: row.bids ?? [] })),
6413
+ items: (body.items ?? []).map((row) => presentAuction(row)).filter((row) => includeInactive || isLiveAuctionStatus(row.derivedStatus)),
6358
6414
  nextCursor: body.nextCursor ?? null,
6359
6415
  source: "api"
6360
6416
  };
6361
6417
  }
6362
6418
  if (args.cursor || !isOffline(res.status)) throw res.error;
6363
6419
  const book = await logsBook(args);
6364
- return listFrom(book.auctions.filter((row) => matchAuction(row, args, includeInactive)), "logs");
6420
+ return listFrom(book.auctions.filter((row) => matchAuction(row, args, includeInactive)).map((row) => presentAuction(row)), "logs");
6365
6421
  }
6366
6422
  async function fetchContinuumDaoMarketplaceToken(args) {
6367
6423
  const url = `${apiBase(args)}/marketplace/tokens/${encodeURIComponent(args.tokenId)}${qs({ viewer: args.viewer })}`;
6368
6424
  const res = await getJson(url);
6369
6425
  if (res.ok && res.body && typeof res.body === "object") {
6370
- return { ...res.body, source: "api" };
6426
+ const body = res.body;
6427
+ return {
6428
+ ...body,
6429
+ auction: body.auction ? presentAuction(body.auction) : null,
6430
+ history: {
6431
+ listings: body.history?.listings ?? [],
6432
+ offerings: body.history?.offerings ?? [],
6433
+ auctions: (body.history?.auctions ?? []).map((row) => presentAuction(row))
6434
+ },
6435
+ source: "api"
6436
+ };
6371
6437
  }
6372
6438
  if (!res.ok && !isOffline(res.status)) throw res.error;
6373
6439
  const book = await logsBook(args);
@@ -6378,11 +6444,14 @@ async function fetchContinuumDaoMarketplaceToken(args) {
6378
6444
  token: { tokenId: args.tokenId },
6379
6445
  listing: listings.find((row) => isOpenOrder(row)) ?? null,
6380
6446
  offerings: offerings.filter((row) => isOpenOrder(row)),
6381
- auction: auctions.find((row) => isLiveAuctionStatus(row.derivedStatus)) ?? null,
6447
+ auction: (() => {
6448
+ const live = auctions.find((row) => isLiveAuctionStatus(row.derivedStatus));
6449
+ return live ? presentAuction(live) : null;
6450
+ })(),
6382
6451
  history: {
6383
6452
  listings: listings.filter((row) => !isOpenOrder(row)),
6384
6453
  offerings: offerings.filter((row) => !isOpenOrder(row)),
6385
- auctions: auctions.filter((row) => !isLiveAuctionStatus(row.derivedStatus))
6454
+ auctions: auctions.filter((row) => !isLiveAuctionStatus(row.derivedStatus)).map((row) => presentAuction(row))
6386
6455
  },
6387
6456
  source: "logs"
6388
6457
  };
@@ -6409,7 +6478,7 @@ async function fetchContinuumDaoMarketplaceActivity(args) {
6409
6478
  return {
6410
6479
  address: args.address,
6411
6480
  orders: body.orders ?? [],
6412
- auctions: (body.auctions ?? []).map((row) => ({ ...row, bids: row.bids ?? [] })),
6481
+ auctions: (body.auctions ?? []).map((row) => presentAuction(row)),
6413
6482
  source: "api"
6414
6483
  };
6415
6484
  }
@@ -6422,7 +6491,7 @@ async function fetchContinuumDaoMarketplaceActivity(args) {
6422
6491
  const auctions = book.auctions.filter((row) => {
6423
6492
  return row.seller.toLowerCase() === address || (row.buyer ?? "").toLowerCase() === address || (row.highestBidder ?? "").toLowerCase() === address || row.bids.some((bid) => bid.bidder.toLowerCase() === address);
6424
6493
  });
6425
- return { address: args.address, orders, auctions, source: "logs" };
6494
+ return { address: args.address, orders, auctions: auctions.map((row) => presentAuction(row)), source: "logs" };
6426
6495
  }
6427
6496
 
6428
6497
  // src/protocols/evm/continuum-dao/marketplaceSearch.ts
@@ -6494,6 +6563,13 @@ function positive(value) {
6494
6563
  const trimmed = (value ?? "").trim();
6495
6564
  return trimmed && trimmed !== "0" ? trimmed : "";
6496
6565
  }
6566
+ function party(...values) {
6567
+ for (const value of values) {
6568
+ const text2 = (value ?? "").trim();
6569
+ if (text2 && !/^0x0+$/i.test(text2)) return text2;
6570
+ }
6571
+ return "";
6572
+ }
6497
6573
  function unlockUnixFrom(row) {
6498
6574
  const iso2 = positive(row.unlockTimeAt);
6499
6575
  if (iso2) {
@@ -6513,7 +6589,7 @@ function listingCandidate(row) {
6513
6589
  kind: "listing",
6514
6590
  tokenId: row.tokenId,
6515
6591
  onchainIndex: row.onchainIndex,
6516
- seller: row.seller ?? row.creator,
6592
+ seller: party(row.seller, row.creator, row.currentOwner),
6517
6593
  paymentToken: row.paymentToken,
6518
6594
  price: asBig(row.price),
6519
6595
  priceBasis: "ask",
@@ -6571,7 +6647,7 @@ function rankMarketplaceSearchHits(rows, query, nowUnix = Math.floor(Date.now()
6571
6647
  const excludeOwned = query.excludeOwned !== false && Boolean(executor);
6572
6648
  let matched = rows.filter((row) => {
6573
6649
  if (query.paymentToken && !same3(row.paymentToken, query.paymentToken)) return false;
6574
- if (excludeOwned && same3(row.seller, executor)) return false;
6650
+ if (excludeOwned && row.kind !== "listing" && same3(row.seller, executor)) return false;
6575
6651
  if (minLocked != null && row.locked < minLocked) return false;
6576
6652
  if (maxLocked != null && row.locked > maxLocked) return false;
6577
6653
  if (unlockAfter != null && row.unlockUnix < unlockAfter) return false;
@@ -6579,6 +6655,10 @@ function rankMarketplaceSearchHits(rows, query, nowUnix = Math.floor(Date.now()
6579
6655
  if (monthCap != null && (row.unlockUnix <= nowUnix || row.unlockUnix > monthCap)) return false;
6580
6656
  return true;
6581
6657
  });
6658
+ matched = matched.map((row) => {
6659
+ const ownListing = Boolean(executor && row.kind === "listing" && same3(row.seller, executor));
6660
+ return ownListing ? { ...row, fillable: false } : row;
6661
+ });
6582
6662
  const priceSort = sort === "price" || sort === "pricePerLockedCtm";
6583
6663
  if (priceSort && !query.paymentToken) {
6584
6664
  const tokens = new Set(matched.map((row) => row.paymentToken.toLowerCase()));
@@ -6603,9 +6683,16 @@ function rankMarketplaceSearchHits(rows, query, nowUnix = Math.floor(Date.now()
6603
6683
  return a.tokenId.localeCompare(b.tokenId);
6604
6684
  });
6605
6685
  const limit = Math.min(MAX_LIMIT, Math.max(1, query.limit ?? DEFAULT_LIMIT));
6606
- return matched.slice(0, limit).map((row) => toHit(row, nowUnix));
6686
+ return matched.slice(0, limit).map((row) => {
6687
+ const ownListing = Boolean(executor && row.kind === "listing" && same3(row.seller, executor));
6688
+ return toHit(
6689
+ ownListing ? { ...row, fillable: false } : row,
6690
+ nowUnix,
6691
+ ownListing ? "delist" : row.kind === "auction" ? "bid" : "buy"
6692
+ );
6693
+ });
6607
6694
  }
6608
- function toHit(row, nowUnix) {
6695
+ function toHit(row, nowUnix, action) {
6609
6696
  const meta4 = paymentMeta(row.paymentToken);
6610
6697
  const perCtm = row.locked > 0n ? row.price * 10n ** 18n / row.locked : 0n;
6611
6698
  const months = row.unlockUnix > nowUnix ? ((row.unlockUnix - nowUnix) / MONTH_SECONDS).toFixed(1) : row.unlockUnix > 0 ? "0" : "";
@@ -6626,7 +6713,8 @@ function toHit(row, nowUnix) {
6626
6713
  pricePerLockedCtm: row.locked > 0n ? humanAmount(perCtm, meta4.decimals) : "",
6627
6714
  deadlineAt: row.deadlineUnix > 0 ? new Date(row.deadlineUnix * 1e3).toISOString() : "",
6628
6715
  attached: row.attached,
6629
- fillable: row.fillable
6716
+ fillable: row.fillable,
6717
+ action
6630
6718
  };
6631
6719
  }
6632
6720
  async function fillMissingLocks(rows, rpcUrl, chainId) {
@@ -7167,6 +7255,172 @@ function marketplaceVeCtmReceivedBy(detail, executor) {
7167
7255
  return null;
7168
7256
  }
7169
7257
 
7258
+ // src/protocols/evm/continuum-dao/purpose.ts
7259
+ init_constants();
7260
+ function chainParts(chainId) {
7261
+ const n = typeof chainId === "number" ? chainId : Number.parseInt(String(chainId ?? "").trim(), 10);
7262
+ const id = Number.isFinite(n) ? n : 0;
7263
+ if (id === CONTINUUM_DAO_LINEA_CHAIN_ID) return { name: "Linea Mainnet", id };
7264
+ if (id === CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID) return { name: "Linea Sepolia", id };
7265
+ if (id === CONTINUUM_DAO_ETHEREUM_CHAIN_ID) return { name: "Ethereum Mainnet", id };
7266
+ return { name: "chain", id };
7267
+ }
7268
+ function suffix(chainId) {
7269
+ const { name, id } = chainParts(chainId);
7270
+ return `on ${name} (chainId ${id})`;
7271
+ }
7272
+ function text(value) {
7273
+ return String(value ?? "").trim();
7274
+ }
7275
+ function tokenLabel(value) {
7276
+ const id = text(value);
7277
+ return id ? `#${id}` : "#\u2026";
7278
+ }
7279
+ function shortAddr(value) {
7280
+ const trimmed = text(value);
7281
+ if (!trimmed) return "\u2026";
7282
+ try {
7283
+ if (!isAddress(trimmed)) return trimmed;
7284
+ const addr2 = getAddress(trimmed);
7285
+ return `${addr2.slice(0, 6)}\u2026${addr2.slice(-4)}`;
7286
+ } catch {
7287
+ return trimmed;
7288
+ }
7289
+ }
7290
+ function weeksLabel(seconds) {
7291
+ const n = Number(text(seconds));
7292
+ if (!Number.isFinite(n) || n <= 0) return "\u2026 weeks";
7293
+ const weeks = Math.max(1, Math.round(n / WEEK_SECONDS));
7294
+ return `${weeks} week${weeks === 1 ? "" : "s"}`;
7295
+ }
7296
+ function paymentMeta3(address) {
7297
+ const lower = text(address).toLowerCase();
7298
+ if (lower === MARKETPLACE_USDC_LINEA_ADDRESS.toLowerCase()) return { symbol: "USDC", decimals: 6 };
7299
+ if (lower === MARKETPLACE_WETH_LINEA_ADDRESS.toLowerCase()) return { symbol: "WETH", decimals: 18 };
7300
+ if (lower === CTM_TOKEN_ADDRESS.toLowerCase()) return { symbol: "CTM", decimals: 18 };
7301
+ return { symbol: "token", decimals: 18 };
7302
+ }
7303
+ function moneyFromWei(wei, paymentToken) {
7304
+ const raw = text(wei);
7305
+ if (!raw) return "\u2026 token";
7306
+ try {
7307
+ const meta4 = paymentMeta3(paymentToken);
7308
+ const human2 = formatUnits(BigInt(raw), meta4.decimals).replace(/(\.\d*?[1-9])0+$/, "$1").replace(/\.0+$/, "");
7309
+ return `${human2} ${meta4.symbol}`;
7310
+ } catch {
7311
+ return raw;
7312
+ }
7313
+ }
7314
+ function deadlineLabel(value) {
7315
+ const n = Number(text(value));
7316
+ if (!Number.isFinite(n) || n <= 0) return "\u2026";
7317
+ const date = new Date(n * 1e3);
7318
+ if (Number.isNaN(date.getTime())) return "\u2026";
7319
+ return `${date.toISOString().slice(0, 16).replace("T", " ")} UTC`;
7320
+ }
7321
+ function bravoLabel(support) {
7322
+ const raw = text(support).toLowerCase();
7323
+ if (raw === "0" || raw === "against") return "Against";
7324
+ if (raw === "1" || raw === "for") return "For";
7325
+ if (raw === "2" || raw === "abstain") return "Abstain";
7326
+ return null;
7327
+ }
7328
+ function proposalLabel(input) {
7329
+ const title = text(input.title || input.proposalTitle);
7330
+ if (title) return title;
7331
+ const id = text(input.proposalId);
7332
+ return id ? `proposal ${id}` : "proposal";
7333
+ }
7334
+ function buildContinuumDaoMcpPurpose(action, input) {
7335
+ const end = suffix(input.chainId);
7336
+ const id = tokenLabel(input.tokenId);
7337
+ switch (action) {
7338
+ case "createLock":
7339
+ return `ContinuumDAO: create lock ${text(input.amountHuman) || "\u2026"} CTM for ${weeksLabel(input.lockDurationSeconds)} ${end}`;
7340
+ case "increaseAmount":
7341
+ return `ContinuumDAO: increase lock ${id} by ${text(input.amountHuman) || "\u2026"} CTM ${end}`;
7342
+ case "increaseUnlockTime":
7343
+ return `ContinuumDAO: extend lock ${id} by ${weeksLabel(input.lockDurationSeconds)} ${end}`;
7344
+ case "split":
7345
+ return `ContinuumDAO: split lock ${id}, extract ${text(input.extractedHuman) || "\u2026"} CTM ${end}`;
7346
+ case "merge": {
7347
+ const from = tokenLabel(input.fromTokenId);
7348
+ const into = text(input.toTokenId);
7349
+ return into ? `ContinuumDAO: merge lock ${from} into #${into} ${end}` : `ContinuumDAO: merge lock ${from} into \u2026 ${end}`;
7350
+ }
7351
+ case "withdraw":
7352
+ return `ContinuumDAO: withdraw expired lock ${id} ${end}`;
7353
+ case "liquidate":
7354
+ return `ContinuumDAO: liquidate lock ${id} ${end}`;
7355
+ case "delegate":
7356
+ return text(input.delegatee) ? `ContinuumDAO: delegate voting power to ${shortAddr(input.delegatee)} ${end}` : `ContinuumDAO: delegate voting power ${end}`;
7357
+ case "undelegate":
7358
+ return `ContinuumDAO: undelegate (return voting power to this KeyGen) ${end}`;
7359
+ case "transfer":
7360
+ return text(input.to) ? `ContinuumDAO: transfer veCTM ${id} to ${shortAddr(input.to)} ${end}` : `ContinuumDAO: transfer veCTM ${id} ${end}`;
7361
+ case "attach":
7362
+ return text(input.tokenId) ? `ContinuumDAO: attach veCTM ${id} to this node ${end}` : `ContinuumDAO: attach veCTM to this node ${end}`;
7363
+ case "requestDetach":
7364
+ return `ContinuumDAO: request detach veCTM ${id} ${end}`;
7365
+ case "proposeBravo": {
7366
+ const title = text(input.title);
7367
+ return title ? `ContinuumDAO: propose "${title}" (Bravo) ${end}` : `ContinuumDAO: propose governance proposal (Bravo) ${end}`;
7368
+ }
7369
+ case "proposeDelta": {
7370
+ const title = text(input.title);
7371
+ return title ? `ContinuumDAO: propose "${title}" (Delta) ${end}` : `ContinuumDAO: propose governance proposal (Delta) ${end}`;
7372
+ }
7373
+ case "castVoteBravo": {
7374
+ const label = proposalLabel(input);
7375
+ const support = bravoLabel(input.support);
7376
+ return support ? `ContinuumDAO: vote ${support} on "${label}" ${end}` : `ContinuumDAO: vote on "${label}" ${end}`;
7377
+ }
7378
+ case "castVoteDelta":
7379
+ return `ContinuumDAO: vote on "${proposalLabel(input)}" (Delta) ${end}`;
7380
+ case "execute":
7381
+ return `ContinuumDAO: execute "${proposalLabel(input)}" ${end}`;
7382
+ case "cancel":
7383
+ return `ContinuumDAO: cancel "${proposalLabel(input)}" ${end}`;
7384
+ case "forumSignIn": {
7385
+ const who = text(input.username);
7386
+ return who ? `ContinuumDAO: sign in to the forum as ${who} ${end}` : `ContinuumDAO: sign in to the forum ${end}`;
7387
+ }
7388
+ case "marketplaceCreateListing":
7389
+ return `ContinuumDAO: list veCTM ${id} for ${moneyFromWei(input.askWei, input.paymentToken)} until ${deadlineLabel(input.deadline)} ${end}`;
7390
+ case "marketplaceDelist":
7391
+ return `ContinuumDAO: delist veCTM ${id} ${end}`;
7392
+ case "marketplaceFulfillListing":
7393
+ return `ContinuumDAO: buy veCTM ${id} for ${moneyFromWei(input.priceWei, input.paymentToken)} ${end}`;
7394
+ case "marketplaceCreateOffering":
7395
+ return `ContinuumDAO: offer ${moneyFromWei(input.bidWei, input.paymentToken)} for veCTM ${id} until ${deadlineLabel(input.deadline)} ${end}`;
7396
+ case "marketplaceRescind":
7397
+ return `ContinuumDAO: rescind offer on veCTM ${id} ${end}`;
7398
+ case "marketplaceFulfillOffering":
7399
+ return `ContinuumDAO: accept offer of ${moneyFromWei(input.priceWei, input.paymentToken)} on veCTM ${id} ${end}`;
7400
+ case "marketplaceCreateAuction":
7401
+ return `ContinuumDAO: auction veCTM ${id} reserve ${moneyFromWei(input.reserveWei, input.paymentToken)}, minimum increment ${moneyFromWei(input.minIncrementWei, input.paymentToken)}, until ${deadlineLabel(input.deadline)} ${end}`;
7402
+ case "marketplaceCancelAuction":
7403
+ return `ContinuumDAO: cancel auction for veCTM ${id} ${end}`;
7404
+ case "marketplaceAuctionBid":
7405
+ return `ContinuumDAO: bid ${moneyFromWei(input.priceWei, input.paymentToken)} on veCTM ${id} ${end}`;
7406
+ case "marketplaceSettleAuction":
7407
+ return `ContinuumDAO: settle auction for veCTM ${id} ${end}`;
7408
+ default:
7409
+ return `ContinuumDAO: ${end}`;
7410
+ }
7411
+ }
7412
+ function preprocessContinuumDaoPurpose(action, raw) {
7413
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return raw;
7414
+ const o = { ...raw };
7415
+ const supplied = text(o.purposeText ?? o.purpose);
7416
+ if (supplied) {
7417
+ o.purposeText = supplied;
7418
+ return o;
7419
+ }
7420
+ o.purposeText = buildContinuumDaoMcpPurpose(action, o);
7421
+ return o;
7422
+ }
7423
+
7170
7424
  // src/protocols/evm/continuum-dao/index.ts
7171
7425
  registerProtocolModule(continuumDaoMarketplaceProtocolModule);
7172
7426
  var continuumDaoProtocolModule = {
@@ -7220,6 +7474,6 @@ var continuumDaoProtocolModule = {
7220
7474
  };
7221
7475
  registerProtocolModule(continuumDaoProtocolModule);
7222
7476
 
7223
- export { ATTACH_VECTM_SIGNATURE, AUCTION_STATUS, BRAVO_SUPPORT_LABELS, CONTINUUM_DAO_APPROVE_FALLBACK, CONTINUUM_DAO_ATTACH_FALLBACK, CONTINUUM_DAO_CANCEL_FALLBACK, CONTINUUM_DAO_CREATE_LOCK_FALLBACK, CONTINUUM_DAO_DELEGATE_FALLBACK, CONTINUUM_DAO_DEPLOYMENTS, CONTINUUM_DAO_DETACH_FALLBACK, CONTINUUM_DAO_ETHEREUM_CHAIN_ID, CONTINUUM_DAO_EVM_TYPES, CONTINUUM_DAO_EXECUTE_FALLBACK, CONTINUUM_DAO_GOVERNANCE_API, CONTINUUM_DAO_GOV_EVM_TYPES, CONTINUUM_DAO_INCREASE_AMOUNT_FALLBACK, CONTINUUM_DAO_INCREASE_UNLOCK_FALLBACK, CONTINUUM_DAO_LINEA_CATALOG_NETWORK, CONTINUUM_DAO_LINEA_CHAIN_ID, CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS, CONTINUUM_DAO_LINEA_GOVERNOR_LEGACY_ADDRESS, CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID, CONTINUUM_DAO_LIQUIDATE_FALLBACK, CONTINUUM_DAO_MARKETPLACE_API, CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, CONTINUUM_DAO_MERGE_FALLBACK, CONTINUUM_DAO_PROPOSE_FALLBACK, CONTINUUM_DAO_PROTOCOL_ID, CONTINUUM_DAO_SPLIT_FALLBACK, CONTINUUM_DAO_TRANSFER_FALLBACK, CONTINUUM_DAO_VOTE_FALLBACK, CONTINUUM_DAO_WITHDRAW_FALLBACK, CTM_FEE_RATE_SCALE, CTM_TOKEN_ADDRESS, CTM_TOKEN_DECIMALS, CTM_TOKEN_NAME, CTM_TOKEN_SYMBOL, FEE_TIER_NAMES, FORUM_GOVERNANCE_SECTIONS, FORUM_IDEA_SECTION, FORUM_LOGIN_DELIVERY_KIND, FOUNDRY_PROPOSAL_REQUIRED_SERVERS, GOVERNOR_STATE, GOVERNOR_STATE_LABELS, INCREASE_UNLOCK_TIME_SIGNATURE, MARKETPLACE_APPROVE_FALLBACK, MARKETPLACE_AUCTION_CREATE_FALLBACK, MARKETPLACE_BID_FALLBACK, MARKETPLACE_FULFILL_FALLBACK, MARKETPLACE_LISTING_FALLBACK, MARKETPLACE_OFFERING_FALLBACK, MARKETPLACE_SETTLE_FALLBACK, MARKETPLACE_USDC_LINEA_ADDRESS, MARKETPLACE_WETH_LINEA_ADDRESS, MARKET_ORDER_STATUS, MAXTIME_SECONDS, MULTISIGN_AGENT_WALLET_LINEA_ADDRESS, PROPOSAL_TYPE_LABELS, PROPOSAL_TYPE_TO_FORUM_SECTION, VECTM_DEFAULT_MINIMUM_LOCK_WEI, VECTM_LIQ_MIN_LOCKED_WEI, VECTM_LIQ_PENALTY_DEN, VECTM_LIQ_PENALTY_NUM, VECTM_MAX_LOCK_WEEKS, VECTM_NODE_INFO_TUPLE, VECTM_TOKEN_NAME, VECTM_TOKEN_SYMBOL, VOTE_CAST_EVENT, VOTE_CAST_WITH_PARAMS_EVENT, VOTING_ESCROW_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_START_BLOCK, WEEK_SECONDS, addressInCommitteeList, applyDerivedStatuses, applyForumSectionCheck, applyMarketplaceEvent, applyNodeAttachments, assertContinuumDaoForumDeleteInput, assertContinuumDaoForumMarkReadInput, assertContinuumDaoForumRecentInput, assertContinuumDaoForumSearchInput, assertContinuumDaoForumTopicKey, assertContinuumDaoProposalSimulation, assertCreateLockAmount, assertCtmAmountAtLeastMinimum, assertDelegatee, assertExecutorOwnsLock, assertIncreaseAmount, assertIncreaseUnlockTime, assertLiquidate, assertLockDurationSeconds, assertMerge, assertProposalCatalogConstants, assertSplitExtracted, assertTransfer, assertUndelegateNotAlreadySelf, assertWithdraw, auctionCandidate, auctionStatusName, bravoSupportLabel, bucketGovernorState, buildBravoProposalArgs, buildDeltaProposalArgs, buildEvmMultisignBodyContinuumDaoAttachVeCtm, buildEvmMultisignBodyContinuumDaoAttachVeCtmFromMcp, buildEvmMultisignBodyContinuumDaoCancel, buildEvmMultisignBodyContinuumDaoCastVoteBravo, buildEvmMultisignBodyContinuumDaoCastVoteBravoFromMcp, buildEvmMultisignBodyContinuumDaoCastVoteDelta, buildEvmMultisignBodyContinuumDaoCreateLock, buildEvmMultisignBodyContinuumDaoDelegate, buildEvmMultisignBodyContinuumDaoExecute, buildEvmMultisignBodyContinuumDaoForumSignIn, buildEvmMultisignBodyContinuumDaoIncreaseAmount, buildEvmMultisignBodyContinuumDaoIncreaseUnlockTime, buildEvmMultisignBodyContinuumDaoLiquidate, buildEvmMultisignBodyContinuumDaoMarketplaceAuctionBid, buildEvmMultisignBodyContinuumDaoMarketplaceCancelAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateListing, buildEvmMultisignBodyContinuumDaoMarketplaceCreateOffering, buildEvmMultisignBodyContinuumDaoMarketplaceDelist, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillListing, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillOffering, buildEvmMultisignBodyContinuumDaoMarketplaceRescind, buildEvmMultisignBodyContinuumDaoMarketplaceSettleAuction, buildEvmMultisignBodyContinuumDaoMerge, buildEvmMultisignBodyContinuumDaoProposeBravo, buildEvmMultisignBodyContinuumDaoProposeDelta, buildEvmMultisignBodyContinuumDaoProposeDeltaFromMcp, buildEvmMultisignBodyContinuumDaoRequestDetach, buildEvmMultisignBodyContinuumDaoSplit, buildEvmMultisignBodyContinuumDaoTransfer, buildEvmMultisignBodyContinuumDaoUndelegate, buildEvmMultisignBodyContinuumDaoWithdraw, buildFeeAlternativeSummary, buildFoundryProposalSimulatePlan, calculateMarketplaceFee, collectVotesFromLogs, computeLiquidationAmounts, continuumDaoComposeProposalAction, continuumDaoDeployment, continuumDaoExplainProposal, continuumDaoFetchDelegates, continuumDaoFetchLiveProposals, continuumDaoFetchProposal, continuumDaoFetchProposalCount, continuumDaoFetchProposalState, continuumDaoFetchProposalVoteEligibility, continuumDaoFetchProposalVotes, continuumDaoFetchProposals, continuumDaoFetchVotingPower, continuumDaoForumCreateIdea, continuumDaoForumCreateTopic, continuumDaoForumDelete, continuumDaoForumFetchPost, continuumDaoForumFetchThread, continuumDaoForumMarkRead, continuumDaoForumMarkUnread, continuumDaoForumMe, continuumDaoForumReact, continuumDaoForumRecent, continuumDaoForumReply, continuumDaoForumReplyCount, continuumDaoForumResolve, continuumDaoForumSearch, continuumDaoForumSections, continuumDaoForumSignInEligible, continuumDaoForumSignInNonce, continuumDaoForumSignOut, continuumDaoForumUnread, continuumDaoForumUrl, continuumDaoForumUserPostIds, continuumDaoHashProposal, continuumDaoMarketplaceProtocolModule, continuumDaoMpaFlag, continuumDaoMpaListing, continuumDaoMpaMailboxList, continuumDaoMpaMailboxOpen, continuumDaoMpaMailboxSend, continuumDaoMpaRetract, continuumDaoProtocolModule, continuumDaoRegisterProposal, continuumDaoSignatureText, continuumDaoSimulateProposal, continuumDaoTechnocoreBind, ctmTokenAddressOnEvmChain, decodeDeltaVoteParams, deriveAuctionStatus, emptyMarketplaceIndexCache, encodeContinuumDaoNodeInfo, encodeDeltaMetadata, encodeDeltaVoteParams, encodeGovActionCalldata, estimateBlockAtTimestamp, executableGovBatches, expectedForumSectionForProposalType, explainGovAction, explainProposalRecord, explorerBase, fetchContinuumDaoCommitteeAddresses, fetchContinuumDaoMarketplaceActivity, fetchContinuumDaoMarketplaceAuctions, fetchContinuumDaoMarketplaceConfig, fetchContinuumDaoMarketplaceFeePreview, fetchContinuumDaoMarketplaceListings, fetchContinuumDaoMarketplaceOfferings, fetchContinuumDaoMarketplaceToken, floorUnlockTimeSeconds, foldMarketplaceEvents, formatProposalSimulationFailure, foundryPlanHasSequentialExecute, foundryScriptContainsCall, getMarketplaceIndexMemoryCache, governorAddressOnEvmChain, governorWriteAbi, howVoted, isConfiguredAddress, isContinuumDaoCtmOnAssetsChain, isContinuumDaoLockChain, isContinuumDaoSupportedChainId, isContinuumDaoVeCtmOnAssetsChain, isCtmTokenSymbol, isForumIdeaSection, isGovNoOpAction, isLegacyContinuumDaoGovernor, isLineaHomeNetwork, isLiveAuctionStatus, isOpenOrder, isRemoteC3Action, isVotingEscrowContinuumName, keyGenOwnsVeCtm, listContinuumDaoDefaultAssets, listingCandidate, loadMarketplacePlanSnapshot, looksLikeProposalCatalogId, looksLikeUnixSeconds, marketplacePublicClient, marketplaceVeCtmReceivedBy, maxLockDurationSeconds, monthsOfFees, normalizeGovConfiguration, normalizeNodeInfo, orderStatusName, parseCommitteeAddressesFromConstitution, pickFeeAlternativeExample, planMarketplaceSteps, preflightAttachVeCtm, preflightCreateLock, preflightDelegate, preflightIncreaseAmount, preflightIncreaseUnlockTime, preflightLiquidate, preflightMerge, preflightRequestDetach, preflightSplit, preflightTransfer, preflightUndelegate, preflightWithdraw, proposalCatalogCanonical, proposalCatalogDocument, proposalDescriptionHash, publicClient2 as publicClient, quoteContinuumDaoMarketplaceFeeAlternative, rankMarketplaceSearchHits, readCtmBalanceWei, readMarketplaceConfigFromChain, readMarketplaceFeePreviewFromChain, readMinimumLockWei, readVeCtmLockState, requireGovernor, resetContinuumDaoCommitteeCache, resolveAttachGroupId, resolveGovernorProposalRef, resolveProposalCatalogRange, scanMarketplaceLogs, searchContinuumDaoMarketplace, setMarketplaceIndexMemoryCache, stampLineaCatalogActions, summarizeLiveProposals, summarizeProposalVotes, throwIfProposalSimulationFailed, validateAbiParameter, votingEscrowAddressOnEvmChain, votingEscrowMarketplaceAddressOnEvmChain, votingPowerAboveUntil, votingPowerRefuse, votingPowerWarning };
7477
+ export { ATTACH_VECTM_SIGNATURE, AUCTION_STATUS, BRAVO_SUPPORT_LABELS, CONTINUUM_DAO_APPROVE_FALLBACK, CONTINUUM_DAO_ATTACH_FALLBACK, CONTINUUM_DAO_CANCEL_FALLBACK, CONTINUUM_DAO_CREATE_LOCK_FALLBACK, CONTINUUM_DAO_DELEGATE_FALLBACK, CONTINUUM_DAO_DEPLOYMENTS, CONTINUUM_DAO_DETACH_FALLBACK, CONTINUUM_DAO_ETHEREUM_CHAIN_ID, CONTINUUM_DAO_EVM_TYPES, CONTINUUM_DAO_EXECUTE_FALLBACK, CONTINUUM_DAO_GOVERNANCE_API, CONTINUUM_DAO_GOV_EVM_TYPES, CONTINUUM_DAO_INCREASE_AMOUNT_FALLBACK, CONTINUUM_DAO_INCREASE_UNLOCK_FALLBACK, CONTINUUM_DAO_LINEA_CATALOG_NETWORK, CONTINUUM_DAO_LINEA_CHAIN_ID, CONTINUUM_DAO_LINEA_GOVERNOR_ADDRESS, CONTINUUM_DAO_LINEA_GOVERNOR_LEGACY_ADDRESS, CONTINUUM_DAO_LINEA_SEPOLIA_CHAIN_ID, CONTINUUM_DAO_LIQUIDATE_FALLBACK, CONTINUUM_DAO_MARKETPLACE_API, CONTINUUM_DAO_MARKETPLACE_PROTOCOL_ID, CONTINUUM_DAO_MERGE_FALLBACK, CONTINUUM_DAO_PROPOSE_FALLBACK, CONTINUUM_DAO_PROTOCOL_ID, CONTINUUM_DAO_SPLIT_FALLBACK, CONTINUUM_DAO_TRANSFER_FALLBACK, CONTINUUM_DAO_VOTE_FALLBACK, CONTINUUM_DAO_WITHDRAW_FALLBACK, CTM_FEE_RATE_SCALE, CTM_TOKEN_ADDRESS, CTM_TOKEN_DECIMALS, CTM_TOKEN_NAME, CTM_TOKEN_SYMBOL, FEE_TIER_NAMES, FORUM_GOVERNANCE_SECTIONS, FORUM_IDEA_SECTION, FORUM_LOGIN_DELIVERY_KIND, FOUNDRY_PROPOSAL_REQUIRED_SERVERS, GOVERNOR_STATE, GOVERNOR_STATE_LABELS, INCREASE_UNLOCK_TIME_SIGNATURE, MARKETPLACE_APPROVE_FALLBACK, MARKETPLACE_AUCTION_CREATE_FALLBACK, MARKETPLACE_BID_FALLBACK, MARKETPLACE_FULFILL_FALLBACK, MARKETPLACE_LISTING_FALLBACK, MARKETPLACE_OFFERING_FALLBACK, MARKETPLACE_SETTLE_FALLBACK, MARKETPLACE_USDC_LINEA_ADDRESS, MARKETPLACE_WETH_LINEA_ADDRESS, MARKET_ORDER_STATUS, MAXTIME_SECONDS, MULTISIGN_AGENT_WALLET_LINEA_ADDRESS, PROPOSAL_TYPE_LABELS, PROPOSAL_TYPE_TO_FORUM_SECTION, VECTM_DEFAULT_MINIMUM_LOCK_WEI, VECTM_LIQ_MIN_LOCKED_WEI, VECTM_LIQ_PENALTY_DEN, VECTM_LIQ_PENALTY_NUM, VECTM_MAX_LOCK_WEEKS, VECTM_NODE_INFO_TUPLE, VECTM_TOKEN_NAME, VECTM_TOKEN_SYMBOL, VOTE_CAST_EVENT, VOTE_CAST_WITH_PARAMS_EVENT, VOTING_ESCROW_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_LINEA_ADDRESS, VOTING_ESCROW_MARKETPLACE_START_BLOCK, WEEK_SECONDS, addressInCommitteeList, applyDerivedStatuses, applyForumSectionCheck, applyMarketplaceEvent, applyNodeAttachments, assertContinuumDaoForumDeleteInput, assertContinuumDaoForumMarkReadInput, assertContinuumDaoForumRecentInput, assertContinuumDaoForumSearchInput, assertContinuumDaoForumTopicKey, assertContinuumDaoProposalSimulation, assertCreateLockAmount, assertCtmAmountAtLeastMinimum, assertDelegatee, assertExecutorOwnsLock, assertIncreaseAmount, assertIncreaseUnlockTime, assertLiquidate, assertLockDurationSeconds, assertMerge, assertProposalCatalogConstants, assertSplitExtracted, assertTransfer, assertUndelegateNotAlreadySelf, assertWithdraw, auctionCandidate, auctionStatusName, bravoSupportLabel, bucketGovernorState, buildBravoProposalArgs, buildContinuumDaoMcpPurpose, buildDeltaProposalArgs, buildEvmMultisignBodyContinuumDaoAttachVeCtm, buildEvmMultisignBodyContinuumDaoAttachVeCtmFromMcp, buildEvmMultisignBodyContinuumDaoCancel, buildEvmMultisignBodyContinuumDaoCastVoteBravo, buildEvmMultisignBodyContinuumDaoCastVoteBravoFromMcp, buildEvmMultisignBodyContinuumDaoCastVoteDelta, buildEvmMultisignBodyContinuumDaoCreateLock, buildEvmMultisignBodyContinuumDaoDelegate, buildEvmMultisignBodyContinuumDaoExecute, buildEvmMultisignBodyContinuumDaoForumSignIn, buildEvmMultisignBodyContinuumDaoIncreaseAmount, buildEvmMultisignBodyContinuumDaoIncreaseUnlockTime, buildEvmMultisignBodyContinuumDaoLiquidate, buildEvmMultisignBodyContinuumDaoMarketplaceAuctionBid, buildEvmMultisignBodyContinuumDaoMarketplaceCancelAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateAuction, buildEvmMultisignBodyContinuumDaoMarketplaceCreateListing, buildEvmMultisignBodyContinuumDaoMarketplaceCreateOffering, buildEvmMultisignBodyContinuumDaoMarketplaceDelist, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillListing, buildEvmMultisignBodyContinuumDaoMarketplaceFulfillOffering, buildEvmMultisignBodyContinuumDaoMarketplaceRescind, buildEvmMultisignBodyContinuumDaoMarketplaceSettleAuction, buildEvmMultisignBodyContinuumDaoMerge, buildEvmMultisignBodyContinuumDaoProposeBravo, buildEvmMultisignBodyContinuumDaoProposeDelta, buildEvmMultisignBodyContinuumDaoProposeDeltaFromMcp, buildEvmMultisignBodyContinuumDaoRequestDetach, buildEvmMultisignBodyContinuumDaoSplit, buildEvmMultisignBodyContinuumDaoTransfer, buildEvmMultisignBodyContinuumDaoUndelegate, buildEvmMultisignBodyContinuumDaoWithdraw, buildFeeAlternativeSummary, buildFoundryProposalSimulatePlan, calculateMarketplaceFee, collectVotesFromLogs, computeLiquidationAmounts, continuumDaoComposeProposalAction, continuumDaoDeployment, continuumDaoExplainProposal, continuumDaoFetchDelegates, continuumDaoFetchLiveProposals, continuumDaoFetchProposal, continuumDaoFetchProposalCount, continuumDaoFetchProposalState, continuumDaoFetchProposalVoteEligibility, continuumDaoFetchProposalVotes, continuumDaoFetchProposals, continuumDaoFetchVotingPower, continuumDaoForumCreateIdea, continuumDaoForumCreateTopic, continuumDaoForumDelete, continuumDaoForumFetchPost, continuumDaoForumFetchThread, continuumDaoForumMarkRead, continuumDaoForumMarkUnread, continuumDaoForumMe, continuumDaoForumReact, continuumDaoForumRecent, continuumDaoForumReply, continuumDaoForumReplyCount, continuumDaoForumResolve, continuumDaoForumSearch, continuumDaoForumSections, continuumDaoForumSignInEligible, continuumDaoForumSignInNonce, continuumDaoForumSignOut, continuumDaoForumUnread, continuumDaoForumUrl, continuumDaoForumUserPostIds, continuumDaoHashProposal, continuumDaoMarketplaceProtocolModule, continuumDaoMpaFlag, continuumDaoMpaListing, continuumDaoMpaMailboxList, continuumDaoMpaMailboxOpen, continuumDaoMpaMailboxSend, continuumDaoMpaRetract, continuumDaoProtocolModule, continuumDaoRegisterProposal, continuumDaoSignatureText, continuumDaoSimulateProposal, continuumDaoTechnocoreBind, ctmTokenAddressOnEvmChain, decodeDeltaVoteParams, deriveAuctionStatus, emptyMarketplaceIndexCache, encodeContinuumDaoNodeInfo, encodeDeltaMetadata, encodeDeltaVoteParams, encodeGovActionCalldata, estimateBlockAtTimestamp, executableGovBatches, expectedForumSectionForProposalType, explainGovAction, explainProposalRecord, explorerBase, fetchContinuumDaoCommitteeAddresses, fetchContinuumDaoMarketplaceActivity, fetchContinuumDaoMarketplaceAuctions, fetchContinuumDaoMarketplaceConfig, fetchContinuumDaoMarketplaceFeePreview, fetchContinuumDaoMarketplaceListings, fetchContinuumDaoMarketplaceOfferings, fetchContinuumDaoMarketplaceToken, floorUnlockTimeSeconds, foldMarketplaceEvents, formatProposalSimulationFailure, foundryPlanHasSequentialExecute, foundryScriptContainsCall, getMarketplaceIndexMemoryCache, governorAddressOnEvmChain, governorWriteAbi, howVoted, isConfiguredAddress, isContinuumDaoCtmOnAssetsChain, isContinuumDaoLockChain, isContinuumDaoSupportedChainId, isContinuumDaoVeCtmOnAssetsChain, isCtmTokenSymbol, isForumIdeaSection, isGovNoOpAction, isLegacyContinuumDaoGovernor, isLineaHomeNetwork, isLiveAuctionStatus, isOpenOrder, isRemoteC3Action, isVotingEscrowContinuumName, keyGenOwnsVeCtm, listContinuumDaoDefaultAssets, listingCandidate, loadMarketplacePlanSnapshot, looksLikeProposalCatalogId, looksLikeUnixSeconds, marketplacePublicClient, marketplaceVeCtmReceivedBy, maxLockDurationSeconds, monthsOfFees, normalizeGovConfiguration, normalizeNodeInfo, orderStatusName, parseCommitteeAddressesFromConstitution, pickFeeAlternativeExample, planMarketplaceSteps, preflightAttachVeCtm, preflightCreateLock, preflightDelegate, preflightIncreaseAmount, preflightIncreaseUnlockTime, preflightLiquidate, preflightMerge, preflightRequestDetach, preflightSplit, preflightTransfer, preflightUndelegate, preflightWithdraw, preprocessContinuumDaoPurpose, proposalCatalogCanonical, proposalCatalogDocument, proposalDescriptionHash, publicClient2 as publicClient, quoteContinuumDaoMarketplaceFeeAlternative, rankMarketplaceSearchHits, readCtmBalanceWei, readMarketplaceConfigFromChain, readMarketplaceFeePreviewFromChain, readMinimumLockWei, readVeCtmLockState, requireGovernor, resetContinuumDaoCommitteeCache, resolveAttachGroupId, resolveGovernorProposalRef, resolveProposalCatalogRange, scanMarketplaceLogs, searchContinuumDaoMarketplace, setMarketplaceIndexMemoryCache, stampLineaCatalogActions, summarizeLiveProposals, summarizeProposalVotes, throwIfProposalSimulationFailed, validateAbiParameter, votingEscrowAddressOnEvmChain, votingEscrowMarketplaceAddressOnEvmChain, votingPowerAboveUntil, votingPowerRefuse, votingPowerWarning };
7224
7478
  //# sourceMappingURL=index.js.map
7225
7479
  //# sourceMappingURL=index.js.map