MarketplaceSEALED

$□◇?╲*▫#╲▒○?!!╱█◇*$□□~░▓$$╱◇░◇▓▒^█░╲▓?~╱$@^╱░@╳%◆**◇●○!%&&▓▪□○▒○

Transaction ID

Timestamp

Feb 13, 2026, 03:13:52 AM UTC
2w ago

Block Height

142,041,169

Computation

0

Execution Fee

0.23498 FLOW

Transaction Summary

Marketplace

Called FungibleToken, NonFungibleToken, ViewResolver +6 more

Script Arguments

0saleRequests[TransactionTypes.StorefrontListingRequest]
[
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47788761",
    "price": "0.30000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48037517",
    "price": "0.58000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47775052",
    "price": "0.68000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48030153",
    "price": "0.47000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48024434",
    "price": "0.48000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48024214",
    "price": "0.48000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47775889",
    "price": "0.61000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47791109",
    "price": "0.40000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47967694",
    "price": "0.32000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48307710",
    "price": "0.28000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48267357",
    "price": "0.64000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "45274687",
    "price": "0.65000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48272918",
    "price": "0.61000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47791394",
    "price": "0.26000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48592259",
    "price": "0.17000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48466349",
    "price": "0.21000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48268655",
    "price": "0.78000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47775897",
    "price": "0.61000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48004338",
    "price": "0.77000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47790843",
    "price": "0.26000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48006468",
    "price": "0.81000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47771849",
    "price": "0.68000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48006956",
    "price": "0.76000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48046840",
    "price": "0.64000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47790669",
    "price": "0.26000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47791898",
    "price": "0.33000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47781501",
    "price": "0.67000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48454001",
    "price": "0.32000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "47769380",
    "price": "0.55000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48271936",
    "price": "0.61000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48439069",
    "price": "0.22000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48714832",
    "price": "0.36000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48696645",
    "price": "0.21000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "6569127",
    "price": "0.22000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48958717",
    "price": "0.82000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43476016",
    "price": "0.19000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46360806",
    "price": "0.79000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46105431",
    "price": "0.22000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43476033",
    "price": "0.19000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48812529",
    "price": "0.82000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46341577",
    "price": "0.54000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "49085659",
    "price": "0.21000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46342220",
    "price": "0.37000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46135489",
    "price": "0.79000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46101534",
    "price": "0.28000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46358062",
    "price": "0.82000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46089152",
    "price": "0.24000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48717023",
    "price": "0.35000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "49037334",
    "price": "0.21000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "48811968",
    "price": "0.80000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "45390805",
    "price": "0.60000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "44856407",
    "price": "0.24000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "45954417",
    "price": "0.28000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46624686",
    "price": "0.49000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46124675",
    "price": "0.61000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46342689",
    "price": "0.37000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46104218",
    "price": "0.28000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43484132",
    "price": "0.32000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "45948782",
    "price": "0.23000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "45391328",
    "price": "0.60000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46123575",
    "price": "0.30000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46096990",
    "price": "0.25000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43485987",
    "price": "0.32000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "45276183",
    "price": "0.76000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43465143",
    "price": "0.31000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43477642",
    "price": "0.18000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46123204",
    "price": "0.30000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43476954",
    "price": "0.19000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43476149",
    "price": "0.19000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43477163",
    "price": "0.19000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43478579",
    "price": "0.19000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43471952",
    "price": "0.31000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "43474631",
    "price": "0.31000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "46135859",
    "price": "0.22000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  },
  {
    "nftProviderAddress": "0xe9afa74d211c06a8",
    "nftProviderControllerID": "0",
    "nftStoragePath": "storage/MomentCollection",
    "nftTypeIdentifier": "A.0b2a3299cc857e29.TopShot.NFT",
    "nftID": "49056389",
    "price": "0.20000000",
    "customID": null,
    "expiry": "2592000",
    "buyerAddress": null,
    "catalogCollection": true
  }
]

Cadence Script

