tx · F1omf2QfP2LjjeueU9Xm9XGC6fQWtnfkwMohzkceYuYc

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.06 07:09 [1385824] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "F1omf2QfP2LjjeueU9Xm9XGC6fQWtnfkwMohzkceYuYc", "fee": 1400000, "feeAssetId": null, "timestamp": 1612584559089, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "3QZ6E3AuST4yerz3i1T8hheV8bWxfo5L2YTLRjU4UFiiBK9263fqWRmYFu6YDaRoWVcMT9dVzWWXW9uWuURJvCgL" ], "script": "base64:AAIDAAAAAAAAABAIARIGCgQBAQEIEgQKAggIAAAABQAAAAAPbG90dGVyeXBvb2xuYW1lAgAAABVfbG90dGVyeV9hbW91bnRfcG9vbF8AAAAAFmxvdHRlcnlwb29scHJvYmFiaWxpdHkCAAAADl9sb3R0ZXJ5X3Byb2JfAAAAABBsb3R0ZXJ5cG9vbHByaWNlAgAAAA9fbG90dGVyeV9wcmljZV8AAAAADWxvdHRlcnlwcmljZXMCAAAAEF9sb3R0ZXJ5X3ByaWNlc18BAAAACnJhbmRvbWl6ZXIAAAABAAAAA2ludgQAAAAEcmFuZAkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCAUAAAADaW52AAAADXRyYW5zYWN0aW9uSWQIBQAAAANpbnYAAAAPY2FsbGVyUHVibGljS2V5CAUAAAAJbGFzdEJsb2NrAAAAE2dlbmVyYXRpb25TaWduYXR1cmUJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQJAAH3AAAAAQUAAAAEcmFuZAAAAAIAAAABaQEAAAARdXBkYXRlcHJvYmFiaWxpdHkAAAAEAAAAC3Byb2JhYmlsaXR5AAAABmFtb3VudAAAAAlwb29scHJpY2UAAAAFdG9rZW4EAAAACXRlbXBWYWx1ZQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAA1sb3R0ZXJ5cHJpY2VzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAQAAAAKY29udGFpbktleQkABLMAAAACBQAAAAl0ZW1wVmFsdWUFAAAABXRva2VuBAAAAApmaW5hbFZhbHVlBAAAAAckbWF0Y2gwBQAAAApjb250YWluS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0CQABLAAAAAIJAAEsAAAAAgUAAAAJdGVtcFZhbHVlBQAAAAV0b2tlbgIAAAABLAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAF4BQAAAAckbWF0Y2gwBQAAAAl0ZW1wVmFsdWUJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAAEXVwZGF0ZUxvdHRlcnlQb29sCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAD2xvdHRlcnlwb29sbmFtZQUAAAAFdG9rZW4FAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAABZsb3R0ZXJ5cG9vbHByb2JhYmlsaXR5BQAAAAV0b2tlbgUAAAALcHJvYmFiaWxpdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAQbG90dGVyeXBvb2xwcmljZQUAAAAFdG9rZW4FAAAACXBvb2xwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANbG90dGVyeXByaWNlcwUAAAAKZmluYWxWYWx1ZQUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAApzdGFydGxvdHRvAAAAAgAAAAV0b2tlbgAAAA13YWxsZXRBZGRyZXNzBAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEHJlY2lwaWVudGFkZHJlc3MJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAANd2FsbGV0QWRkcmVzcwQAAAALc3RvcmVkVG9rZW4JAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAA9sb3R0ZXJ5cG9vbG5hbWUFAAAABXRva2VuBAAAAARwcm9iCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAWbG90dGVyeXBvb2xwcm9iYWJpbGl0eQUAAAAFdG9rZW4EAAAABXByaWNlCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAQbG90dGVyeXBvb2xwcmljZQUAAAAFdG9rZW4EAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAIcmFuZGhhc2gJAQAAAApyYW5kb21pemVyAAAAAQUAAAABaQQAAAAIYWdnUHJpY2UJAABpAAAAAgkAAGgAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQAAAAAAAAAAL4AAAAAAAAAAGQEAAAACnRlbXBQcmljZXMJAQAAAAdleHRyYWN0AAAAAQkABB0AAAACBQAAAAR0aGlzBQAAAA1sb3R0ZXJ5cHJpY2VzBAAAABNpc1RlbXBQcmljZXNEZWZpbmVkCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAKdGVtcFByaWNlcwQAAAAKdHJpbVByaWNlcwkAAS8AAAACBQAAAAp0ZW1wUHJpY2VzCQAAZQAAAAIJAAExAAAAAQUAAAAKdGVtcFByaWNlcwAAAAAAAAAAAQQAAAALcHJpY2VzQXJyYXkJAAS1AAAAAgUAAAAKdHJpbVByaWNlcwIAAAABLAQAAAANc2l6ZVRlbXBQcmljZQkAAZAAAAABBQAAAAtwcmljZXNBcnJheQQAAAARZGF0U2l6ZVByaWNlRW50cnkJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAAEF93aW5wcmljZXNfc2l6ZV8FAAAADXNpemVUZW1wUHJpY2UEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEHJlY2lwaWVudGFkZHJlc3MFAAAACGFnZ1ByaWNlBQAAAAR1bml0BQAAAANuaWwDCQAAZgAAAAIAAAAAAAAAAfQJAABqAAAAAgkABLEAAAABBQAAAAhyYW5kaGFzaAAAAAAAAAAD6AQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADF93aW5fdGlja2V0XwgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAETAAAAAIFAAAAEWRhdFNpemVQcmljZUVudHJ5BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAANX3dpbl9hc3NldElkXwIAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADF93aW5fdGlja2V0XwgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABV93aW5fBQAAAA13YWxsZXRBZGRyZXNzCQAETAAAAAIFAAAAEWRhdFNpemVQcmljZUVudHJ5BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5jrZQfw==", "height": 1385824, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2uXdCG85P4YsRkwyzNFMSxTGePYHdhk3VtUdMMEVp9hd Next: Bh9s1Dz8G7Rrb1kxeBBFwxUAtECreTqHVSwaqVmJKHnb Diff:
OldNewDifferences
5050 let aggPrice = ((payment.amount * 190) / 100)
5151 let tempPrices = extract(getString(this, lotteryprices))
5252 let isTempPricesDefined = isDefined(tempPrices)
53- let trimPrices = takeRight(tempPrices, (size(tempPrices) - 1))
53+ let trimPrices = take(tempPrices, (size(tempPrices) - 1))
5454 let pricesArray = split(trimPrices, ",")
5555 let sizeTempPrice = size(pricesArray)
5656 let datSizePriceEntry = DataEntry((callerAddress + "_winprices_size_"), sizeTempPrice)
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 = extract(getString(this, lotteryprices))
5252 let isTempPricesDefined = isDefined(tempPrices)
53- let trimPrices = takeRight(tempPrices, (size(tempPrices) - 1))
53+ let trimPrices = take(tempPrices, (size(tempPrices) - 1))
5454 let pricesArray = split(trimPrices, ",")
5555 let sizeTempPrice = size(pricesArray)
5656 let datSizePriceEntry = DataEntry((callerAddress + "_winprices_size_"), sizeTempPrice)
5757 let winTransfer = TransferSet([ScriptTransfer(recipientaddress, aggPrice, unit)])
5858 if ((500 > (toInt(randhash) % 1000)))
5959 then {
6060 let writeSets = WriteSet([DataEntry((callerAddress + "_win_ticket_"), payment.amount), datSizePriceEntry])
6161 ScriptResult(writeSets, winTransfer)
6262 }
6363 else {
6464 let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_"), walletAddress), datSizePriceEntry])
6565 ScriptResult(writeSets, TransferSet(nil))
6666 }
6767 }
6868
6969
7070 @Verifier(tx)
7171 func verify () = match tx {
7272 case _: DataTransaction =>
7373 true
7474 case _: SetScriptTransaction =>
7575 true
7676 case _ =>
7777 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7878 }
7979

github/deemru/w8io/c3f4982 
22.87 ms