tx · 9gFbD5Rbt8JXAv8eyXjMCMrszUMancBcXiFLtoRRVBBq 3MqxhXjG6DVDwFuLsaBz7sgt38iwHj9Da7f: -0.00600000 Waves 2022.10.08 01:39 [2262511] smart account 3MqxhXjG6DVDwFuLsaBz7sgt38iwHj9Da7f > SELF 0.00000000 Waves
{ "type": 13, "id": "9gFbD5Rbt8JXAv8eyXjMCMrszUMancBcXiFLtoRRVBBq", "fee": 600000, "feeAssetId": null, "timestamp": 1665182370064, "version": 2, "chainId": 84, "sender": "3MqxhXjG6DVDwFuLsaBz7sgt38iwHj9Da7f", "senderPublicKey": "24F9Fvi53bZzs4e399kBtXVRriDkrJjjVpfMwrVBfX9N", "proofs": [ "5UHsPY3reGqBmbe6bKMHVEZkGW1fsctXva5m2Fpi2LDSfMaZX536dftdGAYU4NyuQHhz8hewG1f8zggdz9jtpnVD" ], "script": "base64:BgJCCAISBwoFCAgICAgSCwoJCAgICAgICAgIEgQKAggIEgwKCggICAgICAgICAgSCAoGCAgICAgIEgQKAggIEgQKAggIBQAQYWRtaW5fd2FsbGV0X29uZQIjM044eDltYjQ4MWkyazZjRzdROVhVVjNlNW56aDFtZHpzTnkAEGFkbWluX3dhbGxldF90d28CIzNOM0RDbmdqaWRpdmtKYlRKd0ZURXZiWVJUZmZDV1ZCTENMABJhZG1pbl93YWxsZXRfdGhyZWUCIzNOOTFWQmt0b1RQU0JMNk5rSFJzQU0xRExXSDJUNnF2UXJzARRjaGVja19hZG1pbnNfd2FsbGV0cwELdXNlcl93YWxsZXQDAwMJAAACBQt1c2VyX3dhbGxldAUQYWRtaW5fd2FsbGV0X29uZQYJAAACBQt1c2VyX3dhbGxldAUQYWRtaW5fd2FsbGV0X3R3bwYJAAACBQt1c2VyX3dhbGxldAUSYWRtaW5fd2FsbGV0X3RocmVlBgcBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAAHAWkBCGFkZF9ibG9nBQlwdWJsaXNoZXIFdGl0ZWwNYXJ3ZWF2ZV90eF9pZAlzaWduYXR1cmUKYmxvZ19jb3ZlcgMDCQAAAgkApQgBCAUBaQZjYWxsZXIFCXB1Ymxpc2hlcgYJARRjaGVja19hZG1pbnNfd2FsbGV0cwEJAKUIAQgFAWkGY2FsbGVyBAV0eF9pZAkAsAkBCAUBaQ10cmFuc2FjdGlvbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgVibG9nXwUFdHhfaWQCCl9wdWJsaXNoZXIFCXB1Ymxpc2hlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFYmxvZ18FBXR4X2lkAg5fYXJ3ZWF2ZV90eF9pZAUNYXJ3ZWF2ZV90eF9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFYmxvZ18FBXR4X2lkAgpfc2lnbmF0dXJlBQlzaWduYXR1cmUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBWJsb2dfBQV0eF9pZAILX2Jsb2dfY292ZXIFCmJsb2dfY292ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBWJsb2dfBQV0eF9pZAIGX3RpdGVsBQV0aXRlbAUDbmlsCQACAQJNRVJSUk9SICEsIGFkZF9ibG9nLCBNRVNTQUdFOiBzb3JyeSB5b3UgYXJlIG5vdCBhbGxvdyB0byBpbnZva2UgdGhpcyBmdW5hY3Rpb24BaQEJYWRkX3N0b3J5CQlwdWJsaXNoZXIFdGl0ZWwNYXJ3ZWF2ZV90eF9pZAlzaWduYXR1cmULc3RvcnlfY292ZXILZGVzY3JpcHRpb24EdGFncwhsYW5ndWFnZQljYXRlZ29yeXMDAwkAAAIJAKUIAQgFAWkGY2FsbGVyBQlwdWJsaXNoZXIGCQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBCQClCAEIBQFpBmNhbGxlcgQFdHhfaWQJALAJAQgFAWkNdHJhbnNhY3Rpb25JZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIKX3B1Ymxpc2hlcgUJcHVibGlzaGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAg5fYXJ3ZWF2ZV90eF9pZAUNYXJ3ZWF2ZV90eF9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIKX3NpZ25hdHVyZQUJc2lnbmF0dXJlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgxfc3RvcnlfY292ZXIFC3N0b3J5X2NvdmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgZfdGl0ZWwFBXRpdGVsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgxfZGVzY3JpcHRpb24FC2Rlc2NyaXB0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgVfdGFncwUEdGFncwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIJX2xhbmd1YWdlBQhsYW5ndWFnZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIKX2NhdGVnb3J5cwUJY2F0ZWdvcnlzBQNuaWwJAAIBAk5FUlJST1IgISwgYWRkX3N0b3J5LCBNRVNTQUdFOiBzb3JyeSB5b3UgYXJlIG5vdCBhbGxvdyB0byBpbnZva2UgdGhpcyBmdW5hY3Rpb24BaQELYWRkX2NoYXB0ZXICC3N0b3J5X3R4X2lkFWNoYXB0ZXJfYXJ3ZWF2ZV90eF9pZAQPbGFzdF9jaGFwdGVyX2lkCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgZTdG9yeV8FC3N0b3J5X3R4X2lkAhBfbGFzdF9jaGFwdGVyX2lkBAV0eF9pZAkAsAkBCAUBaQ10cmFuc2FjdGlvbklkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBnN0b3J5XwULc3RvcnlfdHhfaWQCCV9jaGFwdGVyXwkApAMBBQ9sYXN0X2NoYXB0ZXJfaWQFBXR4X2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAghjaGFwdGVyXwUFdHhfaWQCDl9hcndlYXZlX3R4X2lkBRVjaGFwdGVyX2Fyd2VhdmVfdHhfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICCGNoYXB0ZXJfBQV0eF9pZAIMX3N0b3J5X3R4X2lkBQtzdG9yeV90eF9pZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICCGNoYXB0ZXJfBQV0eF9pZAIDX2lkBQ9sYXN0X2NoYXB0ZXJfaWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZTdG9yeV8FC3N0b3J5X3R4X2lkAhBfbGFzdF9jaGFwdGVyX2lkCQBkAgUPbGFzdF9jaGFwdGVyX2lkAAEFA25pbAFpAQ1zZXRfdXNlcl9kYXRhCgZ3YWxsZXQEbmFtZQppbWFnZV9saW5rCmNvdmVyX2xpbmsDYmlvEGdvb2dsZV9hbmFseXRpY3MHdHdpdHRlcgh0ZWxlZ3JhbRB5YW5kZXhfYW5hbHl0aWNzBW5vdGVzAwMJAAACCQClCAEIBQFpBmNhbGxlcgUGd2FsbGV0BgkBFGNoZWNrX2FkbWluc193YWxsZXRzAQkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCB19qb2luZWQCA3llcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIFX25hbWUFBG5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCCl9pbWFnZUxpbmsFCmltYWdlX2xpbmsJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCCl9jb3ZlckxpbmsFCmNvdmVyX2xpbmsJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCBF9iaW8FA2JpbwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIQX2dvb2dsZUFuYWx5dGljcwUQZ29vZ2xlX2FuYWx5dGljcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIQX3lhbmRleEFuYWx5dGljcwUQeWFuZGV4X2FuYWx5dGljcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIIX3R3aXR0ZXIFB3R3aXR0ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCCV90ZWxlZ3JhbQUIdGVsZWdyYW0JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCBl9ub3RlcwUFbm90ZXMFA25pbAkAAgECUkVSUlJPUiAhLCBzZXRfdXNlcl9kYXRhLCBNRVNTQUdFOiBzb3JyeSB5b3UgYXJlIG5vdCBhbGxvdyB0byBpbnZva2UgdGhpcyBmdW5hY3Rpb24BaQERc2V0X3ZlcmlmaWVkX3VzZXIGBndhbGxldARuYW1lB3R3aXR0ZXIIdGVsZWdyYW0FZW1haWwFbm90ZXMDCQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIJX3ZlcmlmaWVkAgN5ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCDl92ZXJpZmllZF9uYW1lBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AhFfdmVyaWZpZWRfdHdpdHRlcgUHdHdpdHRlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAISX3ZlcmlmaWVkX3RlbGVncmFtBQh0ZWxlZ3JhbQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIPX3ZlcmlmaWVkX25vdGVzBQVub3RlcwUDbmlsCQACAQJWRVJSUk9SICEsIHNldF92ZXJpZmllZF91c2VyLCBNRVNTQUdFOiBzb3JyeSB5b3UgYXJlIG5vdCBhbGxvdyB0byBpbnZva2UgdGhpcyBmdW5hY3Rpb24BaQEVYWRkX2Jsb2dfdG9fZmF2b3JpdGVzAgZ3YWxsZXQKYmxvZ190eF9pZAMDCQAAAgkApQgBCAUBaQZjYWxsZXIFBndhbGxldAYJARRjaGVja19hZG1pbnNfd2FsbGV0cwEJAKUIAQgFAWkGY2FsbGVyBAJpZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFYmxvZ18FCmJsb2dfdHhfaWQCDF9mYXZvcml0ZV9pZAQHdXNlcl9pZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIMX2Zhdm9yaXRlX2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCD19ibG9nX2Zhdm9yaXRlXwkApAMBBQd1c2VyX2lkBQpibG9nX3R4X2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBWJsb2dfBQpibG9nX3R4X2lkAgpfZmF2b3JpdGVfCQCkAwEFAmlkBQZ3YWxsZXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgVibG9nXwUKYmxvZ190eF9pZAIMX2Zhdm9yaXRlX2lkCQBkAgUCaWQAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCDF9mYXZvcml0ZV9pZAkAZAIFB3VzZXJfaWQAAQUDbmlsCQACAQJVRVJSUk9SICEsIGFkZF90b19mYXZvcml0ZXMsIE1FU1NBR0U6IHNvcnJ5IHlvdSBhcmUgbm90IGFsbG93IHRvIGludm9rZSB0aGlzIGZ1bmFjdGlvbgFpARZhZGRfc3RvcnlfdG9fZmF2b3JpdGVzAgZ3YWxsZXQLc3RvcnlfdHhfaWQDAwkAAAIJAKUIAQgFAWkGY2FsbGVyBQZ3YWxsZXQGCQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBCQClCAEIBQFpBmNhbGxlcgQCaWQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBnN0b3J5XwULc3RvcnlfdHhfaWQCDF9mYXZvcml0ZV9pZAQHdXNlcl9pZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIMX2Zhdm9yaXRlX2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCEF9zdG9yeV9mYXZvcml0ZV8JAKQDAQUHdXNlcl9pZAULc3RvcnlfdHhfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIGc3RvcnlfBQtzdG9yeV90eF9pZAIKX2Zhdm9yaXRlXwkApAMBBQJpZAUGd2FsbGV0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQtzdG9yeV90eF9pZAIMX2Zhdm9yaXRlX2lkCQBkAgUCaWQAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCDF9mYXZvcml0ZV9pZAkAZAIFB3VzZXJfaWQAAQUDbmlsCQACAQJVRVJSUk9SICEsIGFkZF90b19mYXZvcml0ZXMsIE1FU1NBR0U6IHNvcnJ5IHlvdSBhcmUgbm90IGFsbG93IHRvIGludm9rZSB0aGlzIGZ1bmFjdGlvbgECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkkgJA3", "height": 2262511, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EWPMDaUxc9Pjz8G933WpkCvHZX5DRRbs6ffsDjWCoAd Next: FTDeEMCBiZ2Df13k3oF6Mn7vFXZcqdVxtrTattuXxh9T Diff:
Old | New | Differences | |
---|---|---|---|
25 | 25 | ||
26 | 26 | ||
27 | 27 | @Callable(i) | |
28 | - | func add_blog (publisher,arweave_tx_id,signature,blog_cover | |
28 | + | func add_blog (publisher,titel,arweave_tx_id,signature,blog_cover) = if (if ((toString(i.caller) == publisher)) | |
29 | 29 | then true | |
30 | 30 | else check_admins_wallets(toString(i.caller))) | |
31 | 31 | then { | |
32 | 32 | let tx_id = toUtf8String(i.transactionId) | |
33 | - | [StringEntry((("blog_" + tx_id) + "_publisher"), publisher), StringEntry((("blog_" + tx_id) + "_arweave_tx_id"), arweave_tx_id), StringEntry((("blog_" + tx_id) + "_signature"), signature), StringEntry((("blog_" + tx_id) + "_blog_cover"), blog_cover), StringEntry((("blog_" + tx_id) + "_ | |
33 | + | [StringEntry((("blog_" + tx_id) + "_publisher"), publisher), StringEntry((("blog_" + tx_id) + "_arweave_tx_id"), arweave_tx_id), StringEntry((("blog_" + tx_id) + "_signature"), signature), StringEntry((("blog_" + tx_id) + "_blog_cover"), blog_cover), StringEntry((("blog_" + tx_id) + "_titel"), titel)] | |
34 | 34 | } | |
35 | 35 | else throw("ERRROR !, add_blog, MESSAGE: sorry you are not allow to invoke this funaction") | |
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | @Callable(i) | |
40 | + | func add_story (publisher,titel,arweave_tx_id,signature,story_cover,description,tags,language,categorys) = if (if ((toString(i.caller) == publisher)) | |
41 | + | then true | |
42 | + | else check_admins_wallets(toString(i.caller))) | |
43 | + | then { | |
44 | + | let tx_id = toUtf8String(i.transactionId) | |
45 | + | [StringEntry((("story_" + tx_id) + "_publisher"), publisher), StringEntry((("story_" + tx_id) + "_arweave_tx_id"), arweave_tx_id), StringEntry((("story_" + tx_id) + "_signature"), signature), StringEntry((("story_" + tx_id) + "_story_cover"), story_cover), StringEntry((("story_" + tx_id) + "_titel"), titel), StringEntry((("story_" + tx_id) + "_description"), description), StringEntry((("story_" + tx_id) + "_tags"), tags), StringEntry((("story_" + tx_id) + "_language"), language), StringEntry((("story_" + tx_id) + "_categorys"), categorys)] | |
46 | + | } | |
47 | + | else throw("ERRROR !, add_story, MESSAGE: sorry you are not allow to invoke this funaction") | |
48 | + | ||
49 | + | ||
50 | + | ||
51 | + | @Callable(i) | |
52 | + | func add_chapter (story_tx_id,chapter_arweave_tx_id) = { | |
53 | + | let last_chapter_id = tryGetInteger((("Story_" + story_tx_id) + "_last_chapter_id")) | |
54 | + | let tx_id = toUtf8String(i.transactionId) | |
55 | + | [StringEntry(((("story_" + story_tx_id) + "_chapter_") + toString(last_chapter_id)), tx_id), StringEntry((("chapter_" + tx_id) + "_arweave_tx_id"), chapter_arweave_tx_id), StringEntry((("chapter_" + tx_id) + "_story_tx_id"), story_tx_id), IntegerEntry((("chapter_" + tx_id) + "_id"), last_chapter_id), IntegerEntry((("Story_" + story_tx_id) + "_last_chapter_id"), (last_chapter_id + 1))] | |
56 | + | } | |
36 | 57 | ||
37 | 58 | ||
38 | 59 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let admin_wallet_one = "3N8x9mb481i2k6cG7Q9XUV3e5nzh1mdzsNy" | |
5 | 5 | ||
6 | 6 | let admin_wallet_two = "3N3DCngjidivkJbTJwFTEvbYRTffCWVBLCL" | |
7 | 7 | ||
8 | 8 | let admin_wallet_three = "3N91VBktoTPSBL6NkHRsAM1DLWH2T6qvQrs" | |
9 | 9 | ||
10 | 10 | func check_admins_wallets (user_wallet) = if (if (if ((user_wallet == admin_wallet_one)) | |
11 | 11 | then true | |
12 | 12 | else (user_wallet == admin_wallet_two)) | |
13 | 13 | then true | |
14 | 14 | else (user_wallet == admin_wallet_three)) | |
15 | 15 | then true | |
16 | 16 | else false | |
17 | 17 | ||
18 | 18 | ||
19 | 19 | func tryGetInteger (key) = match getInteger(this, key) { | |
20 | 20 | case b: Int => | |
21 | 21 | b | |
22 | 22 | case _ => | |
23 | 23 | 0 | |
24 | 24 | } | |
25 | 25 | ||
26 | 26 | ||
27 | 27 | @Callable(i) | |
28 | - | func add_blog (publisher,arweave_tx_id,signature,blog_cover | |
28 | + | func add_blog (publisher,titel,arweave_tx_id,signature,blog_cover) = if (if ((toString(i.caller) == publisher)) | |
29 | 29 | then true | |
30 | 30 | else check_admins_wallets(toString(i.caller))) | |
31 | 31 | then { | |
32 | 32 | let tx_id = toUtf8String(i.transactionId) | |
33 | - | [StringEntry((("blog_" + tx_id) + "_publisher"), publisher), StringEntry((("blog_" + tx_id) + "_arweave_tx_id"), arweave_tx_id), StringEntry((("blog_" + tx_id) + "_signature"), signature), StringEntry((("blog_" + tx_id) + "_blog_cover"), blog_cover), StringEntry((("blog_" + tx_id) + "_ | |
33 | + | [StringEntry((("blog_" + tx_id) + "_publisher"), publisher), StringEntry((("blog_" + tx_id) + "_arweave_tx_id"), arweave_tx_id), StringEntry((("blog_" + tx_id) + "_signature"), signature), StringEntry((("blog_" + tx_id) + "_blog_cover"), blog_cover), StringEntry((("blog_" + tx_id) + "_titel"), titel)] | |
34 | 34 | } | |
35 | 35 | else throw("ERRROR !, add_blog, MESSAGE: sorry you are not allow to invoke this funaction") | |
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | @Callable(i) | |
40 | + | func add_story (publisher,titel,arweave_tx_id,signature,story_cover,description,tags,language,categorys) = if (if ((toString(i.caller) == publisher)) | |
41 | + | then true | |
42 | + | else check_admins_wallets(toString(i.caller))) | |
43 | + | then { | |
44 | + | let tx_id = toUtf8String(i.transactionId) | |
45 | + | [StringEntry((("story_" + tx_id) + "_publisher"), publisher), StringEntry((("story_" + tx_id) + "_arweave_tx_id"), arweave_tx_id), StringEntry((("story_" + tx_id) + "_signature"), signature), StringEntry((("story_" + tx_id) + "_story_cover"), story_cover), StringEntry((("story_" + tx_id) + "_titel"), titel), StringEntry((("story_" + tx_id) + "_description"), description), StringEntry((("story_" + tx_id) + "_tags"), tags), StringEntry((("story_" + tx_id) + "_language"), language), StringEntry((("story_" + tx_id) + "_categorys"), categorys)] | |
46 | + | } | |
47 | + | else throw("ERRROR !, add_story, MESSAGE: sorry you are not allow to invoke this funaction") | |
48 | + | ||
49 | + | ||
50 | + | ||
51 | + | @Callable(i) | |
52 | + | func add_chapter (story_tx_id,chapter_arweave_tx_id) = { | |
53 | + | let last_chapter_id = tryGetInteger((("Story_" + story_tx_id) + "_last_chapter_id")) | |
54 | + | let tx_id = toUtf8String(i.transactionId) | |
55 | + | [StringEntry(((("story_" + story_tx_id) + "_chapter_") + toString(last_chapter_id)), tx_id), StringEntry((("chapter_" + tx_id) + "_arweave_tx_id"), chapter_arweave_tx_id), StringEntry((("chapter_" + tx_id) + "_story_tx_id"), story_tx_id), IntegerEntry((("chapter_" + tx_id) + "_id"), last_chapter_id), IntegerEntry((("Story_" + story_tx_id) + "_last_chapter_id"), (last_chapter_id + 1))] | |
56 | + | } | |
36 | 57 | ||
37 | 58 | ||
38 | 59 | ||
39 | 60 | @Callable(i) | |
40 | 61 | func set_user_data (wallet,name,image_link,cover_link,bio,google_analytics,twitter,telegram,yandex_analytics,notes) = if (if ((toString(i.caller) == wallet)) | |
41 | 62 | then true | |
42 | 63 | else check_admins_wallets(toString(i.caller))) | |
43 | 64 | then [StringEntry((("user_" + wallet) + "_joined"), "yes"), StringEntry((("user_" + wallet) + "_name"), name), StringEntry((("user_" + wallet) + "_imageLink"), image_link), StringEntry((("user_" + wallet) + "_coverLink"), cover_link), StringEntry((("user_" + wallet) + "_bio"), bio), StringEntry((("user_" + wallet) + "_googleAnalytics"), google_analytics), StringEntry((("user_" + wallet) + "_yandexAnalytics"), yandex_analytics), StringEntry((("user_" + wallet) + "_twitter"), twitter), StringEntry((("user_" + wallet) + "_telegram"), telegram), StringEntry((("user_" + wallet) + "_notes"), notes)] | |
44 | 65 | else throw("ERRROR !, set_user_data, MESSAGE: sorry you are not allow to invoke this funaction") | |
45 | 66 | ||
46 | 67 | ||
47 | 68 | ||
48 | 69 | @Callable(i) | |
49 | 70 | func set_verified_user (wallet,name,twitter,telegram,email,notes) = if (check_admins_wallets(toString(i.caller))) | |
50 | 71 | then [StringEntry((("user_" + wallet) + "_verified"), "yes"), StringEntry((("user_" + wallet) + "_verified_name"), name), StringEntry((("user_" + wallet) + "_verified_twitter"), twitter), StringEntry((("user_" + wallet) + "_verified_telegram"), telegram), StringEntry((("user_" + wallet) + "_verified_notes"), notes)] | |
51 | 72 | else throw("ERRROR !, set_verified_user, MESSAGE: sorry you are not allow to invoke this funaction") | |
52 | 73 | ||
53 | 74 | ||
54 | 75 | ||
55 | 76 | @Callable(i) | |
56 | 77 | func add_blog_to_favorites (wallet,blog_tx_id) = if (if ((toString(i.caller) == wallet)) | |
57 | 78 | then true | |
58 | 79 | else check_admins_wallets(toString(i.caller))) | |
59 | 80 | then { | |
60 | 81 | let id = tryGetInteger((("blog_" + blog_tx_id) + "_favorite_id")) | |
61 | 82 | let user_id = tryGetInteger((("user_" + wallet) + "_favorite_id")) | |
62 | 83 | [StringEntry(((("user_" + wallet) + "_blog_favorite_") + toString(user_id)), blog_tx_id), StringEntry(((("blog_" + blog_tx_id) + "_favorite_") + toString(id)), wallet), IntegerEntry((("blog_" + blog_tx_id) + "_favorite_id"), (id + 1)), IntegerEntry((("user_" + wallet) + "_favorite_id"), (user_id + 1))] | |
63 | 84 | } | |
64 | 85 | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
65 | 86 | ||
66 | 87 | ||
67 | 88 | ||
68 | 89 | @Callable(i) | |
69 | 90 | func add_story_to_favorites (wallet,story_tx_id) = if (if ((toString(i.caller) == wallet)) | |
70 | 91 | then true | |
71 | 92 | else check_admins_wallets(toString(i.caller))) | |
72 | 93 | then { | |
73 | 94 | let id = tryGetInteger((("story_" + story_tx_id) + "_favorite_id")) | |
74 | 95 | let user_id = tryGetInteger((("user_" + wallet) + "_favorite_id")) | |
75 | 96 | [StringEntry(((("user_" + wallet) + "_story_favorite_") + toString(user_id)), story_tx_id), StringEntry(((("story_" + story_tx_id) + "_favorite_") + toString(id)), wallet), IntegerEntry((("story_" + story_tx_id) + "_favorite_id"), (id + 1)), IntegerEntry((("user_" + wallet) + "_favorite_id"), (user_id + 1))] | |
76 | 97 | } | |
77 | 98 | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
78 | 99 | ||
79 | 100 | ||
80 | 101 | @Verifier(tx) | |
81 | 102 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
82 | 103 |
github/deemru/w8io/169f3d6 33.37 ms ◑![]()