tx · BoXwPRy6k5x2ZdM9MPqyJfy5KM57DbxRBAcRvNHjbxfJ

3N8b8Wfj7nQh6fLCkfeaqV6Frzf6hrRn5jN:  -0.01000000 Waves

2022.07.03 16:23 [2123547] smart account 3N8b8Wfj7nQh6fLCkfeaqV6Frzf6hrRn5jN > SELF 0.00000000 Waves

{ "type": 13, "id": "BoXwPRy6k5x2ZdM9MPqyJfy5KM57DbxRBAcRvNHjbxfJ", "fee": 1000000, "feeAssetId": null, "timestamp": 1656854694843, "version": 2, "chainId": 84, "sender": "3N8b8Wfj7nQh6fLCkfeaqV6Frzf6hrRn5jN", "senderPublicKey": "Atk7ozpRymfxzEAiE9oJRCytFKirodvR7e7VBTnvDmqy", "proofs": [ "3SvpJwH5bMGip32ec5CLGd7NvNYPZ7NhSaabKgtVoUNPvrEs415fkUBcPA4yJ4Sa7J89YXL1jSHg8H8xirCPded5" ], "script": "base64:BgIECAISAAUABXdhdmVzAIDC1y8AC3RpY2tldFByaWNlCQBoAgABBQV3YXZlcwENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAESZ2V0VGlja2V0c0NvdW50S2V5AQ1hZGRyZXNzU3RyaW5nCQCsAgIFDWFkZHJlc3NTdHJpbmcCDV90aWNrZXRzQ291bnQBD2dldFRpY2tldHNDb3VudAENYWRkcmVzc1N0cmluZwkBDXRyeUdldEludGVnZXIBCQESZ2V0VGlja2V0c0NvdW50S2V5AQUNYWRkcmVzc1N0cmluZwEBaQEJYnV5VGlja2V0AAQDcG10AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQACAQIhUGxlYXNlIGF0dGFjaCBleGFjdGx5IG9uZSBwYXltZW50AwkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAkAAgECJ1RpY2tldHMgY2FuIG9ubHkgaWJlIHB1cmNoYXNlZCBpbiBXYXZlcwMJAQIhPQIIBQNwbXQGYW1vdW50BQt0aWNrZXRQcmljZQkAAgEJAKwCAgkArAICAh9UaGUgcGF5bWVudCBtdXN0IGJlIG9mIGV4YWN0bHkgCQCkAwEJAGkCBQt0aWNrZXRQcmljZQUFd2F2ZXMCBiB3YXZlcwQQY2FsbGVyQWRkcmVzc1N0cgkApQgBCAUBaQxvcmlnaW5DYWxsZXIEEGN1cnJUaWNrZXRzQ291bnQJAQ9nZXRUaWNrZXRzQ291bnQBBRBjYWxsZXJBZGRyZXNzU3RyBA9uZXdUaWNrZXRzQ291bnQJAGQCBRBjdXJyVGlja2V0c0NvdW50AAEJAMwIAgkBDEludGVnZXJFbnRyeQIJARJnZXRUaWNrZXRzQ291bnRLZXkBBRBjYWxsZXJBZGRyZXNzU3RyBQ9uZXdUaWNrZXRzQ291bnQFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXlYkWqa", "height": 2123547, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let waves = 100000000
5+
6+let ticketPrice = (1 * waves)
7+
8+func tryGetInteger (key) = match getInteger(this, key) {
9+ case b: Int =>
10+ b
11+ case _ =>
12+ 0
13+}
14+
15+
16+func getTicketsCountKey (addressString) = (addressString + "_ticketsCount")
17+
18+
19+func getTicketsCount (addressString) = tryGetInteger(getTicketsCountKey(addressString))
20+
21+
22+@Callable(i)
23+func buyTicket () = {
24+ let pmt = if ((size(i.payments) == 1))
25+ then i.payments[0]
26+ else throw("Please attach exactly one payment")
27+ if (isDefined(pmt.assetId))
28+ then throw("Tickets can only ibe purchased in Waves")
29+ else if ((pmt.amount != ticketPrice))
30+ then throw((("The payment must be of exactly " + toString((ticketPrice / waves))) + " waves"))
31+ else {
32+ let callerAddressStr = toString(i.originCaller)
33+ let currTicketsCount = getTicketsCount(callerAddressStr)
34+ let newTicketsCount = (currTicketsCount + 1)
35+[IntegerEntry(getTicketsCountKey(callerAddressStr), newTicketsCount)]
36+ }
37+ }
38+
39+
40+@Verifier(tx)
41+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
42+

github/deemru/w8io/169f3d6 
51.22 ms