tx · EjNWTXavRbUh9P3twmQDF3yGkDpqP8QMygUqfmW7iNPs 3N2kVUxYqFz4rHNgnVr7ffhsnC7DptJ1BzH: -0.01000000 Waves 2023.04.23 04:49 [2546557] smart account 3N2kVUxYqFz4rHNgnVr7ffhsnC7DptJ1BzH > SELF 0.00000000 Waves
{ "type": 13, "id": "EjNWTXavRbUh9P3twmQDF3yGkDpqP8QMygUqfmW7iNPs", "fee": 1000000, "feeAssetId": null, "timestamp": 1682214625858, "version": 2, "chainId": 84, "sender": "3N2kVUxYqFz4rHNgnVr7ffhsnC7DptJ1BzH", "senderPublicKey": "8cCvpHrqwPyT7CYYANjtE4ZUgLzCDCqFDMVAX5RRZMPN", "proofs": [ "3wCRWNtfjf7bHiP9Rd3VYJ1xbkMPjebFn9RA6GQxePa2HsvXvf9r5xR8i9phnDkWq7Y2fpWBRChHTz4e9ymvmZJ4" ], "script": "base64:BgJNCAISBwoFCAgICAgSDAoKCAgICAgICAgICBIECgIICBIMCgoICAgICAgICAgIEggKBggICAgICBIDCgEIEgMKAQgSBAoCCAgSBAoCCAgFABBhZG1pbl93YWxsZXRfb25lAiMzTXBEZkRUMzU5cVNTbU5GWm5NZW9QUXB5SkEyVTFLNTF1NQAQYWRtaW5fd2FsbGV0X3R3bwIjM04zRENuZ2ppZGl2a0piVEp3RlRFdmJZUlRmZkNXVkJMQ0wAEmFkbWluX3dhbGxldF90aHJlZQIjM044eDltYjQ4MWkyazZjRzdROVhVVjNlNW56aDFtZHpzTnkBFGNoZWNrX2FkbWluc193YWxsZXRzAQt1c2VyX3dhbGxldAMDAwkAAAIFC3VzZXJfd2FsbGV0BRBhZG1pbl93YWxsZXRfb25lBgkAAAIFC3VzZXJfd2FsbGV0BRBhZG1pbl93YWxsZXRfdHdvBgkAAAIFC3VzZXJfd2FsbGV0BRJhZG1pbl93YWxsZXRfdGhyZWUGBwENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAkBaQEIYWRkX2Jsb2cFCXB1Ymxpc2hlcgV0aXRlbA1hcndlYXZlX3R4X2lkCXNpZ25hdHVyZQpibG9nX2NvdmVyAwMJAAACCQClCAEIBQFpBmNhbGxlcgUJcHVibGlzaGVyBgkBFGNoZWNrX2FkbWluc193YWxsZXRzAQkApQgBCAUBaQZjYWxsZXIEBXR4X2lkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBWJsb2NrBQlsYXN0QmxvY2sEDHB1Ymxpc2hfdGltZQgFBWJsb2NrCXRpbWVzdGFtcAQHYmxvZ19pZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIFdXNlcl8FCXB1Ymxpc2hlcgIIX2Jsb2dfaWQEC25ld19ibG9nX2lkCQBkAgUHYmxvZ19pZAABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgVibG9nXwUFdHhfaWQCCl9wdWJsaXNoZXIFCXB1Ymxpc2hlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFYmxvZ18FBXR4X2lkAg5fYXJ3ZWF2ZV90eF9pZAUNYXJ3ZWF2ZV90eF9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFYmxvZ18FBXR4X2lkAgpfc2lnbmF0dXJlBQlzaWduYXR1cmUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBWJsb2dfBQV0eF9pZAILX2Jsb2dfY292ZXIFCmJsb2dfY292ZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBWJsb2dfBQV0eF9pZAIGX3RpdGVsBQV0aXRlbAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICAgV1c2VyXwUJcHVibGlzaGVyAgVfYmxvZwkApAMBBQtuZXdfYmxvZ19pZAUFdHhfaWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUJcHVibGlzaGVyAghfYmxvZ19pZAULbmV3X2Jsb2dfaWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgVibG9nXwUFdHhfaWQCDV9wdWJsaXNoX3RpbWUFDHB1Ymxpc2hfdGltZQUDbmlsCQACAQJNRVJSUk9SICEsIGFkZF9ibG9nLCBNRVNTQUdFOiBzb3JyeSB5b3UgYXJlIG5vdCBhbGxvdyB0byBpbnZva2UgdGhpcyBmdW5hY3Rpb24BaQEJYWRkX3N0b3J5CglwdWJsaXNoZXIFdGl0ZWwNYXJ3ZWF2ZV90eF9pZAlzaWduYXR1cmULc3RvcnlfY292ZXILZGVzY3JpcHRpb24EdGFncwhsYW5ndWFnZQljYXRlZ29yeXMGc3RhdHVzAwMJAAACCQClCAEIBQFpBmNhbGxlcgUJcHVibGlzaGVyBgkBFGNoZWNrX2FkbWluc193YWxsZXRzAQkApQgBCAUBaQZjYWxsZXIEBXR4X2lkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBWJsb2NrBQlsYXN0QmxvY2sEDHB1Ymxpc2hfdGltZQgFBWJsb2NrCXRpbWVzdGFtcAQIc3RvcnlfaWQJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBXVzZXJfBQlwdWJsaXNoZXICCV9zdG9yeV9pZAQMbmV3X3N0b3J5X2lkCQBkAgUIc3RvcnlfaWQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIKX3B1Ymxpc2hlcgUJcHVibGlzaGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAg5fYXJ3ZWF2ZV90eF9pZAUNYXJ3ZWF2ZV90eF9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIKX3NpZ25hdHVyZQUJc2lnbmF0dXJlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgxfc3RvcnlfY292ZXIFC3N0b3J5X2NvdmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgZfdGl0ZWwFBXRpdGVsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgxfZGVzY3JpcHRpb24FC2Rlc2NyaXB0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgVfdGFncwUEdGFncwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIJX2xhbmd1YWdlBQhsYW5ndWFnZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIGc3RvcnlfBQV0eF9pZAIKX2NhdGVnb3J5cwUJY2F0ZWdvcnlzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FBXR4X2lkAgdfc3RhdHVzBQZzdGF0dXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIFdXNlcl8FCXB1Ymxpc2hlcgIGX3N0b3J5CQCkAwEFDG5ld19zdG9yeV9pZAUFdHhfaWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUJcHVibGlzaGVyAglfc3RvcnlfaWQFDG5ld19zdG9yeV9pZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBnN0b3J5XwUFdHhfaWQCDV9wdWJsaXNoX3RpbWUFDHB1Ymxpc2hfdGltZQUDbmlsCQACAQJORVJSUk9SICEsIGFkZF9zdG9yeSwgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAWkBC2FkZF9jaGFwdGVyAgtzdG9yeV90eF9pZBVjaGFwdGVyX2Fyd2VhdmVfdHhfaWQED2xhc3RfY2hhcHRlcl9pZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGc3RvcnlfBQtzdG9yeV90eF9pZAIQX2xhc3RfY2hhcHRlcl9pZAQFdHhfaWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAQFYmxvY2sFCWxhc3RCbG9jawQMcHVibGlzaF90aW1lCAUFYmxvY2sJdGltZXN0YW1wCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBnN0b3J5XwULc3RvcnlfdHhfaWQCCV9jaGFwdGVyXwkApAMBBQ9sYXN0X2NoYXB0ZXJfaWQFBXR4X2lkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAghjaGFwdGVyXwUFdHhfaWQCDl9hcndlYXZlX3R4X2lkBRVjaGFwdGVyX2Fyd2VhdmVfdHhfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICCGNoYXB0ZXJfBQV0eF9pZAIMX3N0b3J5X3R4X2lkBQtzdG9yeV90eF9pZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICCGNoYXB0ZXJfBQV0eF9pZAIDX2lkBQ9sYXN0X2NoYXB0ZXJfaWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FC3N0b3J5X3R4X2lkAhBfbGFzdF9jaGFwdGVyX2lkCQBkAgUPbGFzdF9jaGFwdGVyX2lkAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAghjaGFwdGVyXwUFdHhfaWQCDV9wdWJsaXNoX3RpbWUFDHB1Ymxpc2hfdGltZQUDbmlsAWkBDXNldF91c2VyX2RhdGEKBndhbGxldARuYW1lCmltYWdlX2xpbmsKY292ZXJfbGluawNiaW8QZ29vZ2xlX2FuYWx5dGljcwd0d2l0dGVyCHRlbGVncmFtEHlhbmRleF9hbmFseXRpY3MFbm90ZXMDAwkAAAIJAKUIAQgFAWkGY2FsbGVyBQZ3YWxsZXQGCQEUY2hlY2tfYWRtaW5zX3dhbGxldHMBCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIHX2pvaW5lZAIDeWVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgVfbmFtZQUEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIKX2ltYWdlTGluawUKaW1hZ2VfbGluawkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIKX2NvdmVyTGluawUKY292ZXJfbGluawkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIEX2JpbwUDYmlvCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AhBfZ29vZ2xlQW5hbHl0aWNzBRBnb29nbGVfYW5hbHl0aWNzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AhBfeWFuZGV4QW5hbHl0aWNzBRB5YW5kZXhfYW5hbHl0aWNzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AghfdHdpdHRlcgUHdHdpdHRlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIJX3RlbGVncmFtBQh0ZWxlZ3JhbQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIGX25vdGVzBQVub3RlcwUDbmlsCQACAQJSRVJSUk9SICEsIHNldF91c2VyX2RhdGEsIE1FU1NBR0U6IHNvcnJ5IHlvdSBhcmUgbm90IGFsbG93IHRvIGludm9rZSB0aGlzIGZ1bmFjdGlvbgFpARFzZXRfdmVyaWZpZWRfdXNlcgYGd2FsbGV0BG5hbWUHdHdpdHRlcgh0ZWxlZ3JhbQVlbWFpbAVub3RlcwMJARRjaGVja19hZG1pbnNfd2FsbGV0cwEJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AglfdmVyaWZpZWQCA3llcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIOX3ZlcmlmaWVkX25hbWUFBG5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCEV92ZXJpZmllZF90d2l0dGVyBQd0d2l0dGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AhJfdmVyaWZpZWRfdGVsZWdyYW0FCHRlbGVncmFtCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0Ag9fdmVyaWZpZWRfbm90ZXMFBW5vdGVzBQNuaWwJAAIBAlZFUlJST1IgISwgc2V0X3ZlcmlmaWVkX3VzZXIsIE1FU1NBR0U6IHNvcnJ5IHlvdSBhcmUgbm90IGFsbG93IHRvIGludm9rZSB0aGlzIGZ1bmFjdGlvbgFpAQtmb2xsb3dfdXNlcgEGd2FsbGV0BAZjYWxsZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBXVzZXJfBQZ3YWxsZXQCDV9mb2xsb3dlZF9ieV8FBmNhbGxlcgIDeWVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgICBXVzZXJfBQZjYWxsZXICCF9mb2xsb3dfBQZ3YWxsZXQCA3llcwUDbmlsAWkBDnVuX2ZvbGxvd191c2VyAQZ3YWxsZXQEBmNhbGxlcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAINX2ZvbGxvd2VkX2J5XwUGY2FsbGVyCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICCQCsAgICBXVzZXJfBQZjYWxsZXICCF9mb2xsb3dfBQZ3YWxsZXQFA25pbAFpARVhZGRfYmxvZ190b19mYXZvcml0ZXMCBndhbGxldApibG9nX3R4X2lkAwMJAAACCQClCAEIBQFpBmNhbGxlcgUGd2FsbGV0BgkBFGNoZWNrX2FkbWluc193YWxsZXRzAQkApQgBCAUBaQZjYWxsZXIEAmlkCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgVibG9nXwUKYmxvZ190eF9pZAIMX2Zhdm9yaXRlX2lkBAd1c2VyX2lkCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgxfZmF2b3JpdGVfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIPX2Jsb2dfZmF2b3JpdGVfCQCkAwEFB3VzZXJfaWQFCmJsb2dfdHhfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIFYmxvZ18FCmJsb2dfdHhfaWQCCl9mYXZvcml0ZV8JAKQDAQUCaWQFBndhbGxldAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBWJsb2dfBQpibG9nX3R4X2lkAgxfZmF2b3JpdGVfaWQJAGQCBQJpZAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIMX2Zhdm9yaXRlX2lkCQBkAgUHdXNlcl9pZAABBQNuaWwJAAIBAlVFUlJST1IgISwgYWRkX3RvX2Zhdm9yaXRlcywgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAWkBFmFkZF9zdG9yeV90b19mYXZvcml0ZXMCBndhbGxldAtzdG9yeV90eF9pZAMDCQAAAgkApQgBCAUBaQZjYWxsZXIFBndhbGxldAYJARRjaGVja19hZG1pbnNfd2FsbGV0cwEJAKUIAQgFAWkGY2FsbGVyBAJpZAkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGc3RvcnlfBQtzdG9yeV90eF9pZAIMX2Zhdm9yaXRlX2lkBAd1c2VyX2lkCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgV1c2VyXwUGd2FsbGV0AgxfZmF2b3JpdGVfaWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIQX3N0b3J5X2Zhdm9yaXRlXwkApAMBBQd1c2VyX2lkBQtzdG9yeV90eF9pZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICAgZzdG9yeV8FC3N0b3J5X3R4X2lkAgpfZmF2b3JpdGVfCQCkAwEFAmlkBQZ3YWxsZXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZzdG9yeV8FC3N0b3J5X3R4X2lkAgxfZmF2b3JpdGVfaWQJAGQCBQJpZAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIFdXNlcl8FBndhbGxldAIMX2Zhdm9yaXRlX2lkCQBkAgUHdXNlcl9pZAABBQNuaWwJAAIBAlVFUlJST1IgISwgYWRkX3RvX2Zhdm9yaXRlcywgTUVTU0FHRTogc29ycnkgeW91IGFyZSBub3QgYWxsb3cgdG8gaW52b2tlIHRoaXMgZnVuYWN0aW9uAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleVJlMCE=", "height": 2546557, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5anrxs2uvATurPbsEwXJxJZYAY9aP55fQDXqqhr4cLVr Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "3MpDfDT359qSSmNFZnMeoPQpyJA2U1K51u5" | |
5 | 5 | ||
6 | 6 | let b = "3N3DCngjidivkJbTJwFTEvbYRTffCWVBLCL" | |
7 | 7 | ||
8 | 8 | let c = "3N8x9mb481i2k6cG7Q9XUV3e5nzh1mdzsNy" | |
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 | 19 | func f (g) = { | |
20 | 20 | let h = getInteger(this, g) | |
21 | 21 | if ($isInstanceOf(h, "Int")) | |
22 | 22 | then { | |
23 | 23 | let i = h | |
24 | 24 | i | |
25 | 25 | } | |
26 | 26 | else 0 | |
27 | 27 | } | |
28 | 28 | ||
29 | 29 | ||
30 | 30 | @Callable(j) | |
31 | 31 | func add_blog (k,l,m,n,o) = if (if ((toString(j.caller) == k)) | |
32 | 32 | then true | |
33 | 33 | else d(toString(j.caller))) | |
34 | 34 | then { | |
35 | 35 | let p = toBase58String(j.transactionId) | |
36 | 36 | let q = lastBlock | |
37 | 37 | let r = q.timestamp | |
38 | 38 | let s = f((("user_" + k) + "_blog_id")) | |
39 | 39 | let t = (s + 1) | |
40 | 40 | [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), StringEntry(((("user_" + k) + "_blog") + toString(t)), p), IntegerEntry((("user_" + k) + "_blog_id"), t), IntegerEntry((("blog_" + p) + "_publish_time"), r)] | |
41 | 41 | } | |
42 | 42 | else throw("ERRROR !, add_blog, MESSAGE: sorry you are not allow to invoke this funaction") | |
43 | 43 | ||
44 | 44 | ||
45 | 45 | ||
46 | 46 | @Callable(j) | |
47 | 47 | func add_story (k,l,m,n,u,v,w,x,y,z) = if (if ((toString(j.caller) == k)) | |
48 | 48 | then true | |
49 | 49 | else d(toString(j.caller))) | |
50 | 50 | then { | |
51 | 51 | let p = toBase58String(j.transactionId) | |
52 | 52 | let q = lastBlock | |
53 | 53 | let r = q.timestamp | |
54 | 54 | let A = f((("user_" + k) + "_story_id")) | |
55 | 55 | let B = (A + 1) | |
56 | 56 | [StringEntry((("story_" + p) + "_publisher"), k), StringEntry((("story_" + p) + "_arweave_tx_id"), m), StringEntry((("story_" + p) + "_signature"), n), StringEntry((("story_" + p) + "_story_cover"), u), StringEntry((("story_" + p) + "_titel"), l), StringEntry((("story_" + p) + "_description"), v), StringEntry((("story_" + p) + "_tags"), w), StringEntry((("story_" + p) + "_language"), x), StringEntry((("story_" + p) + "_categorys"), y), StringEntry((("story_" + p) + "_status"), z), StringEntry(((("user_" + k) + "_story") + toString(B)), p), IntegerEntry((("user_" + k) + "_story_id"), B), IntegerEntry((("story_" + p) + "_publish_time"), r)] | |
57 | 57 | } | |
58 | 58 | else throw("ERRROR !, add_story, MESSAGE: sorry you are not allow to invoke this funaction") | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | ||
62 | 62 | @Callable(j) | |
63 | 63 | func add_chapter (C,D) = { | |
64 | 64 | let E = f((("story_" + C) + "_last_chapter_id")) | |
65 | 65 | let p = toBase58String(j.transactionId) | |
66 | 66 | let q = lastBlock | |
67 | 67 | let r = q.timestamp | |
68 | 68 | [StringEntry(((("story_" + C) + "_chapter_") + toString(E)), p), StringEntry((("chapter_" + p) + "_arweave_tx_id"), D), StringEntry((("chapter_" + p) + "_story_tx_id"), C), IntegerEntry((("chapter_" + p) + "_id"), E), IntegerEntry((("story_" + C) + "_last_chapter_id"), (E + 1)), IntegerEntry((("chapter_" + p) + "_publish_time"), r)] | |
69 | 69 | } | |
70 | 70 | ||
71 | 71 | ||
72 | 72 | ||
73 | 73 | @Callable(j) | |
74 | 74 | func set_user_data (F,G,H,I,J,K,L,M,N,O) = if (if ((toString(j.caller) == F)) | |
75 | 75 | then true | |
76 | 76 | else d(toString(j.caller))) | |
77 | 77 | then [StringEntry((("user_" + F) + "_joined"), "yes"), StringEntry((("user_" + F) + "_name"), G), StringEntry((("user_" + F) + "_imageLink"), H), StringEntry((("user_" + F) + "_coverLink"), I), StringEntry((("user_" + F) + "_bio"), J), StringEntry((("user_" + F) + "_googleAnalytics"), K), StringEntry((("user_" + F) + "_yandexAnalytics"), N), StringEntry((("user_" + F) + "_twitter"), L), StringEntry((("user_" + F) + "_telegram"), M), StringEntry((("user_" + F) + "_notes"), O)] | |
78 | 78 | else throw("ERRROR !, set_user_data, MESSAGE: sorry you are not allow to invoke this funaction") | |
79 | 79 | ||
80 | 80 | ||
81 | 81 | ||
82 | 82 | @Callable(j) | |
83 | 83 | func set_verified_user (F,G,L,M,P,O) = if (d(toString(j.caller))) | |
84 | 84 | then [StringEntry((("user_" + F) + "_verified"), "yes"), StringEntry((("user_" + F) + "_verified_name"), G), StringEntry((("user_" + F) + "_verified_twitter"), L), StringEntry((("user_" + F) + "_verified_telegram"), M), StringEntry((("user_" + F) + "_verified_notes"), O)] | |
85 | 85 | else throw("ERRROR !, set_verified_user, MESSAGE: sorry you are not allow to invoke this funaction") | |
86 | 86 | ||
87 | 87 | ||
88 | 88 | ||
89 | 89 | @Callable(j) | |
90 | 90 | func follow_user (F) = { | |
91 | 91 | let Q = toString(j.caller) | |
92 | 92 | [StringEntry(((("user_" + F) + "_followed_by_") + Q), "yes"), StringEntry(((("user_" + Q) + "_follow_") + F), "yes")] | |
93 | 93 | } | |
94 | 94 | ||
95 | 95 | ||
96 | 96 | ||
97 | 97 | @Callable(j) | |
98 | 98 | func un_follow_user (F) = { | |
99 | 99 | let Q = toString(j.caller) | |
100 | 100 | [DeleteEntry(((("user_" + F) + "_followed_by_") + Q)), DeleteEntry(((("user_" + Q) + "_follow_") + F))] | |
101 | 101 | } | |
102 | 102 | ||
103 | 103 | ||
104 | 104 | ||
105 | 105 | @Callable(j) | |
106 | 106 | func add_blog_to_favorites (F,R) = if (if ((toString(j.caller) == F)) | |
107 | 107 | then true | |
108 | 108 | else d(toString(j.caller))) | |
109 | 109 | then { | |
110 | 110 | let S = f((("blog_" + R) + "_favorite_id")) | |
111 | 111 | let T = f((("user_" + F) + "_favorite_id")) | |
112 | 112 | [StringEntry(((("user_" + F) + "_blog_favorite_") + toString(T)), R), StringEntry(((("blog_" + R) + "_favorite_") + toString(S)), F), IntegerEntry((("blog_" + R) + "_favorite_id"), (S + 1)), IntegerEntry((("user_" + F) + "_favorite_id"), (T + 1))] | |
113 | 113 | } | |
114 | 114 | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
115 | 115 | ||
116 | 116 | ||
117 | 117 | ||
118 | 118 | @Callable(j) | |
119 | 119 | func add_story_to_favorites (F,C) = if (if ((toString(j.caller) == F)) | |
120 | 120 | then true | |
121 | 121 | else d(toString(j.caller))) | |
122 | 122 | then { | |
123 | 123 | let S = f((("story_" + C) + "_favorite_id")) | |
124 | 124 | let T = f((("user_" + F) + "_favorite_id")) | |
125 | 125 | [StringEntry(((("user_" + F) + "_story_favorite_") + toString(T)), C), StringEntry(((("story_" + C) + "_favorite_") + toString(S)), F), IntegerEntry((("story_" + C) + "_favorite_id"), (S + 1)), IntegerEntry((("user_" + F) + "_favorite_id"), (T + 1))] | |
126 | 126 | } | |
127 | 127 | else throw("ERRROR !, add_to_favorites, MESSAGE: sorry you are not allow to invoke this funaction") | |
128 | 128 | ||
129 | 129 | ||
130 | 130 | @Verifier(U) | |
131 | 131 | func V () = sigVerify(U.bodyBytes, U.proofs[0], U.senderPublicKey) | |
132 | 132 |
github/deemru/w8io/169f3d6 33.94 ms ◑