@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 +4 -2
- package/dist/index.js +64 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
-
|
|
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: "
|
|
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: "
|
|
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,
|