TopShot Play MetaData

Hey there,
does anyone have an example what you should use as an argument (metadata) for Play Creation Transaction?
I keep getting this error in GO:
error: invalid argument at index 0: expected value of type {String: String}

This is the original transaction:
transaction(metadata: {String: String}) {


Ok, so I found the solution:
The actual argument in the Golang func goes like this:
“FullName”: “Player Name”,
“DateOfMoment”: “2021-05-30 19:30:00 +0000 UTC”,
“PlayCategory”: “Stunt”,
“PlayType”: “Fast”,

And this is how it looks when being added to the transaction as an argument:

metadata := cadence.NewDictionary([]cadence.KeyValuePair{
Key: cadence.String(“FullName”),
Value: cadence.String(playMetadata[“FullName”]),
Key: cadence.String(“DateOfMoment”),
Value: cadence.String(playMetadata[“DateOfMoment”]),
Key: cadence.String(“PlayCategory”),
Value: cadence.String(playMetadata[“PlayCategory”]),
Key: cadence.String(“PlayType”),
Value: cadence.String(playMetadata[“PlayType”]),

err = tx.AddArgument(metadata)
if err != nil {

I hope someone finds this helpful because it is not documented anywhere

I’m pretty sure you should not create new Plays :smiley:
Or you was looking for it mostly for educational purpose?

ok, maybe I wasn’t clear @MaxStarka - I am not trying to create new Plays for NBA Top Shot. The thing that we are building is a brand new NFT marketplace - we are using most of the original NBA Top Shot smart contract functionality. Why should we reinvent the wheels…