tx · 6dAyneXWeqL89wpCGYDX3eSFuZrM91wL3mkaP8tcfNMq

3My7JvybytBTv6LBND2MeZCbkeUS7jR3PiK:  -0.01000000 Waves

2022.11.10 08:56 [2310652] smart account 3My7JvybytBTv6LBND2MeZCbkeUS7jR3PiK > SELF 0.00000000 Waves

{ "type": 13, "id": "6dAyneXWeqL89wpCGYDX3eSFuZrM91wL3mkaP8tcfNMq", "fee": 1000000, "feeAssetId": null, "timestamp": 1668059778296, "version": 2, "chainId": 84, "sender": "3My7JvybytBTv6LBND2MeZCbkeUS7jR3PiK", "senderPublicKey": "FVTpXbDNs3kNEiYy4vjvjfzxbQim8PuN6fNLFntwM31j", "proofs": [ "4rKY48req45eXp6NmK9hRLVugbVmuEBATTMpJtzCQGJKAemfp2jU5eCPHWhXmu9HdJJZ55CU7wCyEE4YpSQKcavo" ], "script": "base64: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", "height": 2310652, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6x4aY6ZaNaZzGgKHPUr7VAyyDKQEBckyroE3JGAE3Hp2 Next: 7CPpvKifNrYRatTqKnSQveksxB1gZo3e93spMEDPoxaT Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = "_"
55
66 let kBuy = "buy"
77
88 let kSell = "sell"
99
1010 let kPrice = "price"
1111
1212 func isNft (assetId) = match assetInfo(assetId) {
1313 case token: Asset =>
1414 if (if ((token.decimals == 0))
1515 then (token.quantity == 1)
1616 else false)
1717 then (token.reissuable == false)
1818 else false
1919 case _ =>
2020 false
2121 }
2222
2323
2424 @Callable(i)
2525 func issueNft (name,meta,price) = {
2626 let newToken = Issue(name, meta, 1, 0, false)
2727 let issueId = calculateAssetId(newToken)
2828 [newToken, StringEntry(((kPrice + separator) + toBase58String(issueId)), toString(price))]
2929 }
3030
3131
3232
3333 @Callable(i)
3434 func buyNFT (nftID) = {
3535 let assetId = fromBase58String(nftID)
3636 let amount = value(i.payments[0].amount)
3737 let price = valueOrErrorMessage(getString(((kPrice + separator) + nftID)), "There is no price for this nft")
3838 if ((i.payments[0].assetId != unit))
3939 then throw("pay in waves")
4040 else if ((parseIntValue(price) > amount))
4141 then throw("Invalid payment")
4242 else [ScriptTransfer(i.caller, 1, assetId), StringEntry(((toString(i.caller) + separator) + kBuy), ((nftID + separator) + toString(amount)))]
4343 }
4444
4545
4646
4747 @Callable(i)
4848 func sellNFT () = {
4949 let $t011731258 = $Tuple2(value(i.payments[0].assetId), value(i.payments[0].amount))
5050 let token0 = $t011731258._1
5151 let amount0 = $t011731258._2
5252 let price = getStringValue(((kPrice + separator) + valueOrErrorMessage(toBase58String(token0), "There is no price for this nft")))
5353 if (!(isNft(token0)))
5454 then throw("Token is not NFT")
5555 else [ScriptTransfer(i.caller, parseIntValue(price), unit), StringEntry(((toString(i.caller) + separator) + kSell), ((toBase58String(token0) + separator) + toString(amount0)))]
5656 }
5757
5858

github/deemru/w8io/026f985 
37.85 ms