tx · 6fEApCkVQ7xwQkkLrB1SuvQDC6DfsZFLsKgr6YUmKVX8

3Mp3rjstd81a5fxytAqYkpcE5cvT5ixWiG1:  -0.01400000 Waves

2019.08.22 07:50 [641848] smart account 3Mp3rjstd81a5fxytAqYkpcE5cvT5ixWiG1 > SELF 0.00000000 Waves

{ "type": 13, "id": "6fEApCkVQ7xwQkkLrB1SuvQDC6DfsZFLsKgr6YUmKVX8", "fee": 1400000, "feeAssetId": null, "timestamp": 1566449120007, "version": 1, "sender": "3Mp3rjstd81a5fxytAqYkpcE5cvT5ixWiG1", "senderPublicKey": "EvWE7yop4Mk9nior5bdHfnPCaipLA8rLK4d9VKdecDXR", "proofs": [ "3cDa1YdynTMQ9Ptau1mFCZFjMDV1ALUaK6qAYvzjEqDhm1tunE2S6HGacGMghjdibtY5tGAAr67fMLejMj7jEJ6U" ], "script": "base64:AAIDAAAAAAAAAAAAAAABAQAAABR2b3RlcklzQWxsb3dlZFRvVm90ZQAAAAEAAAAOdm90ZXJQdWJsaWNLZXkEAAAADWFsZWtzZWlQdWJLZXkBAAAAILygSgO/tG4xLiEleiogrcSlL+UsJI9RvELkQWiTgw5nBAAAAAphbm5hUHViS2V5AQAAACDrVhrJej966L7Vzv+lxOeGMnrr3AsUZhXgIl7GaoMHSQMDCQEAAAACIT0AAAACBQAAAA52b3RlclB1YmxpY0tleQUAAAANYWxla3NlaVB1YktleQkBAAAAAiE9AAAAAgUAAAAOdm90ZXJQdWJsaWNLZXkFAAAACmFubmFQdWJLZXkHBwYAAAABAAAAAWkBAAAABHZvdGUAAAABAAAAB3RoZVZvdGUDCQEAAAABIQAAAAEJAQAAABR2b3RlcklzQWxsb3dlZFRvVm90ZQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAADtZb3UgY2FuIG5vdCB2b3RlIGJlY2F1c2UgeW91IGFyZSBub3QgaW4gdGhlIGxpc3Qgb2Ygdm90ZXJzIQQAAAAPZGF0YUZyb21TdG9yYWdlCQAEGgAAAAIFAAAABHRoaXMJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AwkBAAAACWlzRGVmaW5lZAAAAAEFAAAAD2RhdGFGcm9tU3RvcmFnZQkAAAIAAAABAgAAAD5Zb3UgaGF2ZSBhbHJlYWR5IHZvdGVkISBWb3RpbmcgdGhlIHNlY29uZCB0aW1lIGlzIG5vdCBhbGxvd2VkLgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAAB3RoZVZvdGUFAAAAA25pbAAAAAD//Ynn", "chainId": 84, "height": 641848, "spentComplexity": 0 } View: original | compacted Prev: GnbFnd1wp59XVdmzhAcvw8R76HYPvDXjRXxMUmvh4hUV Next: HW5jKVLVvaCYnZ7PXuSG3HnFDaGQzjHhnbhLz6Txeyyb Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+func voterIsAllowedToVote (voterPublicKey) = {
5+ let alekseiPubKey = base58'DhKQeU3bRjNVDYtQoQ6Xg2Hfnq7iZgLjjt7KH9NHahVg'
6+ let annaPubKey = base58'Gqexhd3H6RDBFQY9GcQdEPkxjzkiT9bAvrHXqJzJTaCg'
7+ if (if ((voterPublicKey != alekseiPubKey))
8+ then (voterPublicKey != annaPubKey)
9+ else false)
10+ then false
11+ else true
12+ }
413
514
615 @Callable(i)
7-func deposit () = {
8- let pmt = extract(i.payment)
9- if (isDefined(pmt.assetId))
10- then throw("can hold waves only at the moment")
11- else {
12- let currentKey = toBase58String(i.caller.bytes)
13- let currentAmount = match getInteger(this, currentKey) {
14- case a: Int =>
15- a
16- case _ =>
17- 0
18- }
19- let newAmount = (currentAmount + pmt.amount)
20- WriteSet([DataEntry(currentKey, newAmount)])
21- }
22- }
16+func vote (theVote) = if (!(voterIsAllowedToVote(i.callerPublicKey)))
17+ then throw("You can not vote because you are not in the list of voters!")
18+ else {
19+ let dataFromStorage = getInteger(this, toBase58String(i.callerPublicKey))
20+ if (isDefined(dataFromStorage))
21+ then throw("You have already voted! Voting the second time is not allowed.")
22+ else WriteSet([DataEntry(toBase58String(i.callerPublicKey), theVote)])
23+ }
2324
24-
25-
26-@Callable(i)
27-func withdraw (amount) = {
28- let currentKey = toBase58String(i.caller.bytes)
29- let currentAmount = match getInteger(this, currentKey) {
30- case a: Int =>
31- a
32- case _ =>
33- 0
34- }
35- let newAmount = (currentAmount - amount)
36- if ((0 > amount))
37- then throw("Can't withdraw negative amount")
38- else if ((0 > newAmount))
39- then throw("Not enough balance")
40- else ScriptResult(WriteSet([DataEntry(currentKey, newAmount)]), TransferSet([ScriptTransfer(i.caller, amount, unit)]))
41- }
42-
43-
44-@Verifier(tx)
45-func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
4625

github/deemru/w8io/169f3d6 
34.73 ms