@clayno-club/asset-flow 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -485,6 +485,7 @@ declare const TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX = "::tradeport_listings::Reli
485
485
  declare const TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX = "::tradeport_orderbook::RemoveListingEvent";
486
486
  declare const TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX = "::tradeport_listings::CancelSimpleListingEvent";
487
487
  declare const TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX = "::tradeport_biddings::CreateSingleBidEvent";
488
+ declare const KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX = "::kiosk_biddings::MatchBidWithPurchaseCapEvent";
488
489
  declare const KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX = "::kiosk_biddings::MatchCollectionBidWithPurchaseCapEvent";
489
490
  declare const KIOSK_LIST_EVENT_SUFFIX = "::kiosk_listings::ListEvent";
490
491
  declare const KIOSK_UNLIST_EVENT_SUFFIX = "::kiosk_listings::UnlistEvent";
@@ -531,6 +532,7 @@ declare function normalizeAssetHistory(transactions: SuiTransactionBlockLike[],
531
532
  };
532
533
 
533
534
  declare const index_KIOSK_BIDDING_CLAIM_EVENT_SUFFIX: typeof KIOSK_BIDDING_CLAIM_EVENT_SUFFIX;
535
+ declare const index_KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX: typeof KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX;
534
536
  declare const index_KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX: typeof KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX;
535
537
  declare const index_KIOSK_CLAIM_EVENT_SUFFIX: typeof KIOSK_CLAIM_EVENT_SUFFIX;
536
538
  declare const index_KIOSK_LIST_EVENT_SUFFIX: typeof KIOSK_LIST_EVENT_SUFFIX;
@@ -584,7 +586,7 @@ declare const index_normalizeAssetHistory: typeof normalizeAssetHistory;
584
586
  declare const index_normalizeOwnerRef: typeof normalizeOwnerRef;
585
587
  declare const index_reconstructOwnershipPeriods: typeof reconstructOwnershipPeriods;
