tx · DLmy1qSAcEb1sHcSKFLR4Xfbwe7NnYde15pgqNPSVsbp 3N2kVUxYqFz4rHNgnVr7ffhsnC7DptJ1BzH: -0.01000000 Waves 2023.04.20 04:47 [2542237] smart account 3N2kVUxYqFz4rHNgnVr7ffhsnC7DptJ1BzH > SELF 0.00000000 Waves
{ "type": 13, "id": "DLmy1qSAcEb1sHcSKFLR4Xfbwe7NnYde15pgqNPSVsbp", "fee": 1000000, "feeAssetId": null, "timestamp": 1681955331332, "version": 2, "chainId": 84, "sender": "3N2kVUxYqFz4rHNgnVr7ffhsnC7DptJ1BzH", "senderPublicKey": "8cCvpHrqwPyT7CYYANjtE4ZUgLzCDCqFDMVAX5RRZMPN", "proofs": [ "4UFGPDEuZEhscPkvshmZznVFBRs8yCYBt1uVQnqwZEwX2qGRGgM6RvCYyT9BJpjxYa9KELmCTQe1sBzTDVaXNvDH" ], "script": "base64:BgJDCAISBwoFCAgICAgSDAoKCAgICAgICAgICBIECgIICBIMCgoICAgICAgICAgIEggKBggICAgICBIECgIICBIECgIICAUAEGFkbWluX3dhbGxldF9vbmUCIzNNcERmRFQzNTlxU1NtTkZabk1lb1BRcHlKQTJVMUs1MXU1ABBhZG1pbl93YWxsZXRfdHdvAiMzTjNEQ25namlkaXZrSmJUSndGVEV2YllSVGZmQ1dWQkxDTAASYWRtaW5fd2FsbGV0X3RocmVlAiMzTjh4OW1iNDgxaTJrNmNHN1E5WFVWM2U1bnpoMW1kenNOeQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBC3VzZXJfd2FsbGV0AwMDCQAAAgULdXNlcl93YWxsZXQFEGFkbWluX3dhbGxldF9vbmUGCQAAAgULdXNlcl93YWxsZXQFEGFkbWluX3dhbGxldF90d28GCQAAAgULdXNlcl93YWxsZXQFEmFkbWluX3dhbGxldF90aHJlZQYHAQ10cnlHZXRJbnRlZ2VyAQNrZXkEByRtYXRjaDAJAJoIAgUEdGhpcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAABwFpAQhhZGRfYmxvZwUJcHVibGlzaGVyBXRpdGVsDWFyd2VhdmVfdHhfaWQJc2lnbmF0dXJlCmJsb2dfY292ZXIDAwkAAAIJAKUIAQgFAWkGY2FsbGVyBQlwdWJsaXNoZXIGCQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBCQClCAEIBQFpBmNhbGxlcgQFdHhfaWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFYmxvZ18FBXR4X2lkAgpfcHVibGlzaGVyBQlwdWJsaXNoZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBWJsb2dfBQV0eF9pZAIOX2Fyd2VhdmVfdHhfaWQFDWFyd2VhdmVfdHhfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBWJsb2dfBQV0eF9pZAIKX3NpZ25hdHVyZQUJc2lnbmF0dXJlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgVibG9nXwUFdHhfaWQCC19ibG9nX2NvdmVyBQpibG9nX2NvdmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgVibG9nXwUFdHhfaWQCBl90aXRlbAUFdGl0ZWwFA25pbAkAAgECTUVSUlJPUiAhLCBhZGRfYmxvZywgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAWkBCWFkZF9zdG9yeQoJcHVibGlzaGVyBXRpdGVsDWFyd2VhdmVfdHhfaWQJc2lnbmF0dXJlC3N0b3J5X2NvdmVyC2Rlc2NyaXB0aW9uBHRhZ3MIbGFuZ3VhZ2UJY2F0ZWdvcnlzBnN0YXR1cwMDCQAAAgkApQgBCAUBaQZjYWxsZXIFCXB1Ymxpc2hlcgYJARRjaGVja19hZG1pbnNfd2FsbGV0cwEJAKUIAQgFAWkGY2FsbGVyBAV0eF9pZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgpfcHVibGlzaGVyBQlwdWJsaXNoZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBnN0b3J5XwUFdHhfaWQCDl9hcndlYXZlX3R4X2lkBQ1hcndlYXZlX3R4X2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgpfc2lnbmF0dXJlBQlzaWduYXR1cmUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBnN0b3J5XwUFdHhfaWQCDF9zdG9yeV9jb3ZlcgULc3RvcnlfY292ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBnN0b3J5XwUFdHhfaWQCBl90aXRlbAUFdGl0ZWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBnN0b3J5XwUFdHhfaWQCDF9kZXNjcmlwdGlvbgULZGVzY3JpcHRpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBnN0b3J5XwUFdHhfaWQCBV90YWdzBQR0YWdzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAglfbGFuZ3VhZ2UFCGxhbmd1YWdlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgpfY2F0ZWdvcnlzBQljYXRlZ29yeXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBnN0b3J5XwUFdHhfaWQCB19zdGF0dXMFBnN0YXR1cwUDbmlsCQACAQJORVJSUk9SICEsIGFkZF9zdG9yeSwgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAWkBC2FkZF9jaGFwdGVyAgtzdG9yeV90eF9pZBVjaGFwdGVyX2Fyd2VhdmVfdHhfaWQED2xhc3RfY2hhcHRlcl9pZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGU3RvcnlfBQtzdG9yeV90eF9pZAIQX2xhc3RfY2hhcHRlcl9pZAQFdHhfaWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICAgZzdG9yeV8FC3N0b3J5X3R4X2lkAglfY2hhcHRlcl8JAKQDAQUPbGFzdF9jaGFwdGVyX2lkBQV0eF9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIIY2hhcHRlcl8FBXR4X2lkAg5fYXJ3ZWF2ZV90eF9pZAUVY2hhcHRlcl9hcndlYXZlX3R4X2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAghjaGFwdGVyXwUFdHhfaWQCDF9zdG9yeV90eF9pZAULc3RvcnlfdHhfaWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAghjaGFwdGVyXwUFdHhfaWQCA19pZAUPbGFzdF9jaGFwdGVyX2lkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIGU3RvcnlfBQtzdG9yeV90eF9pZAIQX2xhc3RfY2hhcHRlcl9pZAkAZAIFD2xhc3RfY2hhcHRlcl9pZAABBQNuaWwBaQENc2V0X3VzZXJfZGF0YQoGd2FsbGV0BG5hbWUKaW1hZ2VfbGluawpjb3Zlcl9saW5rA2JpbxBnb29nbGVfYW5hbHl0aWNzB3R3aXR0ZXIIdGVsZWdyYW0QeWFuZGV4X2FuYWx5dGljcwVub3RlcwMDCQAAAgkApQgBCAUBaQZjYWxsZXIFBndhbGxldAYJARRjaGVja19hZG1pbnNfd2FsbGV0cwEJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0Agdfam9pbmVkAgN5ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCBV9uYW1lBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgpfaW1hZ2VMaW5rBQppbWFnZV9saW5rCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgpfY292ZXJMaW5rBQpjb3Zlcl9saW5rCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgRfYmlvBQNiaW8JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCEF9nb29nbGVBbmFseXRpY3MFEGdvb2dsZV9hbmFseXRpY3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCEF95YW5kZXhBbmFseXRpY3MFEHlhbmRleF9hbmFseXRpY3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCCF90d2l0dGVyBQd0d2l0dGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AglfdGVsZWdyYW0FCHRlbGVncmFtCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgZfbm90ZXMFBW5vdGVzBQNuaWwJAAIBAlJFUlJST1IgISwgc2V0X3VzZXJfZGF0YSwgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAWkBEXNldF92ZXJpZmllZF91c2VyBgZ3YWxsZXQEbmFtZQd0d2l0dGVyCHRlbGVncmFtBWVtYWlsBW5vdGVzAwkBFGNoZWNrX2FkbWluc193YWxsZXRzAQkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCCV92ZXJpZmllZAIDeWVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0Ag5fdmVyaWZpZWRfbmFtZQUEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIRX3ZlcmlmaWVkX3R3aXR0ZXIFB3R3aXR0ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCEl92ZXJpZmllZF90ZWxlZ3JhbQUIdGVsZWdyYW0JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCD192ZXJpZmllZF9ub3RlcwUFbm90ZXMFA25pbAkAAgECVkVSUlJPUiAhLCBzZXRfdmVyaWZpZWRfdXNlciwgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAWkBFWFkZF9ibG9nX3RvX2Zhdm9yaXRlcwIGd2FsbGV0CmJsb2dfdHhfaWQDAwkAAAIJAKUIAQgFAWkGY2FsbGVyBQZ3YWxsZXQGCQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBCQClCAEIBQFpBmNhbGxlcgQCaWQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBWJsb2dfBQpibG9nX3R4X2lkAgxfZmF2b3JpdGVfaWQEB3VzZXJfaWQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCDF9mYXZvcml0ZV9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0Ag9fYmxvZ19mYXZvcml0ZV8JAKQDAQUHdXNlcl9pZAUKYmxvZ190eF9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICAgVibG9nXwUKYmxvZ190eF9pZAIKX2Zhdm9yaXRlXwkApAMBBQJpZAUGd2FsbGV0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFYmxvZ18FCmJsb2dfdHhfaWQCDF9mYXZvcml0ZV9pZAkAZAIFAmlkAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgxfZmF2b3JpdGVfaWQJAGQCBQd1c2VyX2lkAAEFA25pbAkAAgECVUVSUlJPUiAhLCBhZGRfdG9fZmF2b3JpdGVzLCBNRVNTQUdFOiBzb3JyeSB5b3UgYXJlIG5vdCBhbGxvdyB0byBpbnZva2UgdGhpcyBmdW5hY3Rpb24BaQEWYWRkX3N0b3J5X3RvX2Zhdm9yaXRlcwIGd2FsbGV0C3N0b3J5X3R4X2lkAwMJAAACCQClCAEIBQFpBmNhbGxlcgUGd2FsbGV0BgkBFGNoZWNrX2FkbWluc193YWxsZXRzAQkApQgBCAUBaQZjYWxsZXIEAmlkCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgZzdG9yeV8FC3N0b3J5X3R4X2lkAgxfZmF2b3JpdGVfaWQEB3VzZXJfaWQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCDF9mYXZvcml0ZV9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AhBfc3RvcnlfZmF2b3JpdGVfCQCkAwEFB3VzZXJfaWQFC3N0b3J5X3R4X2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBnN0b3J5XwULc3RvcnlfdHhfaWQCCl9mYXZvcml0ZV8JAKQDAQUCaWQFBndhbGxldAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBnN0b3J5XwULc3RvcnlfdHhfaWQCDF9mYXZvcml0ZV9pZAkAZAIFAmlkAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgxfZmF2b3JpdGVfaWQJAGQCBQd1c2VyX2lkAAEFA25pbAkAAgECVUVSUlJPUiAhLCBhZGRfdG9fZmF2b3JpdGVzLCBNRVNTQUdFOiBzb3JyeSB5b3UgYXJlIG5vdCBhbGxvdyB0byBpbnZva2UgdGhpcyBmdW5hY3Rpb24BAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5OVpZmQ==", "height": 2542237, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: HV97ECnYtakj1gAo33mTXs6tGsdTQvbRbYvNDsQWgwCv Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = "3MpDfDT359qSSmNFZnMeoPQpyJA2U1K51u5" | |
5 | + | ||
6 | + | let b = "3N3DCngjidivkJbTJwFTEvbYRTffCWVBLCL" | |
7 | + | ||
8 | + | let c = "3N8x9mb481i2k6cG7Q9XUV3e5nzh1mdzsNy" | |
9 | + | ||
10 | + | func d (e) = if (if (if ((e == a)) | |
11 | + | then true | |
12 | + | else (e == b)) | |
13 | + | then true | |
14 | + | else (e == c)) | |
15 | + | then true | |
16 | + | else false | |
17 | + | ||
18 | + | ||
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 add_blog (k,l,m,n,o) = if (if ((toString(j.caller) == k)) | |
32 | + | then true | |
33 | + | else d(toString(j.caller))) | |
34 | + | then { | |
35 | + | let p = toBase58String(j.transactionId) | |
36 | + | [StringEntry((("blog_" + p) + "_publisher"), k), StringEntry((("blog_" + p) + "_arweave_tx_id"), m), StringEntry((("blog_" + p) + "_signature"), n), StringEntry((("blog_" + p) + "_blog_cover"), o), StringEntry((("blog_" + p) + "_titel"), l)] | |
37 | + | } | |
38 | + | else throw("ERRROR !, add_blog, MESSAGE: sorry you are not allow to invoke this funaction") | |
39 | + | ||
40 | + | ||
41 | + | ||
42 | + | @Callable(j) | |
43 | + | func add_story (k,l,m,n,q,r,s,t,u,v) = if (if ((toString(j.caller) == k)) | |
44 | + | then true | |
45 | + | else d(toString(j.caller))) | |
46 | + | then { | |
47 | + | let p = toBase58String(j.transactionId) | |
48 | + | [StringEntry((("story_" + p) + "_publisher"), k), StringEntry((("story_" + p) + "_arweave_tx_id"), m), StringEntry((("story_" + p) + "_signature"), n), StringEntry((("story_" + p) + "_story_cover"), q), StringEntry((("story_" + p) + "_titel"), l), StringEntry((("story_" + p) + "_description"), r), StringEntry((("story_" + p) + "_tags"), s), StringEntry((("story_" + p) + "_language"), t), StringEntry((("story_" + p) + "_categorys"), u), StringEntry((("story_" + p) + "_status"), v)] | |
49 | + | } | |
50 | + | else throw("ERRROR !, add_story, MESSAGE: sorry you are not allow to invoke this funaction") | |
51 | + | ||
52 | + | ||
53 | + | ||
54 | + | @Callable(j) | |
55 | + | func add_chapter (w,x) = { | |
56 | + | let y = f((("Story_" + w) + "_last_chapter_id")) | |
57 | + | let p = toBase58String(j.transactionId) | |
58 | + | [StringEntry(((("story_" + w) + "_chapter_") + toString(y)), p), StringEntry((("chapter_" + p) + "_arweave_tx_id"), x), StringEntry((("chapter_" + p) + "_story_tx_id"), w), IntegerEntry((("chapter_" + p) + "_id"), y), IntegerEntry((("Story_" + w) + "_last_chapter_id"), (y + 1))] | |
59 | + | } | |
60 | + | ||
61 | + | ||
62 | + | ||
63 | + | @Callable(j) | |
64 | + | func set_user_data (z,A,B,C,D,E,F,G,H,I) = if (if ((toString(j.caller) == z)) | |
65 | + | then true | |
66 | + | else d(toString(j.caller))) | |
67 | + | then [StringEntry((("user_" + z) + "_joined"), "yes"), StringEntry((("user_" + z) + "_name"), A), StringEntry((("user_" + z) + "_imageLink"), B), StringEntry((("user_" + z) + "_coverLink"), C), StringEntry((("user_" + z) + "_bio"), D), StringEntry((("user_" + z) + "_googleAnalytics"), E), StringEntry((("user_" + z) + "_yandexAnalytics"), H), StringEntry((("user_" + z) + "_twitter"), F), StringEntry((("user_" + z) + "_telegram"), G), StringEntry((("user_" + z) + "_notes"), I)] | |
68 | + | else throw("ERRROR !, set_user_data, MESSAGE: sorry you are not allow to invoke this funaction") | |
69 | + | ||
70 | + | ||
71 | + | ||
72 | + | @Callable(j) | |
73 | + | func set_verified_user (z,A,F,G,J,I) = if (d(toString(j.caller))) | |
74 | + | then [StringEntry((("user_" + z) + "_verified"), "yes"), StringEntry((("user_" + z) + "_verified_name"), A), StringEntry((("user_" + z) + "_verified_twitter"), F), StringEntry((("user_" + z) + "_verified_telegram"), G), StringEntry((("user_" + z) + "_verified_notes"), I)] | |
75 | + | else throw("ERRROR !, set_verified_user, MESSAGE: sorry you are not allow to invoke this funaction") | |
76 | + | ||
77 | + | ||
78 | + | ||
79 | + | @Callable(j) | |
80 | + | func add_blog_to_favorites (z,K) = if (if ((toString(j.caller) == z)) | |
81 | + | then true | |
82 | + | else d(toString(j.caller))) | |
83 | + | then { | |
84 | + | let L = f((("blog_" + K) + "_favorite_id")) | |
85 | + | let M = f((("user_" + z) + "_favorite_id")) | |
86 | + | [StringEntry(((("user_" + z) + "_blog_favorite_") + toString(M)), K), StringEntry(((("blog_" + K) + "_favorite_") + toString(L)), z), IntegerEntry((("blog_" + K) + "_favorite_id"), (L + 1)), IntegerEntry((("user_" + z) + "_favorite_id"), (M + 1))] | |
87 | + | } | |
88 | + | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
89 | + | ||
90 | + | ||
91 | + | ||
92 | + | @Callable(j) | |
93 | + | func add_story_to_favorites (z,w) = if (if ((toString(j.caller) == z)) | |
94 | + | then true | |
95 | + | else d(toString(j.caller))) | |
96 | + | then { | |
97 | + | let L = f((("story_" + w) + "_favorite_id")) | |
98 | + | let M = f((("user_" + z) + "_favorite_id")) | |
99 | + | [StringEntry(((("user_" + z) + "_story_favorite_") + toString(M)), w), StringEntry(((("story_" + w) + "_favorite_") + toString(L)), z), IntegerEntry((("story_" + w) + "_favorite_id"), (L + 1)), IntegerEntry((("user_" + z) + "_favorite_id"), (M + 1))] | |
100 | + | } | |
101 | + | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
102 | + | ||
103 | + | ||
104 | + | @Verifier(N) | |
105 | + | func O () = sigVerify(N.bodyBytes, N.proofs[0], N.senderPublicKey) | |
106 | + |
github/deemru/w8io/026f985 22.19 ms ◑