tx · G9LZePATbg69qptmkkjm8rMTA2JTW3xZNvWYiGh4brhx

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.05 09:05 [1384502] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "G9LZePATbg69qptmkkjm8rMTA2JTW3xZNvWYiGh4brhx", "fee": 1400000, "feeAssetId": null, "timestamp": 1612505141346, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "3xPvyFpfbD7MjthTHoxzkoe58aMF5SXcfH2yUhnLBG7otZXWJ8q5TxkPgKAe4Z58fhniCXwjW9e8BybM21AJFHbw" ], "script": "base64:AAIDAAAAAAAAABAIARIGCgQBAQEIEgQKAggIAAAABQAAAAAPbG90dGVyeXBvb2xuYW1lAgAAABVfbG90dGVyeV9hbW91bnRfcG9vbF8AAAAAFmxvdHRlcnlwb29scHJvYmFiaWxpdHkCAAAADl9sb3R0ZXJ5X3Byb2JfAAAAABBsb3R0ZXJ5cG9vbHByaWNlAgAAAA9fbG90dGVyeV9wcmljZV8AAAAADWxvdHRlcnlwcmljZXMCAAAAEF9sb3R0ZXJ5X3ByaWNlc18BAAAACnJhbmRvbWl6ZXIAAAABAAAAA2ludgQAAAAEcmFuZAkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCAUAAAADaW52AAAADXRyYW5zYWN0aW9uSWQIBQAAAANpbnYAAAAPY2FsbGVyUHVibGljS2V5CAUAAAAJbGFzdEJsb2NrAAAAE2dlbmVyYXRpb25TaWduYXR1cmUJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQJAAH3AAAAAQUAAAAEcmFuZAAAAAIAAAABaQEAAAARdXBkYXRlcHJvYmFiaWxpdHkAAAAEAAAAC3Byb2JhYmlsaXR5AAAABmFtb3VudAAAAAlwb29scHJpY2UAAAAFdG9rZW4EAAAACXRlbXBWYWx1ZQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAA1sb3R0ZXJ5cHJpY2VzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAQAAAAKY29udGFpbktleQkABLMAAAACBQAAAAl0ZW1wVmFsdWUFAAAABXRva2VuBAAAAApmaW5hbFZhbHVlBAAAAAckbWF0Y2gwBQAAAApjb250YWluS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0CQABLAAAAAIJAAEsAAAAAgUAAAAJdGVtcFZhbHVlBQAAAAV0b2tlbgIAAAABLAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAF4BQAAAAckbWF0Y2gwBQAAAAl0ZW1wVmFsdWUJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAAEXVwZGF0ZUxvdHRlcnlQb29sCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAD2xvdHRlcnlwb29sbmFtZQUAAAAFdG9rZW4FAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABZsb3R0ZXJ5cG9vbHByb2JhYmlsaXR5BQAAAAV0b2tlbgUAAAALcHJvYmFiaWxpdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAQbG90dGVyeXBvb2xwcmljZQUAAAAFdG9rZW4FAAAACXBvb2xwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANbG90dGVyeXByaWNlcwUAAAAKZmluYWxWYWx1ZQUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAApzdGFydGxvdHRvAAAAAgAAAAV0b2tlbgAAAA13YWxsZXRBZGRyZXNzBAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEHJlY2lwaWVudGFkZHJlc3MJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAANd2FsbGV0QWRkcmVzcwQAAAALc3RvcmVkVG9rZW4JAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAA9sb3R0ZXJ5cG9vbG5hbWUFAAAABXRva2VuBAAAAARwcm9iCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAWbG90dGVyeXBvb2xwcm9iYWJpbGl0eQUAAAAFdG9rZW4EAAAABXByaWNlCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAQbG90dGVyeXBvb2xwcmljZQUAAAAFdG9rZW4EAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAIcmFuZGhhc2gJAQAAAApyYW5kb21pemVyAAAAAQUAAAABaQQAAAAIYWdnUHJpY2UJAABpAAAAAgkAAGgAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQAAAAAAAAAAL4AAAAAAAAAAGQEAAAACnRlbXBQcmljZXMEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAANbG90dGVyeXByaWNlcwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAF0BQAAAAckbWF0Y2gwCQAEtQAAAAIFAAAAAXQCAAAAASwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQJAAS1AAAAAgIAAAAAAgAAAAEsCQAAAgAAAAECAAAAC01hdGNoIGVycm9yBAAAAAZoYXNXaW4HBAAAAAt3aW5UcmFuc2ZlcgkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABByZWNpcGllbnRhZGRyZXNzBQAAAAhhZ2dQcmljZQUAAAAEdW5pdAUAAAADbmlsAwkAAGYAAAACAAAAAAAAAAH0CQAAagAAAAIJAASxAAAAAQUAAAAIcmFuZGhhc2gAAAAAAAAAA+gEAAAACXdyaXRlU2V0cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAxfd2luX3RpY2tldF8IBQAAAAdwYXltZW50AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAVfd2luXwUAAAANd2FsbGV0QWRkcmVzcwUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADV93aW5fYXNzZXRJZF8CAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAxfd2luX3RpY2tldF8IBQAAAAdwYXltZW50AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAVfd2luXwUAAAANd2FsbGV0QWRkcmVzcwUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleRgOTHg=", "height": 1384502, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4ygTqaKdirkJoG9mvjqsPLzsSbcbMRAzXy9v9PWeYp9S Next: CGFm5bRnS243Q8gpgQ6CvxRvzXrrevZKbPeru6sijtCd Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let lotterypoolname = "_lottery_amount_pool_"
55
66 let lotterypoolprobability = "_lottery_prob_"
77
88 let lotterypoolprice = "_lottery_price_"
99
1010 let lotteryprices = "_lottery_prices_"
1111
1212 func randomizer (inv) = {
1313 let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
1414 sha256(rand)
1515 }
1616
1717
1818 @Callable(i)
1919 func updateprobability (probability,amount,poolprice,token) = {
2020 let tempValue = match getString(this, lotteryprices) {
2121 case a: String =>
2222 a
2323 case _ =>
2424 ""
2525 }
2626 let containKey = indexOf(tempValue, token)
2727 let finalValue = match containKey {
2828 case _: Unit =>
2929 ((tempValue + token) + ",")
3030 case x: Int =>
3131 tempValue
3232 case _ =>
3333 throw("Match error")
3434 }
3535 let updateLotteryPool = WriteSet([DataEntry((lotterypoolname + token), amount), DataEntry((lotterypoolprobability + token), probability), DataEntry((lotterypoolprice + token), poolprice), DataEntry(lotteryprices, finalValue)])
3636 ScriptResult(updateLotteryPool, TransferSet(nil))
3737 }
3838
3939
4040
4141 @Callable(i)
4242 func startlotto (token,walletAddress) = {
4343 let callerAddress = toBase58String(i.caller.bytes)
4444 let recipientaddress = addressFromStringValue(walletAddress)
4545 let storedToken = getInteger(this, (lotterypoolname + token))
4646 let prob = getInteger(this, (lotterypoolprobability + token))
4747 let price = getInteger(this, (lotterypoolprice + token))
4848 let payment = extract(i.payment)
4949 let randhash = randomizer(i)
5050 let aggPrice = ((payment.amount * 190) / 100)
5151 let tempPrices = match getString(this, lotteryprices) {
5252 case t: String =>
5353 split(t, ",")
5454 case _: Unit =>
5555 split("", ",")
5656 case _ =>
5757 throw("Match error")
5858 }
5959 let hasWin = false
6060 let winTransfer = TransferSet([ScriptTransfer(recipientaddress, aggPrice, unit)])
6161 if ((500 > (toInt(randhash) % 1000)))
6262 then {
6363 let writeSets = WriteSet([DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_"), walletAddress)])
6464 ScriptResult(writeSets, winTransfer)
6565 }
6666 else {
6767 let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_"), walletAddress)])
6868 ScriptResult(writeSets, TransferSet(nil))
6969 }
7070 }
7171
7272
7373 @Verifier(tx)
7474 func verify () = match tx {
7575 case _: DataTransaction =>
7676 true
7777 case _: SetScriptTransaction =>
7878 true
7979 case _ =>
8080 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8181 }
8282

github/deemru/w8io/873ac7e 
28.86 ms