tx · 4zjpjJXZoDEpRAd4nDUE1972jViF6fNEBZ8A2WFw8ivL
3N9hwrtzcWQTwfqHVV9XBYxD1Wnu5VQUi2a: -0.05000000 Waves
2019.11.22 16:03 [776460] smart account 3N9hwrtzcWQTwfqHVV9XBYxD1Wnu5VQUi2a > SELF 0.00000000 Waves
{
"type": 13,
"id": "4zjpjJXZoDEpRAd4nDUE1972jViF6fNEBZ8A2WFw8ivL",
"fee": 5000000,
"feeAssetId": null,
"timestamp": 1574427817436,
"version": 1,
"sender": "3N9hwrtzcWQTwfqHVV9XBYxD1Wnu5VQUi2a",
"senderPublicKey": "9RS1eRFUvnMZmKaaeRa4DnCF5MyD3HwHGUvGPSfVWN4u",
"proofs": [
"59UNH59UDiQJro6fc5jTpA6LKHTpww4NkV95WkxF4gsZqgehx1L5nsxAszuj5GhUfFQW6K4Qpgr59qnrDiGoN1QD"
],
"script": "base64:AAIDAAAAAAAAAAkIARIFCgMIAQgAAAAPAAAAAA5vd25lclB1YmxpY0tleQEAAAAgxb6yScY2EBcneaTGgj95xHN8Bhuy2nOgU3DRPLY8TQcAAAAAFldDVGxpY2Vuc2VUb1RyYWRlQXNzZXQBAAAAIMW+sknGNhAXJ3mkxoI/ecRzfAYbstpzoFNw0Ty2PE0HAAAAAAROT05FCQAETAAAAAICAAAABG5vbmUFAAAAA25pbAEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABF9jbnQBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAAApnZXRLZXlJdGVtAAAAAgAAAAhzdXBwbGllcgAAAAV0aXRsZQkAASwAAAACAgAAAAVpdGVtXwkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAhzdXBwbGllcgUAAAAFdGl0bGUBAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABV9kYXRhAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX293bmVyAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkAASwAAAACBQAAAAdhY2NvdW50AgAAAAhfYmFsYW5jZQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAdhY2NvdW50AAAAAQAAAAFpAQAAAAdhZGRJdGVtAAAAAwAAAAV0aXRsZQAAAAVwcmljZQAAAARkYXRhBAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAEaXRlbQkBAAAACmdldEtleUl0ZW0AAAACBQAAAA9zdXBwbGllckFkZHJlc3MFAAAABXRpdGxlAwkAAGcAAAACAAAAAAAAAAAABQAAAAVwcmljZQkAAAIAAAABAgAAAC5wdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGxlc3MgdGhhbiBpdGVtIHByaWNlAwkBAAAAAiE9AAAAAgkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAETk9ORQkAAAIAAAABAgAAABhhbiBpdGVtIGlzIGFscmVhZHkgZXhpc3QJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAA9zdXBwbGllckFkZHJlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFjBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAOb3duZXJQdWJsaWNLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAYHcUDSuw==",
"chainId": 84,
"height": 776460,
"spentComplexity": 0
}
View: original | compacted
Prev: CJ8f6rsvbCypN1UppV84iR6RoiMKGziWLWxvQoNc7Yoi
Next: none
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | let a = ["none"] |
---|
| 4 | + | let a = base58'EJuyDuv5y6EaLLGWm3Bag9FnFkEuMitWJahFeJ5fXZdG' |
---|
5 | 5 | | |
---|
6 | | - | func b (c) = { |
---|
7 | | - | let d = { |
---|
8 | | - | let e = getInteger(this, c) |
---|
9 | | - | if ($isInstanceOf(e, "Int")) |
---|
| 6 | + | let b = base58'EJuyDuv5y6EaLLGWm3Bag9FnFkEuMitWJahFeJ5fXZdG' |
---|
| 7 | + | |
---|
| 8 | + | let c = ["none"] |
---|
| 9 | + | |
---|
| 10 | + | func d (e) = { |
---|
| 11 | + | let f = { |
---|
| 12 | + | let g = getInteger(this, e) |
---|
| 13 | + | if ($isInstanceOf(g, "Int")) |
---|
10 | 14 | | then { |
---|
11 | | - | let f = e |
---|
12 | | - | f |
---|
| 15 | + | let h = g |
---|
| 16 | + | h |
---|
13 | 17 | | } |
---|
14 | 18 | | else 0 |
---|
15 | 19 | | } |
---|
16 | | - | d |
---|
| 20 | + | f |
---|
17 | 21 | | } |
---|
18 | 22 | | |
---|
19 | 23 | | |
---|
20 | | - | func g (c) = { |
---|
21 | | - | let h = { |
---|
22 | | - | let e = getString(this, c) |
---|
23 | | - | if ($isInstanceOf(e, "String")) |
---|
| 24 | + | func i (e) = { |
---|
| 25 | + | let j = { |
---|
| 26 | + | let g = getString(this, e) |
---|
| 27 | + | if ($isInstanceOf(g, "String")) |
---|
24 | 28 | | then { |
---|
25 | | - | let f = e |
---|
26 | | - | f |
---|
| 29 | + | let h = g |
---|
| 30 | + | h |
---|
27 | 31 | | } |
---|
28 | | - | else a |
---|
| 32 | + | else c |
---|
29 | 33 | | } |
---|
30 | | - | h |
---|
| 34 | + | j |
---|
31 | 35 | | } |
---|
32 | 36 | | |
---|
33 | 37 | | |
---|
34 | | - | func i (j) = (j + "_price") |
---|
| 38 | + | func k (l) = (l + "_price") |
---|
35 | 39 | | |
---|
36 | 40 | | |
---|
37 | | - | func k (j) = b(i(j)) |
---|
| 41 | + | func m (l) = d(k(l)) |
---|
38 | 42 | | |
---|
39 | 43 | | |
---|
40 | | - | func l (m,j) = (j + "_cnt") |
---|
| 44 | + | func n (o,l) = (l + "_cnt") |
---|
41 | 45 | | |
---|
42 | 46 | | |
---|
43 | | - | func n (m,j) = b(l(m, j)) |
---|
| 47 | + | func p (o,l) = d(n(o, l)) |
---|
44 | 48 | | |
---|
45 | 49 | | |
---|
46 | | - | func o (p,q) = ("item_" + toBase58String(sha256(toBytes((p + q))))) |
---|
| 50 | + | func q (r,s) = ("item_" + toBase58String(sha256(toBytes((r + s))))) |
---|
47 | 51 | | |
---|
48 | 52 | | |
---|
49 | | - | func r (j) = (j + "_data") |
---|
| 53 | + | func t (l) = (l + "_data") |
---|
50 | 54 | | |
---|
51 | 55 | | |
---|
52 | | - | func s (j) = (j + "_owner") |
---|
| 56 | + | func u (l) = (l + "_owner") |
---|
53 | 57 | | |
---|
54 | 58 | | |
---|
55 | | - | func t (j) = g(s(j)) |
---|
| 59 | + | func v (l) = i(u(l)) |
---|
56 | 60 | | |
---|
57 | 61 | | |
---|
58 | | - | func u (v) = (v + "_balance") |
---|
| 62 | + | func w (x) = (x + "_balance") |
---|
59 | 63 | | |
---|
60 | 64 | | |
---|
61 | | - | func w (v) = b(u(v)) |
---|
| 65 | + | func y (x) = d(w(x)) |
---|
62 | 66 | | |
---|
63 | 67 | | |
---|
64 | | - | @Callable(x) |
---|
65 | | - | func addItem (q,y,z) = { |
---|
66 | | - | let A = toBase58String(x.caller.bytes) |
---|
67 | | - | let j = o(A, q) |
---|
68 | | - | if ((0 >= y)) |
---|
| 68 | + | @Callable(z) |
---|
| 69 | + | func addItem (s,A,B) = { |
---|
| 70 | + | let C = toBase58String(z.caller.bytes) |
---|
| 71 | + | let l = q(C, s) |
---|
| 72 | + | if ((0 >= A)) |
---|
69 | 73 | | then throw("purchase amount cannot be less than item price") |
---|
70 | | - | else if ((t(j) != a)) |
---|
| 74 | + | else if ((v(l) != c)) |
---|
71 | 75 | | then throw("an item is already exist") |
---|
72 | | - | else WriteSet([DataEntry(s(j), A), DataEntry(i(j), y), DataEntry(r(j), z)]) |
---|
| 76 | + | else WriteSet([DataEntry(u(l), C), DataEntry(k(l), A), DataEntry(t(l), B)]) |
---|
73 | 77 | | } |
---|
74 | 78 | | |
---|
| 79 | + | |
---|
| 80 | + | @Verifier(D) |
---|
| 81 | + | func E () = { |
---|
| 82 | + | let g = D |
---|
| 83 | + | if ($isInstanceOf(g, "SetScriptTransaction")) |
---|
| 84 | + | then { |
---|
| 85 | + | let F = g |
---|
| 86 | + | sigVerify(D.bodyBytes, D.proofs[0], a) |
---|
| 87 | + | } |
---|
| 88 | + | else if ($isInstanceOf(g, "DataTransaction")) |
---|
| 89 | + | then { |
---|
| 90 | + | let G = g |
---|
| 91 | + | true |
---|
| 92 | + | } |
---|
| 93 | + | else false |
---|
| 94 | + | } |
---|
75 | 95 | | |
---|