tx · EqmpxiqvWvaEQ5Bd3axkseZ16HZCxk9HXGzEw7LSZum2

3NCMVbH9EWZogGDLtS8sf1N4ShcoDUqxrn7:  -0.01400000 Waves

2020.01.24 18:24 [868566] smart account 3NCMVbH9EWZogGDLtS8sf1N4ShcoDUqxrn7 > SELF 0.00000000 Waves

{ "type": 13, "id": "EqmpxiqvWvaEQ5Bd3axkseZ16HZCxk9HXGzEw7LSZum2", "fee": 1400000, "feeAssetId": null, "timestamp": 1579879448069, "version": 1, "sender": "3NCMVbH9EWZogGDLtS8sf1N4ShcoDUqxrn7", "senderPublicKey": "JAAzQjxgzdgjCEdwXpfgpoMVcDpJRs4WgA9eTKxJYitU", "proofs": [ "4jfXAvqZ8TtmzyrX7iJEkQHoZUcfmxqTcvJkoJ9aViDwAiLCep7NgKAiEJqLpGLJfSy1THqMxVsoc19uNMFNY1tC" ], "script": "base64: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", "chainId": 84, "height": 868566, "spentComplexity": 0 } View: original | compacted Prev: 5dnMr6dnEGiF7GWbUZC5KEp8W6P8gBUicyYfHjbWWShP Next: 5gYvdDEXozkTqdHVwLohc8etYaTPDGGwajc67R3BUFTN Diff:
OldNewDifferences
7070 }
7171
7272
73+
74+@Callable(i)
75+func foo () = WriteSet(nil)
76+
77+
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let rootAccountPublicKey = base58''
55
66 func getPlayerPublicKey (data) = take(data, 32)
77
88
99 func getRandom (data) = take(drop(data, 32), 32)
1010
1111
1212 func getStartHeight (data) = toInt(take(drop(data, (32 + 32)), 8))
1313
1414
1515 func getEndHeight (data) = toInt(take(drop(data, ((32 + 32) + 8)), 8))
1616
1717
1818 func getIsUsed (data) = toInt(take(drop(data, (((32 + 32) + 8) + 8)), 8))
1919
2020
2121 func userDailyQuestKey (key,startHeight,endHeight) = ((((("QUESTS_" + toBase58String(key)) + "_") + toString(startHeight)) + "_") + toString(endHeight))
2222
2323
2424 func userDailyQuest (key,random,startHeight,endHeight,isUsed) = DataEntry(userDailyQuestKey(key, startHeight, endHeight), ((((key + random) + toBytes(startHeight)) + toBytes(endHeight)) + toBytes(isUsed)))
2525
2626
2727 func isPlayer (i,pubKey) = (i.callerPublicKey == pubKey)
2828
2929
3030 func isRoot (i) = (i.callerPublicKey == rootAccountPublicKey)
3131
3232
3333 @Callable(i)
3434 func setPlayerDailyQuest (playerPublicKey,random) = if (!(isRoot(i)))
3535 then throw("Only root can call this.")
3636 else WriteSet([userDailyQuest(playerPublicKey, random, height, (height + (24 * 60)), 0)])
3737
3838
3939
4040 @Callable(i)
4141 func playerInvoke (dailyQuestKey,signedRandom) = {
4242 let data = extract(getBinary(this, dailyQuestKey))
4343 let playerPublicKey = getPlayerPublicKey(data)
4444 let random = getRandom(data)
4545 let startHeight = getStartHeight(data)
4646 let endHeight = getEndHeight(data)
4747 let isUsed = (getIsUsed(data) == 1)
4848 let isValid = rsaVerify(Sha256(), random, signedRandom, playerPublicKey)
4949 if (!(isPlayer(i, playerPublicKey)))
5050 then throw((("Only " + toBase58String(playerPublicKey)) + " player can do this."))
5151 else if (!(isValid))
5252 then throw("Signature is not valid.")
5353 else if (isUsed)
5454 then throw("Already used.")
5555 else if ((height > endHeight))
5656 then throw("Too late.")
5757 else if ((startHeight > height))
5858 then throw("Too early.")
5959 else {
6060 let r = (((((toInt(take(signedRandom, 8)) % 100) + (toInt(take(drop(signedRandom, 8), 8)) % 100)) + (toInt(take(drop(signedRandom, 16), 8)) % 100)) + (toInt(take(drop(signedRandom, 24), 8)) % 100)) / 4)
6161 let itemId = if ((r > 90))
6262 then "uniqAssetId"
6363 else if ((r > 70))
6464 then "rareAssetId"
6565 else if ((r > 30))
6666 then "uncommonAssetId"
6767 else "commonAssetId"
6868 ScriptResult(WriteSet([userDailyQuest(playerPublicKey, random, startHeight, endHeight, 1)]), TransferSet([ScriptTransfer(addressFromPublicKey(playerPublicKey), 1, fromBase58String(itemId)), ScriptTransfer(addressFromPublicKey(playerPublicKey), 500000, unit)]))
6969 }
7070 }
7171
7272
73+
74+@Callable(i)
75+func foo () = WriteSet(nil)
76+
77+

github/deemru/w8io/3ef1775 
39.19 ms