tx · 5docvgAGLt4BQbyN5QWMdEoT3XpB3rXKGor9dmgSjyYp 3MqxhXjG6DVDwFuLsaBz7sgt38iwHj9Da7f: -0.00300000 Waves 2022.10.02 02:24 [2253945] smart account 3MqxhXjG6DVDwFuLsaBz7sgt38iwHj9Da7f > SELF 0.00000000 Waves
{ "type": 13, "id": "5docvgAGLt4BQbyN5QWMdEoT3XpB3rXKGor9dmgSjyYp", "fee": 300000, "feeAssetId": null, "timestamp": 1664666727348, "version": 2, "chainId": 84, "sender": "3MqxhXjG6DVDwFuLsaBz7sgt38iwHj9Da7f", "senderPublicKey": "24F9Fvi53bZzs4e399kBtXVRriDkrJjjVpfMwrVBfX9N", "proofs": [ "yrnysKYeRC5KVgNUWV4Gia1Y9FMvsASnHU3jFrGWRx5dAPgfg8xdzvtcZiS8jnfENBUH8TQzuZ7YqyRTayyRnvz" ], "script": "base64:BgIbCAISCgoICAgICAgICAgSBQoDCAgIEgQKAggIBQAQYWRtaW5fd2FsbGV0X29uZQIjM044eDltYjQ4MWkyazZjRzdROVhVVjNlNW56aDFtZHpzTnkAEGFkbWluX3dhbGxldF90d28CIzNOM0RDbmdqaWRpdmtKYlRKd0ZURXZiWVJUZmZDV1ZCTENMABJhZG1pbl93YWxsZXRfdGhyZWUCIzNOOTFWQmt0b1RQU0JMNk5rSFJzQU0xRExXSDJUNnF2UXJzARRjaGVja19hZG1pbnNfd2FsbGV0cwELdXNlcl93YWxsZXQDAwMJAAACBQt1c2VyX3dhbGxldAUQYWRtaW5fd2FsbGV0X29uZQYJAAACBQt1c2VyX3dhbGxldAUQYWRtaW5fd2FsbGV0X3R3bwYJAAACBQt1c2VyX3dhbGxldAUSYWRtaW5fd2FsbGV0X3RocmVlBgcBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAADAWkBDXNldF91c2VyX2RhdGEIBndhbGxldARuYW1lCmltYWdlX2xpbmsKY292ZXJfbGluawNiaW8QZ29vZ2xlX2FuYWx5dGljcxB5YW5kZXhfYW5hbHl0aWNzBW5vdGVzAwMJAAACCQClCAEIBQFpBmNhbGxlcgUGd2FsbGV0BgkBFGNoZWNrX2FkbWluc193YWxsZXRzAQkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCB19qb2luZWQCA3llcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIFX25hbWUFBG5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCCl9pbWFnZUxpbmsFCmltYWdlX2xpbmsJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCCl9jb3ZlckxpbmsFCmNvdmVyX2xpbmsJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCBF9iaW8FA2JpbwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIQX2dvb2dsZUFuYWx5dGljcwUQZ29vZ2xlX2FuYWx5dGljcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIQX3lhbmRleEFuYWx5dGljcwUQeWFuZGV4X2FuYWx5dGljcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIGX25vdGVzBQVub3RlcwUDbmlsCQACAQJSRVJSUk9SICEsIHNldF91c2VyX2RhdGEsIE1FU1NBR0U6IHNvcnJ5IHlvdSBhcmUgbm90IGFsbG93IHRvIGludm9rZSB0aGlzIGZ1bmFjdGlvbgFpARFzZXRfdmVyaWZpZWRfdXNlcgMGd2FsbGV0BG5hbWUFbm90ZXMDCQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIJX3ZlcmlmaWVkAgN5ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCDl92ZXJpZmllZF9uYW1lBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0Ag9fdmVyaWZpZWRfbm90ZXMFBW5vdGVzBQNuaWwJAAIBAlZFUlJST1IgISwgc2V0X3ZlcmlmaWVkX3VzZXIsIE1FU1NBR0U6IHNvcnJ5IHlvdSBhcmUgbm90IGFsbG93IHRvIGludm9rZSB0aGlzIGZ1bmFjdGlvbgFpARBhZGRfdG9fZmF2b3JpdGVzAgZ3YWxsZXQKYmxvZ190eF9pZAMDCQAAAgkApQgBCAUBaQZjYWxsZXIFBndhbGxldAYJARRjaGVja19hZG1pbnNfd2FsbGV0cwEJAKUIAQgFAWkGY2FsbGVyBAJpZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFYmxvZ18FCmJsb2dfdHhfaWQCC2Zhdm9yaXRlX2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AglfZmF2b3JpdGUFCmJsb2dfdHhfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIFYmxvZ18FCmJsb2dfdHhfaWQCCl9mYXZvcml0ZV8JAKQDAQUCaWQFBndhbGxldAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBWJsb2dfBQpibG9nX3R4X2lkAgxfZmF2b3JpdGVfaWQJAGQCBQJpZAABBQNuaWwJAAIBAlVFUlJST1IgISwgYWRkX3RvX2Zhdm9yaXRlcywgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleTb9UhE=", "height": 2253945, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G1UHE3de5BmP49CCfi4JyzQELNxo4ngxgg8dahmCaC3d Next: 2Aii8LGfomeMGJbTDZojBotjxMShf4tWnPsSQSiQid8H Diff:
Old | New | Differences | |
---|---|---|---|
16 | 16 | else false | |
17 | 17 | ||
18 | 18 | ||
19 | - | @Callable(f) | |
20 | - | func set_user_data (g,h,i,j,k,l,m,n) = if (if ((toString(f.caller) == g)) | |
19 | + | func f (g) = { | |
20 | + | let h = getInteger(this, g) | |
21 | + | if ($isInstanceOf(h, "Int")) | |
22 | + | then { | |
23 | + | let i = h | |
24 | + | i | |
25 | + | } | |
26 | + | else 0 | |
27 | + | } | |
28 | + | ||
29 | + | ||
30 | + | @Callable(j) | |
31 | + | func set_user_data (k,l,m,n,o,p,q,r) = if (if ((toString(j.caller) == k)) | |
21 | 32 | then true | |
22 | - | else d(toString( | |
23 | - | then [StringEntry((("user_" + | |
33 | + | else d(toString(j.caller))) | |
34 | + | then [StringEntry((("user_" + k) + "_joined"), "yes"), StringEntry((("user_" + k) + "_name"), l), StringEntry((("user_" + k) + "_imageLink"), m), StringEntry((("user_" + k) + "_coverLink"), n), StringEntry((("user_" + k) + "_bio"), o), StringEntry((("user_" + k) + "_googleAnalytics"), p), StringEntry((("user_" + k) + "_yandexAnalytics"), q), StringEntry((("user_" + k) + "_notes"), r)] | |
24 | 35 | else throw("ERRROR !, set_user_data, MESSAGE: sorry you are not allow to invoke this funaction") | |
25 | 36 | ||
26 | 37 | ||
27 | 38 | ||
28 | - | @Callable( | |
29 | - | func set_verified_user ( | |
30 | - | then [StringEntry((("user_" + | |
39 | + | @Callable(j) | |
40 | + | func set_verified_user (k,l,r) = if (d(toString(j.caller))) | |
41 | + | then [StringEntry((("user_" + k) + "_verified"), "yes"), StringEntry((("user_" + k) + "_verified_name"), l), StringEntry((("user_" + k) + "_verified_notes"), r)] | |
31 | 42 | else throw("ERRROR !, set_verified_user, MESSAGE: sorry you are not allow to invoke this funaction") | |
32 | 43 | ||
33 | 44 | ||
34 | 45 | ||
35 | - | @Callable( | |
36 | - | func add_to_favorites ( | |
46 | + | @Callable(j) | |
47 | + | func add_to_favorites (k,s) = if (if ((toString(j.caller) == k)) | |
37 | 48 | then true | |
38 | - | else d(toString(f.caller))) | |
39 | - | then [StringEntry((("user_" + g) + "_favorite"), o), StringEntry((("blog_" + o) + "_favorites"), g)] | |
49 | + | else d(toString(j.caller))) | |
50 | + | then { | |
51 | + | let t = f((("blog_" + s) + "favorite_id")) | |
52 | + | [StringEntry((("user_" + k) + "_favorite"), s), StringEntry(((("blog_" + s) + "_favorite_") + toString(t)), k), IntegerEntry((("blog_" + s) + "_favorite_id"), (t + 1))] | |
53 | + | } | |
40 | 54 | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
41 | 55 | ||
42 | 56 | ||
43 | - | @Verifier( | |
44 | - | func | |
57 | + | @Verifier(u) | |
58 | + | func v () = sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey) | |
45 | 59 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "3N8x9mb481i2k6cG7Q9XUV3e5nzh1mdzsNy" | |
5 | 5 | ||
6 | 6 | let b = "3N3DCngjidivkJbTJwFTEvbYRTffCWVBLCL" | |
7 | 7 | ||
8 | 8 | let c = "3N91VBktoTPSBL6NkHRsAM1DLWH2T6qvQrs" | |
9 | 9 | ||
10 | 10 | func d (e) = if (if (if ((e == a)) | |
11 | 11 | then true | |
12 | 12 | else (e == b)) | |
13 | 13 | then true | |
14 | 14 | else (e == c)) | |
15 | 15 | then true | |
16 | 16 | else false | |
17 | 17 | ||
18 | 18 | ||
19 | - | @Callable(f) | |
20 | - | func set_user_data (g,h,i,j,k,l,m,n) = if (if ((toString(f.caller) == g)) | |
19 | + | func f (g) = { | |
20 | + | let h = getInteger(this, g) | |
21 | + | if ($isInstanceOf(h, "Int")) | |
22 | + | then { | |
23 | + | let i = h | |
24 | + | i | |
25 | + | } | |
26 | + | else 0 | |
27 | + | } | |
28 | + | ||
29 | + | ||
30 | + | @Callable(j) | |
31 | + | func set_user_data (k,l,m,n,o,p,q,r) = if (if ((toString(j.caller) == k)) | |
21 | 32 | then true | |
22 | - | else d(toString( | |
23 | - | then [StringEntry((("user_" + | |
33 | + | else d(toString(j.caller))) | |
34 | + | then [StringEntry((("user_" + k) + "_joined"), "yes"), StringEntry((("user_" + k) + "_name"), l), StringEntry((("user_" + k) + "_imageLink"), m), StringEntry((("user_" + k) + "_coverLink"), n), StringEntry((("user_" + k) + "_bio"), o), StringEntry((("user_" + k) + "_googleAnalytics"), p), StringEntry((("user_" + k) + "_yandexAnalytics"), q), StringEntry((("user_" + k) + "_notes"), r)] | |
24 | 35 | else throw("ERRROR !, set_user_data, MESSAGE: sorry you are not allow to invoke this funaction") | |
25 | 36 | ||
26 | 37 | ||
27 | 38 | ||
28 | - | @Callable( | |
29 | - | func set_verified_user ( | |
30 | - | then [StringEntry((("user_" + | |
39 | + | @Callable(j) | |
40 | + | func set_verified_user (k,l,r) = if (d(toString(j.caller))) | |
41 | + | then [StringEntry((("user_" + k) + "_verified"), "yes"), StringEntry((("user_" + k) + "_verified_name"), l), StringEntry((("user_" + k) + "_verified_notes"), r)] | |
31 | 42 | else throw("ERRROR !, set_verified_user, MESSAGE: sorry you are not allow to invoke this funaction") | |
32 | 43 | ||
33 | 44 | ||
34 | 45 | ||
35 | - | @Callable( | |
36 | - | func add_to_favorites ( | |
46 | + | @Callable(j) | |
47 | + | func add_to_favorites (k,s) = if (if ((toString(j.caller) == k)) | |
37 | 48 | then true | |
38 | - | else d(toString(f.caller))) | |
39 | - | then [StringEntry((("user_" + g) + "_favorite"), o), StringEntry((("blog_" + o) + "_favorites"), g)] | |
49 | + | else d(toString(j.caller))) | |
50 | + | then { | |
51 | + | let t = f((("blog_" + s) + "favorite_id")) | |
52 | + | [StringEntry((("user_" + k) + "_favorite"), s), StringEntry(((("blog_" + s) + "_favorite_") + toString(t)), k), IntegerEntry((("blog_" + s) + "_favorite_id"), (t + 1))] | |
53 | + | } | |
40 | 54 | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
41 | 55 | ||
42 | 56 | ||
43 | - | @Verifier( | |
44 | - | func | |
57 | + | @Verifier(u) | |
58 | + | func v () = sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey) | |
45 | 59 |
github/deemru/w8io/169f3d6 35.77 ms ◑![]()