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:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let | |
4 | + | let answersCount = 20 | |
5 | 5 | ||
6 | - | let | |
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."] | |
7 | 7 | ||
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 | + | } | |
9 | 13 | ||
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 | + | } | |
19 | 21 | ||
20 | 22 | ||
21 | 23 | @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 | + | } | |
30 | 29 | ||
31 | 30 |
github/deemru/w8io/169f3d6 21.13 ms ◑![]()