586
588
  declare namespace index {
587
- export { index_KIOSK_BIDDING_CLAIM_EVENT_SUFFIX as KIOSK_BIDDING_CLAIM_EVENT_SUFFIX, index_KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX as KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX, index_KIOSK_CLAIM_EVENT_SUFFIX as KIOSK_CLAIM_EVENT_SUFFIX, index_KIOSK_LIST_EVENT_SUFFIX as KIOSK_LIST_EVENT_SUFFIX, index_KIOSK_TRANSFER_EVENT_SUFFIX as KIOSK_TRANSFER_EVENT_SUFFIX, index_KIOSK_UNLIST_EVENT_SUFFIX as KIOSK_UNLIST_EVENT_SUFFIX, index_PERSONAL_KIOSK_CREATED_EVENT_SUFFIX as PERSONAL_KIOSK_CREATED_EVENT_SUFFIX, index_POPKINS_MINTED_EVENT_SUFFIX as POPKINS_MINTED_EVENT_SUFFIX, index_POPKINS_STAKED_EVENT_SUFFIX as POPKINS_STAKED_EVENT_SUFFIX, index_POPKINS_UNSTAKED_EVENT_SUFFIX as POPKINS_UNSTAKED_EVENT_SUFFIX, index_SUI_COIN_TYPE as SUI_COIN_TYPE, type index_SuiAssetFlowClassification as SuiAssetFlowClassification, type index_SuiAssetFlowFamily as SuiAssetFlowFamily, type index_SuiAssetOwnerChange as SuiAssetOwnerChange, type index_SuiAssetOwnerChangeDetails as SuiAssetOwnerChangeDetails, type index_SuiAssetOwnerRef as SuiAssetOwnerRef, type index_SuiAssetOwnerRefKind as SuiAssetOwnerRefKind, type index_SuiBalanceChangeLike as SuiBalanceChangeLike, type index_SuiEventLike as SuiEventLike, type index_SuiObjectChangeLike as SuiObjectChangeLike, type index_SuiObjectOwnerLike as SuiObjectOwnerLike, type index_SuiTransactionBlockLike as SuiTransactionBlockLike, index_TRADEPORT_ADD_LISTING_EVENT_SUFFIX as TRADEPORT_ADD_LISTING_EVENT_SUFFIX, index_TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX as TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX, index_TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX as TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX, index_TRADEPORT_CREATE_SIMPLE_LISTING_EVENT_SUFFIX as TRADEPORT_CREATE_SIMPLE_LISTING_EVENT_SUFFIX, index_TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX as TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX, index_TRADEPORT_KIOSK_BUY_EVENT_SUFFIX as TRADEPORT_KIOSK_BUY_EVENT_SUFFIX, index_TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX as TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX, index_TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX as TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX, index_TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX as TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX, normalizeAssetHistory as buildAssetHistory, extractAssetFlows as buildFlows, reconstructOwnershipPeriods as buildOwnershipPeriods, extractSuiValueMovements as buildValueMovements, classifySuiTransactionForAsset as classify, index_classifySuiTransactionForAsset as classifySuiTransactionForAsset, index_eventTouchesAsset as eventTouchesAsset, index_eventTypeMatches as eventTypeMatches, index_extractAssetFlows as extractAssetFlows, index_extractSuiValueMovements as extractSuiValueMovements, index_findFirstEvent as findFirstEvent, index_getAssetEvents as getAssetEvents, index_getAssetObjectChange as getAssetObjectChange, index_getAssetOwnerChange as getAssetOwnerChange, index_getAssetOwnerChangeDetails as getAssetOwnerChangeDetails, index_getEventTypes as getEventTypes, index_getKioskOwnerCapAddressOwnerChange as getKioskOwnerCapAddressOwnerChange, index_getMarket as getMarket, index_getPriceRaw as getPriceRaw, index_getRecordString as getRecordString, index_getRecordStringArray as getRecordStringArray, index_getString as getString, index_hasMeaningfulSuiSettlement as hasMeaningfulSuiSettlement, index_isRecord as isRecord, index_normalizeAssetHistory as normalizeAssetHistory, index_normalizeOwnerRef as normalizeOwnerRef, index_reconstructOwnershipPeriods as reconstructOwnershipPeriods };
589
+ export { index_KIOSK_BIDDING_CLAIM_EVENT_SUFFIX as KIOSK_BIDDING_CLAIM_EVENT_SUFFIX, index_KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX as KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX, index_KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX as KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX, index_KIOSK_CLAIM_EVENT_SUFFIX as KIOSK_CLAIM_EVENT_SUFFIX, index_KIOSK_LIST_EVENT_SUFFIX as KIOSK_LIST_EVENT_SUFFIX, index_KIOSK_TRANSFER_EVENT_SUFFIX as KIOSK_TRANSFER_EVENT_SUFFIX, index_KIOSK_UNLIST_EVENT_SUFFIX as KIOSK_UNLIST_EVENT_SUFFIX, index_PERSONAL_KIOSK_CREATED_EVENT_SUFFIX as PERSONAL_KIOSK_CREATED_EVENT_SUFFIX, index_POPKINS_MINTED_EVENT_SUFFIX as POPKINS_MINTED_EVENT_SUFFIX, index_POPKINS_STAKED_EVENT_SUFFIX as POPKINS_STAKED_EVENT_SUFFIX, index_POPKINS_UNSTAKED_EVENT_SUFFIX as POPKINS_UNSTAKED_EVENT_SUFFIX, index_SUI_COIN_TYPE as SUI_COIN_TYPE, type index_SuiAssetFlowClassification as SuiAssetFlowClassification, type index_SuiAssetFlowFamily as SuiAssetFlowFamily, type index_SuiAssetOwnerChange as SuiAssetOwnerChange, type index_SuiAssetOwnerChangeDetails as SuiAssetOwnerChangeDetails, type index_SuiAssetOwnerRef as SuiAssetOwnerRef, type index_SuiAssetOwnerRefKind as SuiAssetOwnerRefKind, type index_SuiBalanceChangeLike as SuiBalanceChangeLike, type index_SuiEventLike as SuiEventLike, type index_SuiObjectChangeLike as SuiObjectChangeLike, type index_SuiObjectOwnerLike as SuiObjectOwnerLike, type index_SuiTransactionBlockLike as SuiTransactionBlockLike, index_TRADEPORT_ADD_LISTING_EVENT_SUFFIX as TRADEPORT_ADD_LISTING_EVENT_SUFFIX, index_TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX as TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX, index_TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX as TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX, index_TRADEPORT_CREATE_SIMPLE_LISTING_EVENT_SUFFIX as TRADEPORT_CREATE_SIMPLE_LISTING_EVENT_SUFFIX, index_TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX as TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX, index_TRADEPORT_KIOSK_BUY_EVENT_SUFFIX as TRADEPORT_KIOSK_BUY_EVENT_SUFFIX, index_TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX as TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX, index_TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX as TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX, index_TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX as TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX, normalizeAssetHistory as buildAssetHistory, extractAssetFlows as buildFlows, reconstructOwnershipPeriods as buildOwnershipPeriods, extractSuiValueMovements as buildValueMovements, classifySuiTransactionForAsset as classify, index_classifySuiTransactionForAsset as classifySuiTransactionForAsset, index_eventTouchesAsset as eventTouchesAsset, index_eventTypeMatches as eventTypeMatches, index_extractAssetFlows as extractAssetFlows, index_extractSuiValueMovements as extractSuiValueMovements, index_findFirstEvent as findFirstEvent, index_getAssetEvents as getAssetEvents, index_getAssetObjectChange as getAssetObjectChange, index_getAssetOwnerChange as getAssetOwnerChange, index_getAssetOwnerChangeDetails as getAssetOwnerChangeDetails, index_getEventTypes as getEventTypes, index_getKioskOwnerCapAddressOwnerChange as getKioskOwnerCapAddressOwnerChange, index_getMarket as getMarket, index_getPriceRaw as getPriceRaw, index_getRecordString as getRecordString, index_getRecordStringArray as getRecordStringArray, index_getString as getString, index_hasMeaningfulSuiSettlement as hasMeaningfulSuiSettlement, index_isRecord as isRecord, index_normalizeAssetHistory as normalizeAssetHistory, index_normalizeOwnerRef as normalizeOwnerRef, index_reconstructOwnershipPeriods as reconstructOwnershipPeriods };
588
590
  }