1// Flowty - List multiple items for sale at the same time
2import FungibleToken from 0xf233dcee88fe0abe
3import NonFungibleToken from 0x1d7e57aa55817448
4import ViewResolver from 0x1d7e57aa55817448
5import NFTStorefrontV2 from 0x3cdbb3d569211ff3
6import FlowtyUtils from 0x3cdbb3d569211ff3
7import TransactionTypes from 0x26836b2113af9115
8import DapperUtilityCoin from 0xead892083b3e2c6c
9import TokenForwarding from 0xe544175ee0461c4b
10import HybridCustody from 0xd8a7e05a7ac670c0
11
12transaction(saleRequests: [TransactionTypes.StorefrontListingRequest]) {
13    prepare(seller: auth(Storage, Capabilities) &Account) {
14        if seller.storage.borrow<&NFTStorefrontV2.Storefront>(from: NFTStorefrontV2.StorefrontStoragePath) == nil {
15            let storefront <- NFTStorefrontV2.createStorefront()
16            seller.storage.save(<-storefront, to: NFTStorefrontV2.StorefrontStoragePath)
17
18            seller.capabilities.unpublish(NFTStorefrontV2.StorefrontPublicPath)
19            seller.capabilities.publish(
20                seller.capabilities.storage.issue<&NFTStorefrontV2.Storefront>(NFTStorefrontV2.StorefrontStoragePath), 
21                at: NFTStorefrontV2.StorefrontPublicPath
22            )
23        }
24
25        let paymentReceiver = seller.capabilities.get<&{FungibleToken.Receiver}>(/public/dapperUtilityCoinReceiver)
26        assert(paymentReceiver.check() != nil, message: "Missing or mis-typed DapperUtilityCoin receiver")
27
28        let nftCache: {String: Capability<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>} = {}
29        let nftRef: auth(Mutate) &{String: Capability<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>} = &nftCache
30
31        let typeCache: {String: Type} = {}
32        let typeRef: auth(Mutate) &{String: Type} = &typeCache
33
34        let storefront = seller.storage.borrow<auth(NFTStorefrontV2.List, NFTStorefrontV2.Cancel) &NFTStorefrontV2.Storefront>(from: NFTStorefrontV2.StorefrontStoragePath)!
35        for request in saleRequests {
36          createListing(seller, storefront, request, paymentReceiver, nftRef, typeRef)
37        }
38    }
39}
40
41access(all) fun createListing(
42  _ seller: auth(Storage, Capabilities) &Account,
43  _ storefront: auth(NFTStorefrontV2.List, NFTStorefrontV2.Cancel) &NFTStorefrontV2.Storefront,
44  _ r: TransactionTypes.StorefrontListingRequest,
45  _ paymentReceiver: Capability<&{FungibleToken.Receiver}>,
46  _ nftCache: auth(Mutate) &{String: Capability<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>},
47  _ typeCache: auth(Mutate) &{String: Type}
48) {
49  if typeCache[r.nftTypeIdentifier] == nil {
50    typeCache[r.nftTypeIdentifier] = CompositeType(r.nftTypeIdentifier) ?? panic("invalid nft type identifier")
51  }
52
53  let collectionCap = getCollectionCap(seller, r, nftCache, typeCache[r.nftTypeIdentifier]!)
54
55  // check for existing listings of the NFT
56  var existingListingIDs = storefront.getExistingListingIDs(
57      nftType: typeCache[r.nftTypeIdentifier]!,
58      nftID: r.nftID
59  )
60  // remove existing listings
61  for listingID in existingListingIDs {
62      storefront.removeListing(listingResourceID: listingID)
63  }
64
65  // Create listing
66  storefront.createListing(
67    nftProviderCapability: collectionCap,
68    paymentReceiver: paymentReceiver,
69    nftType: typeCache[r.nftTypeIdentifier]!,
70    nftID: r.nftID,
71    salePaymentVaultType: Type<@DapperUtilityCoin.Vault>(),
72    price: r.price,
73    customID: r.customID,
74    expiry: UInt64(getCurrentBlock().timestamp) + r.expiry,
75    buyer: r.buyerAddress
76  )
77}
78
79access(all) fun getCollectionCap(
80  _ seller: auth(Storage, Capabilities) &Account,
81  _ r: TransactionTypes.StorefrontListingRequest,
82  _ nftCache: auth(Mutate) &{String: Capability<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>},
83  _ nftType: Type
84): Capability<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}> {
85  let key = r.nftProviderAddress.toString().concat(r.nftTypeIdentifier)
86  if nftCache[key] != nil {
87    return nftCache[key]!
88  }
89
90  if r.nftProviderAddress == seller.address {
91    let storagePath = FlowtyUtils.getCapabilityStoragePath(type: nftType, suffix: "CollectionProviderForFlowty")
92
93    let copiedCap = seller.storage.copy<Capability<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>>(from: storagePath)
94    if copiedCap != nil && copiedCap!.check() {
95      nftCache[key] = copiedCap!
96      return copiedCap!
97    } else {
98      // clean this storage slot in case something is there already
99      seller.storage.load<AnyStruct>(from: storagePath)
100      let cap = seller.capabilities.storage.issue<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>(r.nftStoragePath)
101      assert(cap.check(), message: "invalid issued provider capability")
102      seller.storage.save(cap, to: storagePath)
103      nftCache[key] = cap
104
105      return cap
106    }
107  }
108
109  let manager = seller.storage.borrow<auth(HybridCustody.Manage) &HybridCustody.Manager>(from: HybridCustody.ManagerStoragePath)
110    ?? panic("Missing or mis-typed HybridCustody Manager")
111
112  let child = manager.borrowAccount(addr: r.nftProviderAddress) ?? panic("no child account with that address")
113  let providerCap = child.getCapability(controllerID: r.nftProviderControllerID, type: Type<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>())
114    ?? panic("no nft provider found")
115  let cap = providerCap as! Capability<auth(NonFungibleToken.Withdraw) &{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}>
116  nftCache[key] = cap
117
118  return cap
119}