tx · D7jT6iKc26URuvbHAxS6Vsuy5bSmu4UPdkfQhZgUTBZb 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b: -0.01400000 Waves 2021.02.04 15:04 [1383414] smart account 3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b > SELF 0.00000000 Waves
{ "type": 13, "id": "D7jT6iKc26URuvbHAxS6Vsuy5bSmu4UPdkfQhZgUTBZb", "fee": 1400000, "feeAssetId": null, "timestamp": 1612440338443, "version": 2, "chainId": 84, "sender": "3Mt71RiSbWYENDmeyndvwjoJZwUsXfUkR6b", "senderPublicKey": "3BKFQLeo5ExZ5Y1pt9Ftzsno7aRwzD96zoYVHP3tcLgV", "proofs": [ "tkv8hHEMxkiQmVs9t6oMPFVNimfGm7grkaK7GnJxQ7tSG7cdAwwEK79DxVojetmuNqv6kZeeeWCrP1wKWay6VBt" ], "script": "base64:AAIDAAAAAAAAABAIARIFCgMBAQgSBQoDAQgIAAAAAwEAAAAKcmFuZG9taXplcgAAAAEAAAADaW52BAAAAARyYW5kCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAAywAAAAIIBQAAAANpbnYAAAANdHJhbnNhY3Rpb25JZAgFAAAAA2ludgAAAA9jYWxsZXJQdWJsaWNLZXkIBQAAAAlsYXN0QmxvY2sAAAATZ2VuZXJhdGlvblNpZ25hdHVyZQkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkAAZoAAAABCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkAAfcAAAABBQAAAARyYW5kAAAAAA9sb3R0ZXJ5cG9vbG5hbWUCAAAAFV9sb3R0ZXJ5X2Ftb3VudF9wb29sXwAAAAAWbG90dGVyeXBvb2xwcm9iYWJpbGl0eQIAAAAOX2xvdHRlcnlfcHJvYl8AAAACAAAAAWkBAAAAEXVwZGF0ZXByb2JhYmlsaXR5AAAAAwAAAAtwcm9iYWJpbGl0eQAAAAZhbW91bnQAAAAFdG9rZW4EAAAAEXVwZGF0ZUxvdHRlcnlQb29sCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAD2xvdHRlcnlwb29sbmFtZQUAAAAFdG9rZW4FAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA9sb3R0ZXJ5cG9vbG5hbWUFAAAABXRva2VuBQAAAAtwcm9iYWJpbGl0eQUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAARdXBkYXRlTG90dGVyeVBvb2wJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAApzdGFydGxvdHRvAAAAAwAAAAZ0aWNrZXQAAAAHYXNzZXRJZAAAAA13YWxsZXRBZGRyZXNzBAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAEHJlY2lwaWVudGFkZHJlc3MJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQUAAAANd2FsbGV0QWRkcmVzcwQAAAAHcGF5bWVudAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAhyYW5kaGFzaAkBAAAACnJhbmRvbWl6ZXIAAAABBQAAAAFpBAAAAAVwcmljZQkAAGkAAAACCQAAaAAAAAIIBQAAAAdwYXltZW50AAAABmFtb3VudAAAAAAAAAAAvgAAAAAAAAAAZAQAAAALd2luVHJhbnNmZXIJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAQcmVjaXBpZW50YWRkcmVzcwUAAAAFcHJpY2UFAAAABHVuaXQFAAAAA25pbAMJAABmAAAAAgAAAAAAAAAB9AkAAGoAAAACCQAEsQAAAAEFAAAACHJhbmRoYXNoAAAAAAAAAAPoBAAAAAl3cml0ZVNldHMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAANY2FsbGVyQWRkcmVzcwIAAAANX3dpbl9hc3NldElkXwUAAAAHYXNzZXRJZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAxfd2luX3RpY2tldF8IBQAAAAdwYXltZW50AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAApfd2luX3ByaWNlBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAVfd2luXwUAAAANd2FsbGV0QWRkcmVzcwUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzBQAAAAt3aW5UcmFuc2ZlcgQAAAAJd3JpdGVTZXRzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAADV93aW5fYXNzZXRJZF8CAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAxfd2luX3RpY2tldF8IBQAAAAdwYXltZW50AAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAApfd2luX3ByaWNlBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAVfd2luXwUAAAANd2FsbGV0QWRkcmVzcwUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgUAAAAJd3JpdGVTZXRzCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleZelRoM=", "height": 1383414, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: A9AuC5dEHRJpPr5R1yj6rRwrLLX3ADAD4JznAxmQT9An Next: 8cn3ZZj1gQGZ5BNRGMhsz8Hd2ZWnEfX2bUKrXCmuvkeH Diff:
Old | New | Differences | |
---|---|---|---|
7 | 7 | } | |
8 | 8 | ||
9 | 9 | ||
10 | + | let lotterypoolname = "_lottery_amount_pool_" | |
11 | + | ||
12 | + | let lotterypoolprobability = "_lottery_prob_" | |
13 | + | ||
10 | 14 | @Callable(i) | |
11 | 15 | func updateprobability (probability,amount,token) = { | |
12 | - | let lotterypoolname = "_lottery_amount_pool_" | |
13 | - | let lotterypoolprobability = "_lottery_prob_" | |
14 | 16 | let updateLotteryPool = WriteSet([DataEntry((lotterypoolname + token), amount), DataEntry((lotterypoolname + token), probability)]) | |
15 | 17 | ScriptResult(updateLotteryPool, TransferSet(nil)) | |
16 | 18 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func randomizer (inv) = { | |
5 | 5 | let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height)) | |
6 | 6 | sha256(rand) | |
7 | 7 | } | |
8 | 8 | ||
9 | 9 | ||
10 | + | let lotterypoolname = "_lottery_amount_pool_" | |
11 | + | ||
12 | + | let lotterypoolprobability = "_lottery_prob_" | |
13 | + | ||
10 | 14 | @Callable(i) | |
11 | 15 | func updateprobability (probability,amount,token) = { | |
12 | - | let lotterypoolname = "_lottery_amount_pool_" | |
13 | - | let lotterypoolprobability = "_lottery_prob_" | |
14 | 16 | let updateLotteryPool = WriteSet([DataEntry((lotterypoolname + token), amount), DataEntry((lotterypoolname + token), probability)]) | |
15 | 17 | ScriptResult(updateLotteryPool, TransferSet(nil)) | |
16 | 18 | } | |
17 | 19 | ||
18 | 20 | ||
19 | 21 | ||
20 | 22 | @Callable(i) | |
21 | 23 | func startlotto (ticket,assetId,walletAddress) = { | |
22 | 24 | let callerAddress = toBase58String(i.caller.bytes) | |
23 | 25 | let recipientaddress = addressFromStringValue(walletAddress) | |
24 | 26 | let payment = extract(i.payment) | |
25 | 27 | let randhash = randomizer(i) | |
26 | 28 | let price = ((payment.amount * 190) / 100) | |
27 | 29 | let winTransfer = TransferSet([ScriptTransfer(recipientaddress, price, unit)]) | |
28 | 30 | if ((500 > (toInt(randhash) % 1000))) | |
29 | 31 | then { | |
30 | 32 | let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), assetId), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)]) | |
31 | 33 | ScriptResult(writeSets, winTransfer) | |
32 | 34 | } | |
33 | 35 | else { | |
34 | 36 | let writeSets = WriteSet([DataEntry((callerAddress + "_win_assetId_"), ""), DataEntry((callerAddress + "_win_ticket_"), payment.amount), DataEntry((callerAddress + "_win_price"), price), DataEntry((callerAddress + "_win_"), walletAddress)]) | |
35 | 37 | ScriptResult(writeSets, TransferSet(nil)) | |
36 | 38 | } | |
37 | 39 | } | |
38 | 40 | ||
39 | 41 | ||
40 | 42 | @Verifier(tx) | |
41 | 43 | func verify () = match tx { | |
42 | 44 | case _: DataTransaction => | |
43 | 45 | true | |
44 | 46 | case _: SetScriptTransaction => | |
45 | 47 | true | |
46 | 48 | case _ => | |
47 | 49 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
48 | 50 | } | |
49 | 51 |
github/deemru/w8io/c3f4982 30.98 ms ◑