589
591
 
590
- export { type AssetFlowClassificationExplanation, type AssetFlowClassificationMatcher, type AssetFlowCoverageCluster, type AssetFlowCoverageReviewCandidate, type AssetFlowCoverageScanResult, type AssetFlowDerivedType, type AssetFlowEffect, type AssetFlowFamily, type AssetFlowInterpreterConfidence, type AssetFlowMatcherExplanation, type AssetFlowMaterialization, type AssetFlowObservation, type AssetFlowTransactionFacts, type AssetFlowTxClassification, type AssetNftTouchKind, type AssetOwnershipKind, type AssetSettlementKind, type ExtractedMintFlow, type ExtractedValueMovement, type HeliusAccountData, type HeliusAccountDataTokenChange, type HeliusEnhancedAction, type HeliusEnhancedInstruction, type HeliusEnhancedTx, type HeliusNativeTransfer, type HeliusTokenTransfer, KIOSK_BIDDING_CLAIM_EVENT_SUFFIX, KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX, KIOSK_CLAIM_EVENT_SUFFIX, KIOSK_LIST_EVENT_SUFFIX, KIOSK_TRANSFER_EVENT_SUFFIX, KIOSK_UNLIST_EVENT_SUFFIX, type MintFlowProtocolEvent, type MintFlowProtocolEventFlow, type MintFlowProtocolEventKind, type NormalizedMintHistory, PERSIST_DERIVED_TYPES, PERSONAL_KIOSK_CREATED_EVENT_SUFFIX, POPKINS_MINTED_EVENT_SUFFIX, POPKINS_STAKED_EVENT_SUFFIX, POPKINS_UNSTAKED_EVENT_SUFFIX, type RawAssetFlowAccountKey, type RawAssetFlowInstruction, type RawAssetFlowTokenBalance, type RawAssetFlowTransaction, type ReconstructedOwnershipPeriod, type RegisteredAssetFlowClassificationMatcher, SUI_COIN_TYPE, type SuiAssetFlowClassification, type SuiAssetFlowFamily, type SuiAssetOwnerChange, type SuiAssetOwnerChangeDetails, type SuiAssetOwnerRef, type SuiAssetOwnerRefKind, type SuiBalanceChangeLike, type SuiEventLike, type SuiObjectChangeLike, type SuiObjectOwnerLike, type SuiTransactionBlockLike, TRADEPORT_ADD_LISTING_EVENT_SUFFIX, TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX, TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX, TRADEPORT_CREATE_SIMPLE_LISTING_EVENT_SUFFIX, TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX, TRADEPORT_KIOSK_BUY_EVENT_SUFFIX, TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX, TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX, TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX, applyRawOwnerOverridesToEnhanced, assetFlowMatchers, augmentEnhancedTransactionWithRaw, augmentEnhancedTransactionWithRaw as augmentWithRaw, extractMintFlows as buildFlows, normalizeMintHistory as buildMintHistory, reconstructOwnershipPeriods as buildOwnershipPeriods, buildTransactionFacts, extractValueMovements as buildValueMovements, classification, classifyEnhancedTransactionForMint as classify, classifyEnhancedTransactionForMint, classifySuiTransactionForAsset, clusterCoverageReviewCandidates, collectCoverageReviewCandidates, coreAndMarketplaceMatchers, eventTouchesAsset, eventTypeMatches, explainEnhancedTransactionForMint as explain, explainEnhancedTransactionForMint, extractAssetFlows, extractCandidateMintsFromEnhancedTx, extractCandidateMintsFromRawTransaction, extractMintFlows, extractCandidateMintsFromEnhancedTx as extractMints, extractSuiValueMovements, extractValueMovements, findFirstEvent, getAssetEvents, getAssetObjectChange, getAssetOwnerChange, getAssetOwnerChangeDetails, getEventTypes, getKioskOwnerCapAddressOwnerChange, getMarket, getMatchingAssetFlowMatchers, getMintNftTransfers, getPriceRaw, getRecordString, getRecordStringArray, getString, hasLoanProgramSettlement, hasMeaningfulNativeSettlement, hasMeaningfulSuiSettlement, interpretMintFlowProtocolEvent, isMintNftTransfer, isNonFungibleTokenStandard, isRecord, mergeRawProgramEvidence, normalizeAssetHistory, normalizeEnhancedType, normalizeMintHistory, normalizeOwnerRef, observationFromFacts, observeEnhancedTransactionForMint, protocolMatchers, reconstructOwnershipPeriods, scanTransactionsForCoverage, selectAssetFlowMatcher, shouldApplyRawOwnerOverrides, shouldFetchRawForMintTx as shouldFetchRaw, shouldFetchRawForMintTx, index$1 as solana, index as sui, synthesizeEnhancedTransactionsFromRaw, toNullableNumber };
592
+ export { type AssetFlowClassificationExplanation, type AssetFlowClassificationMatcher, type AssetFlowCoverageCluster, type AssetFlowCoverageReviewCandidate, type AssetFlowCoverageScanResult, type AssetFlowDerivedType, type AssetFlowEffect, type AssetFlowFamily, type AssetFlowInterpreterConfidence, type AssetFlowMatcherExplanation, type AssetFlowMaterialization, type AssetFlowObservation, type AssetFlowTransactionFacts, type AssetFlowTxClassification, type AssetNftTouchKind, type AssetOwnershipKind, type AssetSettlementKind, type ExtractedMintFlow, type ExtractedValueMovement, type HeliusAccountData, type HeliusAccountDataTokenChange, type HeliusEnhancedAction, type HeliusEnhancedInstruction, type HeliusEnhancedTx, type HeliusNativeTransfer, type HeliusTokenTransfer, KIOSK_BIDDING_CLAIM_EVENT_SUFFIX, KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX, KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX, KIOSK_CLAIM_EVENT_SUFFIX, KIOSK_LIST_EVENT_SUFFIX, KIOSK_TRANSFER_EVENT_SUFFIX, KIOSK_UNLIST_EVENT_SUFFIX, type MintFlowProtocolEvent, type MintFlowProtocolEventFlow, type MintFlowProtocolEventKind, type NormalizedMintHistory, PERSIST_DERIVED_TYPES, PERSONAL_KIOSK_CREATED_EVENT_SUFFIX, POPKINS_MINTED_EVENT_SUFFIX, POPKINS_STAKED_EVENT_SUFFIX, POPKINS_UNSTAKED_EVENT_SUFFIX, type RawAssetFlowAccountKey, type RawAssetFlowInstruction, type RawAssetFlowTokenBalance, type RawAssetFlowTransaction, type ReconstructedOwnershipPeriod, type RegisteredAssetFlowClassificationMatcher, SUI_COIN_TYPE, type SuiAssetFlowClassification, type SuiAssetFlowFamily, type SuiAssetOwnerChange, type SuiAssetOwnerChangeDetails, type SuiAssetOwnerRef, type SuiAssetOwnerRefKind, type SuiBalanceChangeLike, type SuiEventLike, type SuiObjectChangeLike, type SuiObjectOwnerLike, type SuiTransactionBlockLike, TRADEPORT_ADD_LISTING_EVENT_SUFFIX, TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX, TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX, TRADEPORT_CREATE_SIMPLE_LISTING_EVENT_SUFFIX, TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX, TRADEPORT_KIOSK_BUY_EVENT_SUFFIX, TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX, TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX, TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX, applyRawOwnerOverridesToEnhanced, assetFlowMatchers, augmentEnhancedTransactionWithRaw, augmentEnhancedTransactionWithRaw as augmentWithRaw, extractMintFlows as buildFlows, normalizeMintHistory as buildMintHistory, reconstructOwnershipPeriods as buildOwnershipPeriods, buildTransactionFacts, extractValueMovements as buildValueMovements, classification, classifyEnhancedTransactionForMint as classify, classifyEnhancedTransactionForMint, classifySuiTransactionForAsset, clusterCoverageReviewCandidates, collectCoverageReviewCandidates, coreAndMarketplaceMatchers, eventTouchesAsset, eventTypeMatches, explainEnhancedTransactionForMint as explain, explainEnhancedTransactionForMint, extractAssetFlows, extractCandidateMintsFromEnhancedTx, extractCandidateMintsFromRawTransaction, extractMintFlows, extractCandidateMintsFromEnhancedTx as extractMints, extractSuiValueMovements, extractValueMovements, findFirstEvent, getAssetEvents, getAssetObjectChange, getAssetOwnerChange, getAssetOwnerChangeDetails, getEventTypes, getKioskOwnerCapAddressOwnerChange, getMarket, getMatchingAssetFlowMatchers, getMintNftTransfers, getPriceRaw, getRecordString, getRecordStringArray, getString, hasLoanProgramSettlement, hasMeaningfulNativeSettlement, hasMeaningfulSuiSettlement, interpretMintFlowProtocolEvent, isMintNftTransfer, isNonFungibleTokenStandard, isRecord, mergeRawProgramEvidence, normalizeAssetHistory, normalizeEnhancedType, normalizeMintHistory, normalizeOwnerRef, observationFromFacts, observeEnhancedTransactionForMint, protocolMatchers, reconstructOwnershipPeriods, scanTransactionsForCoverage, selectAssetFlowMatcher, shouldApplyRawOwnerOverrides, shouldFetchRawForMintTx as shouldFetchRaw, shouldFetchRawForMintTx, index$1 as solana, index as sui, synthesizeEnhancedTransactionsFromRaw, toNullableNumber };
package/dist/index.js CHANGED
@@ -340,6 +340,20 @@ function resolveMarketplaceListing(observation) {
340
340
  hasTrackedMovement: true
341
341
  };
