MarketplaceSEALED
$□◇?╲*▫#╲▒○?!!╱█◇*$□□~░▓$$╱◇░◇▓▒^█░╲▓?~╱$@^╱░@╳%◆**◇●○!%&&▓▪□○▒○
Transaction ID
Execution Fee
0.23498 FLOWTransaction Summary
MarketplaceCalled 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}