tx · EGMQh9SVFBERidcUE3rdA9N6gL1BamQecekh55sgEt7Q

3MxtzncKM9x1kKpLP3sp8WZPvg1cza8jHGm:  -0.01400000 Waves

2019.11.14 17:22 [764857] smart account 3MxtzncKM9x1kKpLP3sp8WZPvg1cza8jHGm > SELF 0.00000000 Waves

{ "type": 13, "id": "EGMQh9SVFBERidcUE3rdA9N6gL1BamQecekh55sgEt7Q", "fee": 1400000, "feeAssetId": null, "timestamp": 1573741450644, "version": 1, "sender": "3MxtzncKM9x1kKpLP3sp8WZPvg1cza8jHGm", "senderPublicKey": "CBoRgqiPjXZMaoN8BwCSFfXsRX5jvNDiZ9SArkfMQX1Z", "proofs": [ "2jZ5Ju3iDvAWDgydTXWNJw8XMxsoBCGRZ73RP8yKimn9owSeiu8YZ87qs17RCBzUgvdsBK16iyZDZdvfbiWkg3ey" ], "script": "base64:AAIDAAAAAAAAAA4IARIDCgEIEgMKAQgSAAAAAAMAAAAAE2xvdHRlcnlUaWNrZXRIb2xkZXIJAQAAAAdleHRyYWN0AAAAAQkBAAAAEWFkZHJlc3NGcm9tU3RyaW5nAAAAAQIAAAAjM01wMUdHVWhiYUpWdTdFYWY4YktNR3IzQjI5R1ZqcmtldFQAAAAADGxvdHRlcnlPd25lcgIAAAAjM014dHpuY0tNOXgxa0twTFAzc3A4V1pQdmcxY3phOGpIR20AAAAAC293bmVyUHViS2V5AQAAABoBVGKEjV5gBv5YOGamTqp1XIQMIb3y+eOzMgAAAAMAAAAKY29udGV4dE9iagEAAAAXcmFuZG9tUmVxdWVzdFR4SWRSZWNvcmQAAAABAAAAEXJhbmRvbVJlcXVlc3RUeElkAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAAEdGhpcwIAAAARcmFuZG9tUmVxdWVzdFR4SWQJAAACAAAAAQIAAAAicmFuZG9tSWRUeCBpcyBhbHJlYWR5IGluIHRoZSBzdGF0ZQMJAAAAAAAAAggFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyCQEAAAARYWRkcmVzc0Zyb21TdHJpbmcAAAABBQAAAAxsb3R0ZXJ5T3duZXIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAEXJhbmRvbVJlcXVlc3RUeElkBQAAABFyYW5kb21SZXF1ZXN0VHhJZAUAAAADbmlsCQAAAgAAAAECAAAAIG9ubHkgb3duZXIgY2FuIHN0YXJ0IHRoZSBsb3R0ZXJ5AAAACmNvbnRleHRPYmoBAAAAC2NoZWNrUmFuZG9tAAAAAQAAAA5yYW5kb21SZXNwb25zZQQAAAAZcmFuZG9tUmVxdWVzdENvbW1pdGVkVHhJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAARcmFuZG9tUmVxdWVzdFR4SWQEAAAABnN0YXR1cwkAAZEAAAACCQAEtQAAAAIFAAAADnJhbmRvbVJlc3BvbnNlAgAAAAFfAAAAAAAAAAAABAAAAApyYW5kb21UeElkCQABkQAAAAIJAAS1AAAAAgUAAAAOcmFuZG9tUmVzcG9uc2UCAAAAAV8AAAAAAAAAAAEEAAAADHJhbmRvbVJlc3VsdAkAAZEAAAACCQAEtQAAAAIFAAAADnJhbmRvbVJlc3BvbnNlAgAAAAItLQAAAAAAAAAAAQMDCQAAAAAAAAIFAAAABnN0YXR1cwIAAAAIRklOSVNIRUQJAAAAAAAAAgUAAAAKcmFuZG9tVHhJZAUAAAAZcmFuZG9tUmVxdWVzdENvbW1pdGVkVHhJZAcJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADHJhbmRvbVJlc3VsdAUAAAAMcmFuZG9tUmVzdWx0BQAAAANuaWwJAAACAAAAAQIAAAAXSW5jb3JyZWN0IHJhbmRvbSByZXN1bHQAAAAKY29udGV4dE9iagEAAAAPZGVmaW5lVGhlV2lubmVyAAAAAAQAAAAMcmFuZG9tUmVzdWx0CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAAAxyYW5kb21SZXN1bHQDCQEAAAAJaXNEZWZpbmVkAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAATbG90dGVyeVRpY2tldEhvbGRlcgkAASwAAAACAgAAAA13aW5uaW5nVGlja2V0CQABpAAAAAEFAAAADHJhbmRvbVJlc3VsdAQAAAAMdGlja2V0QW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABNsb3R0ZXJ5VGlja2V0SG9sZGVyAgAAAAx0aWNrZXRBbW91bnQEAAAAEnJhbmRvbVJlc3VsdFVwZGF0ZQMJAAAAAAAAAgUAAAAMcmFuZG9tUmVzdWx0BQAAAAx0aWNrZXRBbW91bnQAAAAAAAAAAAEJAABkAAAAAgUAAAAMcmFuZG9tUmVzdWx0AAAAAAAAAAABCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAxyYW5kb21SZXN1bHQFAAAAEnJhbmRvbVJlc3VsdFVwZGF0ZQUAAAADbmlsBAAAAA13aW5uZXJBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAABNsb3R0ZXJ5VGlja2V0SG9sZGVyCQABLAAAAAICAAAABnRpY2tldAkAAaQAAAABBQAAAAxyYW5kb21SZXN1bHQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADHdpbm5lclRpY2tldAUAAAAMcmFuZG9tUmVzdWx0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAA13aW5uZXJBZGRyZXNzBQAAAA13aW5uZXJBZGRyZXNzBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAABBoZWlnaHRTdGFydExlYXNlAAAAAAAAAAABBAAAAA5oZWlnaHRFbmRMZWFzZQAAAAAAAAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAEExlYXNlVHJhbnNhY3Rpb24EAAAAAWwFAAAAByRtYXRjaDADAwMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABBoZWlnaHRTdGFydExlYXNlCQAAZgAAAAIFAAAADmhlaWdodEVuZExlYXNlBQAAAAZoZWlnaHQHCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzAgAAAA13aW5uZXJBZGRyZXNzBwkAAAAAAAACCAUAAAABbAAAAAlyZWNpcGllbnQJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMCAAAADXdpbm5lckFkZHJlc3MHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABZMZWFzZUNhbmNlbFRyYW5zYWN0aW9uBAAAAAJsYwUAAAAHJG1hdGNoMAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABBoZWlnaHRTdGFydExlYXNlCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAALb3duZXJQdWJLZXkHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEGhlaWdodFN0YXJ0TGVhc2UJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAtvd25lclB1YktleQcGRcy/7g==", "chainId": 84, "height": 764857, "spentComplexity": 0 } View: original | compacted Prev: 2Yq8jdsKSY5G2gNswUsMBRS4dSLdaYMud5cRwuHGeuhM Next: none Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let lotteryTicketHolder = extract(addressFromString("3Mp1GGUhbaJVu7Eaf8bKMGr3B29GVjrketT"))
55
6-let lotteryOwner = "3MrC1oqVCoLkfHabhJtrLJS6GxcooQwRWuP"
6+let lotteryOwner = "3MxtzncKM9x1kKpLP3sp8WZPvg1cza8jHGm"
77
8-let ownerPubKey = base58'3MrC1oqVCoLkfHabhJtrLJS6GxcooQwRWuP'
8+let ownerPubKey = base58'3MxtzncKM9x1kKpLP3sp8WZPvg1cza8jHGm'
99
1010 @Callable(contextObj)
1111 func randomRequestTxIdRecord (randomRequestTxId) = if (isDefined(getString(this, "randomRequestTxId")))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let lotteryTicketHolder = extract(addressFromString("3Mp1GGUhbaJVu7Eaf8bKMGr3B29GVjrketT"))
55
6-let lotteryOwner = "3MrC1oqVCoLkfHabhJtrLJS6GxcooQwRWuP"
6+let lotteryOwner = "3MxtzncKM9x1kKpLP3sp8WZPvg1cza8jHGm"
77
8-let ownerPubKey = base58'3MrC1oqVCoLkfHabhJtrLJS6GxcooQwRWuP'
8+let ownerPubKey = base58'3MxtzncKM9x1kKpLP3sp8WZPvg1cza8jHGm'
99
1010 @Callable(contextObj)
1111 func randomRequestTxIdRecord (randomRequestTxId) = if (isDefined(getString(this, "randomRequestTxId")))
1212 then throw("randomIdTx is already in the state")
1313 else if ((contextObj.caller == addressFromString(lotteryOwner)))
1414 then WriteSet([DataEntry("randomRequestTxId", randomRequestTxId)])
1515 else throw("only owner can start the lottery")
1616
1717
1818
1919 @Callable(contextObj)
2020 func checkRandom (randomResponse) = {
2121 let randomRequestCommitedTxId = getStringValue(this, "randomRequestTxId")
2222 let status = split(randomResponse, "_")[0]
2323 let randomTxId = split(randomResponse, "_")[1]
2424 let randomResult = split(randomResponse, "--")[1]
2525 if (if ((status == "FINISHED"))
2626 then (randomTxId == randomRequestCommitedTxId)
2727 else false)
2828 then WriteSet([DataEntry("randomResult", randomResult)])
2929 else throw("Incorrect random result")
3030 }
3131
3232
3333
3434 @Callable(contextObj)
3535 func defineTheWinner () = {
3636 let randomResult = getIntegerValue(this, "randomResult")
3737 if (isDefined(getIntegerValue(lotteryTicketHolder, ("winningTicket" + toString(randomResult)))))
3838 then {
3939 let ticketAmount = getIntegerValue(lotteryTicketHolder, "ticketAmount")
4040 let randomResultUpdate = if ((randomResult == ticketAmount))
4141 then 1
4242 else (randomResult + 1)
4343 WriteSet([DataEntry("randomResult", randomResultUpdate)])
4444 }
4545 else {
4646 let winnerAddress = getIntegerValue(lotteryTicketHolder, ("ticket" + toString(randomResult)))
4747 WriteSet([DataEntry("winnerTicket", randomResult), DataEntry("winnerAddress", winnerAddress)])
4848 }
4949 }
5050
5151
5252 @Verifier(tx)
5353 func verify () = {
5454 let heightStartLease = 1
5555 let heightEndLease = 0
5656 match tx {
5757 case l: LeaseTransaction =>
5858 if (if (if ((height > heightStartLease))
5959 then (heightEndLease > height)
6060 else false)
6161 then isDefined(getString(this, "winnerAddress"))
6262 else false)
6363 then (l.recipient == addressFromString(getStringValue(this, "winnerAddress")))
6464 else false
6565 case lc: LeaseCancelTransaction =>
6666 if ((height > heightStartLease))
6767 then sigVerify(tx.bodyBytes, tx.proofs[0], ownerPubKey)
6868 else false
6969 case t: TransferTransaction =>
7070 if ((height > heightStartLease))
7171 then sigVerify(tx.bodyBytes, tx.proofs[0], ownerPubKey)
7272 else false
7373 case _ =>
7474 true
7575 }
7676 }
7777

github/deemru/w8io/873ac7e 
20.69 ms