342
342
  }
343
+ function resolveMarketplacePassthroughTransfer(observation) {
344
+ if (!isStandardMarketplaceListing(observation) || isDelistLikeMarketplaceAction(observation)) {
345
+ return null;
346
+ }
347
+ if (observation.nftTransfers.length < 2 || !observation.hasOwnershipChange) {
348
+ return null;
349
+ }
350
+ const fromAddress = observation.primarySeller;
351
+ const toAddress = observation.primaryBuyer;
352
+ if (!fromAddress || !toAddress || fromAddress === toAddress) {
353
+ return null;
354
+ }
355
+ return { matchedBy: "LISTING_SHAPED_NET_OWNER_CHANGE", fromAddress, toAddress };
356
+ }
343
357
  function resolveMarketplaceBid(observation) {
344
358
  if (!isPureNonSettlementObservation(observation)) {
345
359
  return null;
@@ -543,6 +557,28 @@ var marketplaceListingMatcher = {
543
557
  }
544
558
  };
545
559
 
560
+ // src/chains/solana/matchers/marketplace/marketplace-passthrough-transfer.ts
561
+ var marketplacePassthroughTransferMatcher = {
562
+ id: "solana.marketplace-passthrough-transfer",
563
+ matches(observation) {
564
+ return resolveMarketplacePassthroughTransfer(observation) !== null;
565
+ },
566
+ classify(observation) {
567
+ if (!resolveMarketplacePassthroughTransfer(observation)) {
568
+ throw new Error(
569
+ `Marketplace passthrough transfer matcher classified a non-matching transaction: ${observation.tx.signature}`
570
+ );
571
+ }
572
+ return classification({
573
+ family: "GENERIC_TRANSFER",
574
+ derivedType: "TRANSFER",
575
+ matcherId: this.id,
576
+ reason: "matched_marketplace_passthrough_transfer_family",
577
+ observation
578
+ });
579
+ }
580
+ };
581
+
546
582
  // src/chains/solana/matchers/marketplace/hyperspace-instant-sell.ts
547
583
  var hyperspaceInstantSellMatcher = {
548
584
  id: "solana.hyperspace-instant-sell",
@@ -1349,6 +1385,7 @@ var coreAndMarketplaceMatchers = registerMatchers([
1349
1385
  [magicEdenLuckyBuyMatcher, 670],
1350
1386
  [hyperspaceInstantSellMatcher, 665],
1351
1387
  [tensorUnknownSaleMatcher, 660],
1388
+ [marketplacePassthroughTransferMatcher, 655],
1352
1389
  [marketplaceListingMatcher, 650],
1353
1390
  [magicEdenBuyIntentMatcher, 640],
1354
1391
  [marketplaceBidMatcher, 630]
@@ -2770,6 +2807,7 @@ function shouldFetchRawForMintTx(tx, mint) {
2770
2807
  var sui_exports = {};
2771
2808
  __export(sui_exports, {
2772
2809
  KIOSK_BIDDING_CLAIM_EVENT_SUFFIX: () => KIOSK_BIDDING_CLAIM_EVENT_SUFFIX,
2810
+ KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX: () => KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX,
2773
2811
  KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX: () => KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX,
2774
2812
  KIOSK_CLAIM_EVENT_SUFFIX: () => KIOSK_CLAIM_EVENT_SUFFIX,
2775
2813
  KIOSK_LIST_EVENT_SUFFIX: () => KIOSK_LIST_EVENT_SUFFIX,
@@ -2832,6 +2870,7 @@ var TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX = "::tradeport_listings::RelistSimpleLi
2832
2870
  var TRADEPORT_REMOVE_LISTING_EVENT_SUFFIX = "::tradeport_orderbook::RemoveListingEvent";
2833
2871
  var TRADEPORT_CANCEL_SIMPLE_EVENT_SUFFIX = "::tradeport_listings::CancelSimpleListingEvent";
2834
2872
  var TRADEPORT_CREATE_SINGLE_BID_EVENT_SUFFIX = "::tradeport_biddings::CreateSingleBidEvent";
2873
+ var KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX = "::kiosk_biddings::MatchBidWithPurchaseCapEvent";
2835
2874
  var KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX = "::kiosk_biddings::MatchCollectionBidWithPurchaseCapEvent";
2836
2875
  var KIOSK_LIST_EVENT_SUFFIX = "::kiosk_listings::ListEvent";
2837
2876
  var KIOSK_UNLIST_EVENT_SUFFIX = "::kiosk_listings::UnlistEvent";
@@ -2957,11 +2996,28 @@ function findFirstEvent(events, suffixes) {
2957
2996
  }
2958
2997
  return null;
2959
2998
  }
2999
+ function parseNonNegativeBigInt(raw) {
3000
+ if (!raw) return null;
3001
+ try {
3002
+ const value = BigInt(raw);
3003
+ return value >= 0n ? value : null;
3004
+ } catch {
3005
+ return null;
3006
+ }
3007
+ }
2960
3008
  function getPriceRaw(event) {
2961
3009
  if (!event || !isRecord(event.parsedJson)) {
2962
3010
  return null;
2963
3011
  }
2964
- return getRecordString(event.parsedJson, "price") ?? getRecordString(event.parsedJson, "new_price");
3012
+ const rawPrice = getRecordString(event.parsedJson, "price") ?? getRecordString(event.parsedJson, "new_price");
3013
+ if (rawPrice && eventTypeMatches(event, [KIOSK_LIST_EVENT_SUFFIX])) {
3014
+ const price = parseNonNegativeBigInt(rawPrice);
3015
+ const commission = parseNonNegativeBigInt(getRecordString(event.parsedJson, "commission"));
3016
+ if (price !== null && commission !== null && commission <= price) {
3017
+ return (price - commission).toString();
3018
+ }
3019
+ }
3020
+ return rawPrice;
2965
3021
  }
2966
3022
  function getMarket(event, fallback = null) {
2967
3023
  if (!event || !isRecord(event.parsedJson)) {
@@ -3013,6 +3069,7 @@ function classifySuiTransactionForAsset(tx, assetId) {
3013
3069
  const saleEvent = findFirstEvent(assetEvents, [
3014
3070
  TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX,
3015
3071
  TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX,
3072
+ KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX,
3016
3073
  KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX,
3017
3074
  TRADEPORT_KIOSK_BUY_EVENT_SUFFIX
3018
3075
  ]);
@@ -3101,7 +3158,7 @@ function classifySuiTransactionForAsset(tx, assetId) {
3101
3158
  assetId,
3102
3159
  family: "TRADEPORT_LISTING",
3103
3160
  effect: "NON_SETTLEMENT_MARKETPLACE_ACTION",
3104
- materialization: "SKIP_FLOW",
3161
+ materialization: "PERSIST_FLOW",
3105
3162
  confidence: "high",
3106
3163
  derivedType: "LIST",
3107
3164
  matcherId: "sui.tradeport-relist",
@@ -3168,7 +3225,7 @@ function classifySuiTransactionForAsset(tx, assetId) {
3168
3225
  assetId,
3169
3226
  family: "KIOSK_LISTING",
3170
3227
  effect: "NON_SETTLEMENT_MARKETPLACE_ACTION",
3171
- materialization: "SKIP_FLOW",
3228
+ materialization: "PERSIST_FLOW",
3172
3229
  confidence: "high",
3173
3230
  derivedType: "LIST",
3174
3231
  matcherId: "sui.kiosk-price-change",
@@ -3561,6 +3618,7 @@ function buildSaleValueMovements(tx, assetId, timestamp) {
3561
3618
  const saleEvent = findFirstEvent(getAssetEvents(tx, assetId), [
3562
3619
  TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX,
3563
3620
  TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX,
3621
+ KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX,
3564
3622
  KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX,
3565
3623
  TRADEPORT_KIOSK_BUY_EVENT_SUFFIX
3566
3624
  ]);
@@ -3639,6 +3697,7 @@ function buildSuiFlows(tx, assetId, classification2, currentBeneficialOwner) {
3639
3697
  const saleEvent = findFirstEvent(assetEvents, [
3640
3698
  TRADEPORT_BUY_SIMPLE_EVENT_SUFFIX,
3641
3699
  TRADEPORT_MATCH_SINGLE_BID_EVENT_SUFFIX,
3700
+ KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX,
3642
3701
  KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX,
3643
3702
  TRADEPORT_KIOSK_BUY_EVENT_SUFFIX
3644
3703
  ]);
@@ -3662,6 +3721,7 @@ function buildSuiFlows(tx, assetId, classification2, currentBeneficialOwner) {
3662
3721
  const listingEvent = findFirstEvent(assetEvents, [
3663
3722
  TRADEPORT_ADD_LISTING_EVENT_SUFFIX,
3664
3723
  TRADEPORT_CREATE_SIMPLE_LISTING_EVENT_SUFFIX,
3724
+ TRADEPORT_RELIST_SIMPLE_EVENT_SUFFIX,
3665
3725
  KIOSK_LIST_EVENT_SUFFIX
3666
3726
  ]);
3667
3727
  const owner = parseListingSeller(listingEvent) ?? currentBeneficialOwner ?? sender ?? addressOwner;
@@ -3751,6 +3811,7 @@ function normalizeAssetHistory(transactions, assetId) {
3751
3811
  }
3752
3812
  export {
3753
3813
  KIOSK_BIDDING_CLAIM_EVENT_SUFFIX,
3814
+ KIOSK_BIDDING_MATCH_BID_EVENT_SUFFIX,
3754
3815
  KIOSK_BIDDING_MATCH_COLLECTION_BID_EVENT_SUFFIX,
3755
3816
  KIOSK_CLAIM_EVENT_SUFFIX,
3756
3817
  KIOSK_LIST_EVENT_SUFFIX,