tx · AyQRDHDoRJH87qaasfJ7YyjVyGDkhdkTZkbdm7EyxNfu

3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b:  -0.01400000 Waves

2021.02.04 15:24 [1383436] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves

{ "type": 13, "id": "AyQRDHDoRJH87qaasfJ7YyjVyGDkhdkTZkbdm7EyxNfu", "fee": 1400000, "feeAssetId": null, "timestamp": 1612441494869, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "9UsUrkwfgJ4n5U57vG1wDPYycp84Fydey1pxEGmuTWuXFUpF89ApAuJNXLEC96Dy6UtqsipDtcHmiEBQMKBC6yL" ], "script": "base64:AAIDAAAAAAAAAA8IARIFCgMBAQgSBAoCCAgAAAADAAAAAA9sb3R0ZXJ5cG9vbG5hbWUCAAAAFV9sb3R0ZXJ5X2Ftb3VudF9wb29sXwAAAAAWbG90dGVyeXBvb2xwcm9iYWJpbGl0eQIAAAAOX2xvdHRlcnlfcHJvYl8BAAAACnJhbmRvbWl6ZXIAAAABAAAAA2ludgQAAAAEcmFuZAkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCAUAAAADaW52AAAADXRyYW5zYWN0aW9uSWQIBQAAAANpbnYAAAAPY2FsbGVyUHVibGljS2V5CAUAAAAJbGFzdEJsb2NrAAAAE2dlbmVyYXRpb25TaWduYXR1cmUJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAAGaAAAAAQgFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQJAAH3AAAAAQUAAAAEcmFuZAAAAAIAAAABaQEAAAARdXBkYXRlcHJvYmFiaWxpdHkAAAADAAAAC3Byb2JhYmlsaXR5AAAABmFtb3VudAAAAAV0b2tlbgQAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAPbG90dGVyeXBvb2xuYW1lBQAAAAV0b2tlbgUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAFmxvdHRlcnlwb29scHJvYmFiaWxpdHkFAAAABXRva2VuBQAAAAtwcm9iYWJpbGl0eQUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAApzdGFydGxvdHRvAAAAAgAAAAV0b2tlbgAAAA13YWxsZXRBZGRyZXNzBAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEHJlY2lwaWVudGFkZHJlc3MJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAANd2FsbGV0QWRkcmVzcwQAAAALc3RvcmVkVG9rZW4JAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAA9sb3R0ZXJ5cG9vbG5hbWUFAAAABXRva2VuBAAAAARwcm9iCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAWbG90dGVyeXBvb2xwcm9iYWJpbGl0eQUAAAAFdG9rZW4EAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAIcmFuZGhhc2gJAQAAAApyYW5kb21pemVyAAAAAQUAAAABaQQAAAAFcHJpY2UJAABpAAAAAgkAAGgAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQAAAAAAAAAAL4AAAAAAAAAAGQEAAAAC3dpblRyYW5zZmVyCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEHJlY2lwaWVudGFkZHJlc3MFAAAABXByaWNlBQAAAAR1bml0BQAAAANuaWwDCQAAZgAAAAIAAAAAAAAAAfQJAABqAAAAAgkABLEAAAABBQAAAAhyYW5kaGFzaAAAAAAAAAAD6AQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADF93aW5fdGlja2V0XwgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAACl93aW5fcHJpY2UFAAAABXByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABV93aW5fBQAAAA13YWxsZXRBZGRyZXNzBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMFAAAAC3dpblRyYW5zZmVyBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAANX3dpbl9hc3NldElkXwIAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADF93aW5fdGlja2V0XwgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAACl93aW5fcHJpY2UFAAAABXByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABV93aW5fBQAAAA13YWxsZXRBZGRyZXNzBQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACBQAAAAl3cml0ZVNldHMJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgYJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5bqS8uQ==", "height": 1383436, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8cn3ZZj1gQGZ5BNRGMhsz8Hd2ZWnEfX2bUKrXCmuvkeH Next: Fq86HGWELU4sfuAzEAqkUDcovtdi4CTXKuNbBG21FPmm Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let lotterypoolname = "_lottery_amount_pool_"
5+
6+let lotterypoolprobability = "_lottery_prob_"
7+
48 func randomizer (inv) = {
59 let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
610 sha256(rand)
711 }
812
913
10-let lotterypoolname = "_lottery_amount_pool_"
11-
12-let lotterypoolprobability = "_lottery_prob_"
13-
1414 @Callable(i)
1515 func updateprobability (probability,amount,token) = {
16- let updateLotteryPool = WriteSet([DataEntry((lotterypoolname + token), amount), DataEntry((lotterypoolname + token), probability)])
16+ let updateLotteryPool = WriteSet([DataEntry((lotterypoolname + token), amount), DataEntry((lotterypoolprobability + token), probability)])
1717 ScriptResult(updateLotteryPool, TransferSet(nil))
1818 }
1919
2020
2121
2222 @Callable(i)
23-func startlotto (ticket,assetId,walletAddress) = {
23+func startlotto (token,walletAddress) = {
2424 let callerAddress = toBase58String(i.caller.bytes)
2525 let recipientaddress = addressFromStringValue(walletAddress)
26+ let storedToken = getInteger(this, (lotterypoolname + token))
27+ let prob = getInteger(this, (lotterypoolprobability + token))
2628 let payment = extract(i.payment)
2729 let randhash = randomizer(i)
2830 let price = ((payment.amount * 190) / 100)
2931 let winTransfer = TransferSet([ScriptTransfer(recipientaddress, price, unit)])
3032 if ((500 > (toInt(randhash) % 1000)))
3133 then {
32- let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), assetId), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
34+ let writeSets = WriteSet([DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
3335 ScriptResult(writeSets, winTransfer)
3436 }
3537 else {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let lotterypoolname = "_lottery_amount_pool_"
5+
6+let lotterypoolprobability = "_lottery_prob_"
7+
48 func randomizer (inv) = {
59 let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
610 sha256(rand)
711 }
812
913
10-let lotterypoolname = "_lottery_amount_pool_"
11-
12-let lotterypoolprobability = "_lottery_prob_"
13-
1414 @Callable(i)
1515 func updateprobability (probability,amount,token) = {
16- let updateLotteryPool = WriteSet([DataEntry((lotterypoolname + token), amount), DataEntry((lotterypoolname + token), probability)])
16+ let updateLotteryPool = WriteSet([DataEntry((lotterypoolname + token), amount), DataEntry((lotterypoolprobability + token), probability)])
1717 ScriptResult(updateLotteryPool, TransferSet(nil))
1818 }
1919
2020
2121
2222 @Callable(i)
23-func startlotto (ticket,assetId,walletAddress) = {
23+func startlotto (token,walletAddress) = {
2424 let callerAddress = toBase58String(i.caller.bytes)
2525 let recipientaddress = addressFromStringValue(walletAddress)
26+ let storedToken = getInteger(this, (lotterypoolname + token))
27+ let prob = getInteger(this, (lotterypoolprobability + token))
2628 let payment = extract(i.payment)
2729 let randhash = randomizer(i)
2830 let price = ((payment.amount * 190) / 100)
2931 let winTransfer = TransferSet([ScriptTransfer(recipientaddress, price, unit)])
3032 if ((500 > (toInt(randhash) % 1000)))
3133 then {
32- let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), assetId), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
34+ let writeSets = WriteSet([DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
3335 ScriptResult(writeSets, winTransfer)
3436 }
3537 else {
3638 let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)])
3739 ScriptResult(writeSets, TransferSet(nil))
3840 }
3941 }
4042
4143
4244 @Verifier(tx)
4345 func verify () = match tx {
4446 case _: DataTransaction =>
4547 true
4648 case _: SetScriptTransaction =>
4749 true
4850 case _ =>
4951 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5052 }
5153

github/deemru/w8io/873ac7e 
41.86 ms