tx · H7LhcMX4Fk6ExGZKkM3nEekQh7phwFbJdPt3CrRLfyE5

3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH:  -0.01400000 Waves

2021.05.17 01:34 [1528835] smart account 3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH > SELF 0.00000000 Waves

{ "type": 13, "id": "H7LhcMX4Fk6ExGZKkM3nEekQh7phwFbJdPt3CrRLfyE5", "fee": 1400000, "feeAssetId": null, "timestamp": 1621204443487, "version": 2, "chainId": 84, "sender": "3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH", "senderPublicKey": "6it1s6XyHkFTbzgCJPXSeHjyLYixDHy6hJgzzfbntDGB", "proofs": [ "4bidpVWceGUA5NmTHxtLcsNMihDQppFeytHUnTXSMmmh291V99f6Cdo5nQNzpMNU4tMCJuR75pYoK1H8Pa8fcRvm" ], "script": "base64:AAIDAAAAAAAAAAcIARIDCgEIAAAABAAAAAAMYW5zd2Vyc0NvdW50AAAAAAAAAAAUAAAAAAdhbnN3ZXJzCQAETAAAAAICAAAADkl0IGlzIGNlcnRhaW4uCQAETAAAAAICAAAAE0l0IGlzIGRlY2lkZWRseSBzby4JAARMAAAAAgIAAAAQV2l0aG91dCBhIGRvdWJ0LgkABEwAAAACAgAAABFZZXMgLSBkZWZpbml0ZWx5LgkABEwAAAACAgAAABNZb3UgbWF5IHJlbHkgb24gaXQuCQAETAAAAAICAAAAEUFzIEkgc2VlIGl0LCB5ZXMuCQAETAAAAAICAAAADE1vc3QgbGlrZWx5LgkABEwAAAACAgAAAA1PdXRsb29rIGdvb2QuCQAETAAAAAICAAAABFllcy4JAARMAAAAAgIAAAATU2lnbnMgcG9pbnQgdG8geWVzLgkABEwAAAACAgAAABZSZXBseSBoYXp5LCB0cnkgYWdhaW4uCQAETAAAAAICAAAAEEFzayBhZ2FpbiBsYXRlci4JAARMAAAAAgIAAAAYQmV0dGVyIG5vdCB0ZWxsIHlvdSBub3cuCQAETAAAAAICAAAAE0Nhbm5vdCBwcmVkaWN0IG5vdy4JAARMAAAAAgIAAAAaQ29uY2VudHJhdGUgYW5kIGFzayBhZ2Fpbi4JAARMAAAAAgIAAAASRG9uJ3QgY291bnQgb24gaXQuCQAETAAAAAICAAAAD015IHJlcGx5IGlzIG5vLgkABEwAAAACAgAAABJNeSBzb3VyY2VzIHNheSBuby4JAARMAAAAAgIAAAAUT3V0bG9vayBub3Qgc28gZ29vZC4JAARMAAAAAgIAAAAOVmVyeSBkb3VidGZ1bC4FAAAAA25pbAEAAAAJZ2V0QW5zd2VyAAAAAgAAAAhxdWVzdGlvbgAAAA5wcmV2aW91c0Fuc3dlcgQAAAAEaGFzaAkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIcXVlc3Rpb24FAAAADnByZXZpb3VzQW5zd2VyBAAAAAVpbmRleAkABLEAAAABBQAAAARoYXNoCQABkQAAAAIFAAAAB2Fuc3dlcnMJAABqAAAAAgUAAAAFaW5kZXgFAAAADGFuc3dlcnNDb3VudAEAAAARZ2V0UHJldmlvdXNBbnN3ZXIAAAABAAAAB2FkZHJlc3MEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAdhZGRyZXNzAgAAAAJfYQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAdhZGRyZXNzAAAAAQAAAAFpAQAAAAZ0ZWxsbWUAAAABAAAACHF1ZXN0aW9uBAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABmFuc3dlcgkBAAAACWdldEFuc3dlcgAAAAIFAAAACHF1ZXN0aW9uCQEAAAARZ2V0UHJldmlvdXNBbnN3ZXIAAAABBQAAAA1jYWxsZXJBZGRyZXNzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAAAl9xBQAAAAhxdWVzdGlvbgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJBZGRyZXNzAgAAAAJfYQUAAAAGYW5zd2VyBQAAAANuaWwAAAAAOvBJMA==", "height": 1528835, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5zPAerarQqXqhf5151P2WjoGDaLTFpJV1NghJzyi1XFe Next: EGe8nr2kv81fEMnmt93FQCUDsXVvi3Z7MhEiYLcXfpYC Full:
OldNewDifferences
1-{-# STDLIB_VERSION 4 #-}
1+{-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let midiId = base58'R8sQUmwwAENBL6B5ejGztDh3RzJ3MbKRqK7GtspFxKT'
4+let answersCount = 20
55
6-let date = lastBlock.timestamp
6+let answers = ["It is certain.", "It is decidedly so.", "Without a doubt.", "Yes - definitely.", "You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.", "Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."]
77
8-let amMidi = 0
8+func getAnswer (question,previousAnswer) = {
9+ let hash = sha256(toBytes((question + previousAnswer)))
10+ let index = toInt(hash)
11+answers[(index % answersCount)]
12+ }
913
10-func isPaymentOk (i) = if ((size(i.payments) == 0))
11- then throw("Payment not attached")
12- else {
13- let p = i.payments[0]
14- match p.assetId {
15- case _ =>
16- (30000000000000 >= p.amount)
17- }
18- }
14+
15+func getPreviousAnswer (address) = match getString(this, (address + "_a")) {
16+ case a: String =>
17+ a
18+ case _ =>
19+ address
20+}
1921
2022
2123 @Callable(i)
22-func buymidi (what) = if (isPaymentOk(i))
23- then {
24- let pp = i.payments[0]
25- let amnt = pp.amount
26- let elAmount = ((amnt / 100000000) * 6000)
27-[ScriptTransfer(i.caller, elAmount, midiId)]
28- }
29- else throw("Wrong payment amount or asset")
24+func tellme (question) = {
25+ let callerAddress = toBase58String(i.caller.bytes)
26+ let answer = getAnswer(question, getPreviousAnswer(callerAddress))
27+ WriteSet([DataEntry((callerAddress + "_q"), question), DataEntry((callerAddress + "_a"), answer)])
28+ }
3029
3130

github/deemru/w8io/03bedc9 
24.79 ms