tx · 4n2jXs5wgjeNHXSePz1eeGoFzjU53gq5WhVE6N9W6vvj 3NBvFDxdNYqr5YwFDwSjH28w8edop2SNro1: -0.05000000 Waves 2019.08.28 13:43 [650947] smart account 3NBvFDxdNYqr5YwFDwSjH28w8edop2SNro1 > SELF 0.00000000 Waves
{ "type": 13, "id": "4n2jXs5wgjeNHXSePz1eeGoFzjU53gq5WhVE6N9W6vvj", "fee": 5000000, "feeAssetId": null, "timestamp": 1566988948566, "version": 1, "sender": "3NBvFDxdNYqr5YwFDwSjH28w8edop2SNro1", "senderPublicKey": "DjqwCd39F7CCYcgBezgGx7BSPdYfzb29ghqJXWyJREw4", "proofs": [ "4WhqVPm2KiieXoXovDTBG6LpGbwph8Qea74Pp7dV8PpGSHknRyA4SLvnEjNH6vsWgmoEgt5BHkNns1K8N2nTHXfm" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAgAAAAFpAQAAAAdkZXBvc2l0AAAAAAQAAAADcG10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAIWNhbiBob2xkIHdhdmVzIG9ubHkgYXQgdGhlIG1vbWVudAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAACmN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAJbmV3QW1vdW50CQAAZAAAAAIFAAAADWN1cnJlbnRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50CQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAApjdXJyZW50S2V5BQAAAAluZXdBbW91bnQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAEAAAAGYW1vdW50BAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAKY3VycmVudEtleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAluZXdBbW91bnQJAABlAAAAAgUAAAANY3VycmVudEFtb3VudAUAAAAGYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAZhbW91bnQJAAACAAAAAQIAAAAeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAluZXdBbW91bnQJAAACAAAAAQIAAAASTm90IGVub3VnaCBiYWxhbmNlCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAKY3VycmVudEtleQUAAAAJbmV3QW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5x8TPLg==", "chainId": 84, "height": 650947, "spentComplexity": 0 } View: original | compacted Prev: 7VMxD11EnwMYoPXT5ajD3qU9xjHurBLRWmmCTSx5ex2y Next: r9WxrkAGX7fnFNe9sLYUC2obw77YqHfZryc5GgTy8GJ Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = 20 | |
5 | 4 | ||
6 | - | let b = ["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 | 5 | ||
8 | - | func c (d,e) = { | |
9 | - | let f = sha256(toBytes((d + e))) | |
10 | - | let g = toInt(f) | |
11 | - | b[(g % a)] | |
6 | + | @Callable(a) | |
7 | + | func deposit () = { | |
8 | + | let b = extract(a.payment) | |
9 | + | if (isDefined(b.assetId)) | |
10 | + | then throw("can hold waves only at the moment") | |
11 | + | else { | |
12 | + | let c = toBase58String(a.caller.bytes) | |
13 | + | let d = { | |
14 | + | let e = getInteger(this, c) | |
15 | + | if ($isInstanceOf(e, "Int")) | |
16 | + | then { | |
17 | + | let f = e | |
18 | + | f | |
19 | + | } | |
20 | + | else 0 | |
21 | + | } | |
22 | + | let g = (d + b.amount) | |
23 | + | WriteSet([DataEntry(c, g)]) | |
24 | + | } | |
12 | 25 | } | |
13 | 26 | ||
14 | 27 | ||
15 | - | func h (i) = { | |
16 | - | let j = getString(this, (i + "_a")) | |
17 | - | if ($isInstanceOf(j, "String")) | |
18 | - | then { | |
19 | - | let k = j | |
20 | - | k | |
21 | - | } | |
22 | - | else i | |
28 | + | ||
29 | + | @Callable(a) | |
30 | + | func withdraw (h) = { | |
31 | + | let c = toBase58String(a.caller.bytes) | |
32 | + | let d = { | |
33 | + | let e = getInteger(this, c) | |
34 | + | if ($isInstanceOf(e, "Int")) | |
35 | + | then { | |
36 | + | let f = e | |
37 | + | f | |
38 | + | } | |
39 | + | else 0 | |
40 | + | } | |
41 | + | let g = (d - h) | |
42 | + | if ((0 > h)) | |
43 | + | then throw("Can't withdraw negative amount") | |
44 | + | else if ((0 > g)) | |
45 | + | then throw("Not enough balance") | |
46 | + | else ScriptResult(WriteSet([DataEntry(c, g)]), TransferSet([ScriptTransfer(a.caller, h, unit)])) | |
23 | 47 | } | |
24 | 48 | ||
25 | 49 | ||
26 | - | @Callable(l) | |
27 | - | func tellme (d) = { | |
28 | - | let m = toBase58String(l.caller.bytes) | |
29 | - | let n = c(d, h(m)) | |
30 | - | WriteSet([DataEntry((m + "_q"), d), DataEntry((m + "_a"), n)]) | |
31 | - | } | |
32 | - | ||
50 | + | @Verifier(i) | |
51 | + | func j () = sigVerify(i.bodyBytes, i.proofs[0], i.senderPublicKey) | |
33 | 52 |
github/deemru/w8io/169f3d6 27.41 ms ◑