tx · BuuECFZiZfu31aEQ3SDFVaLcsPRULEyzgusFZQt2pV56

3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj:  -0.01400000 Waves

2022.07.14 06:56 [2138880] smart account 3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj > SELF 0.00000000 Waves

{ "type": 13, "id": "BuuECFZiZfu31aEQ3SDFVaLcsPRULEyzgusFZQt2pV56", "fee": 1400000, "feeAssetId": null, "timestamp": 1657771003493, "version": 2, "chainId": 84, "sender": "3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj", "senderPublicKey": "A2m227AHcq7gWfSU59Q3UJaqkEa7SccFYmJuWHbFrrKE", "proofs": [ "BfX9vgzpGNtpE49TYbmGaZA2fRPvYk8zZBmpNiu2svnZyb6ivNLok4ZuseA4NsKaJASd8BECL48cJftMZttU8fj" ], "script": "base64:BgJCCAISBAoCCAgSBAoCBAgSAwoBBBIGCgQICAgIEgYKBAgICAgSBQoDCAgIEgMKAQgSBgoECAgBARIECgIICBIDCgEIIgEOZ2V0U3RyaW5nQnlLZXkBA2tleQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQNrZXkCAAEPZ2V0Qm9vbGVhbkJ5S2V5AQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUDa2V5BwEPZ2V0SW50ZWdlckJ5S2V5AQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUDa2V5AAAABWNocmlzCQEOZ2V0U3RyaW5nQnlLZXkBAgxjb25mX2FkbWluXzEABGpvZXAJAQ5nZXRTdHJpbmdCeUtleQECDWNvbmZfYWRtaW5fMjEADmRhcHBSdW5uaW5nS2V5AhRjb25mX2RhcHBfaXNfcnVubmluZwARbWFpbnRlbmFuY2VNU0dLZXkCFGNvbmZfbWFpbnRlbmFuY2VfbXNnABJ3aGl0ZWxpc3RlZG9ubHlLZXkCFWNvbmZfd2hpdGVsaXN0ZWRfb25seQALZGFwcFJ1bm5pbmcJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUOZGFwcFJ1bm5pbmdLZXkGAA5tYWludGVuYW5jZU1TRwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBRFtYWludGVuYW5jZU1TR0tleQIAAA93aGl0ZWxpc3RlZG9ubHkJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUSd2hpdGVsaXN0ZWRvbmx5S2V5BgALdXNlckFsbG93ZWQCB0FMTE9XRUQADnVzZXJSZWdpc3RlcmVkAgpSRUdJU1RFUkVEAAx1c2VyVmVyaWZpZWQCCFZFUklGSUVEAA11c2VyU3VzcGVuZGVkAglTVVNQRU5ERUQAC3VzZXJSZW1vdmVkAgdSRU1PVkVEABJ1c2VyQ2hhbmdlUmVxdWlyZWQCD0NIQU5HRV9SRVFVSVJFRAAQdXNlclVucmVnaXN0ZXJlZAIMVU5SRUdJU1RFUkVEAAl1c2VyUmVzZXQCBVJFU0VUAQtrZXlVc2VyQWRkcgEGY2FsbGVyCQCsAgICBXVzZXJfBQZjYWxsZXIBC2tleVVzZXJOYW1lAQZjYWxsZXIJAKwCAgIKdXNlcl9uYW1lXwUGY2FsbGVyAQtrZXlVc2VyRGVzYwEGY2FsbGVyCQCsAgICCnVzZXJfZGVzY18FBmNhbGxlcgENa2V5VXNlclNvY2lhbAEGY2FsbGVyCQCsAgICDHVzZXJfc29jaWFsXwUGY2FsbGVyAQxrZXlVc2VyVGh1bWIBBmNhbGxlcgkArAICAgt1c2VyX3RodW1iXwUGY2FsbGVyAQ1rZXlVc2VyU3RhdHVzAQZjYWxsZXIJAKwCAgIMdXNlcl9zdGF0dXNfBQZjYWxsZXIBC2tleVVzZXJEYXRlAQZjYWxsZXIJAKwCAgIKdXNlcl9kYXRlXwUGY2FsbGVyARJrZXlBcnRpc3RBZ2VudEFkZHIBCmFydGlzdEFkZHIJAKwCAgINYXJ0aXN0X2FnZW50XwUKYXJ0aXN0QWRkcgESa2V5QWdlbnRBcnRpc3RBZGRyAglhZ2VudEFkZHIKYXJ0aXN0QWRkcgkArAICCQCsAgIJAKwCAgIGYWdlbnRfBQlhZ2VudEFkZHICAV8FCmFydGlzdEFkZHIBD2tleVByaW1hcnlTaGFyZQEKYXJ0aXN0QWRkcgkArAICAhVhcnRpc3RfYWdlbnRfcHJpbWFyeV8FCmFydGlzdEFkZHIBEWtleVNlY29uZGFyeVNoYXJlAQphcnRpc3RBZGRyCQCsAgICF2FydGlzdF9hZ2VudF9zZWNvbmRhcnlfBQphcnRpc3RBZGRyAQt2YWxpZGF0ZUNJRAEDY2lkAwkBCGNvbnRhaW5zAgUDY2lkAgEvAwMJAGYCAEwJALECAQUDY2lkCQAAAgkAsQIBCQCRAwIJALUJAgUDY2lkAgEvAAAAOwcJAGYCABAJALECAQkAkQMCCQC1CQIFA2NpZAIBLwABBwcBDXZhbGlkVXNlckRhdGEFBmNhbGxlcgRuYW1lC2Rlc2NyaXB0aW9uBXRodW1iCmlzQW5VcGRhdGUECHZhbGlkQ0lEAwkBAiE9AgkAsQIBBQV0aHVtYgAACQELdmFsaWRhdGVDSUQBBQV0aHVtYgYDCQEBIQEFCHZhbGlkQ0lECQACAQIcQ0lEIGRvbid0IG1hdGNoIHJlcXVpcmVtZW50IQMDCQAAAgUEbmFtZQIABgkAAAIFC2Rlc2NyaXB0aW9uAgAJAAIBAiROYW1lIGFuZCBkZXNjcmlwdGlvbiBjYW5ub3QgYmUgZW1wdHkDCQBmAgkAsQIBBQtkZXNjcmlwdGlvbgDYBAkAAgECGTYwMCBDaGFyLiBtYXggZGVzY3JpcHRpb24DCQBmAgkAsQIBBQRuYW1lAC0JAAIBAhE0NSBDaGFyLiBtYXggbmFtZQQGc3RhdHVzCQEOZ2V0U3RyaW5nQnlLZXkBCQENa2V5VXNlclN0YXR1cwEFBmNhbGxlcgMDCQAAAgUGc3RhdHVzBQ11c2VyU3VzcGVuZGVkBgkAAAIFBnN0YXR1cwULdXNlclJlbW92ZWQJAAIBAhtBY2NvdW50IHN1c3BlbmRlZC8gcmVtb3ZlZC4DAwkBASEBBQppc0FuVXBkYXRlCQAAAgUGc3RhdHVzBQ51c2VyUmVnaXN0ZXJlZAcJAAIBAhJBbHJlYWR5IHJlZ2lzdGVyZWQDAwMJAQEhAQUKaXNBblVwZGF0ZQkAAAIFBnN0YXR1cwIABwUPd2hpdGVsaXN0ZWRvbmx5BwkAAgECI0Nhbid0IHJlZ2lzdGVyLCBnZXQgYXBwcm92ZWQgZmlyc3QuAwMDBQppc0FuVXBkYXRlCQAAAgUGc3RhdHVzAgAHBgMFCmlzQW5VcGRhdGUJAAACBQZzdGF0dXMFC3VzZXJBbGxvd2VkBwkAAgECDlJlZ2lzdGVyIGZpcnN0BgERdmFsaWRhdGVOZXdTdGF0dXMDBnN0YXR1cwdhZGRyZXNzDWN1cnJlbnRTdGF0dXMECWFsbFN0YXR1cwkAzAgCBQx1c2VyVmVyaWZpZWQJAMwIAgUOdXNlclJlZ2lzdGVyZWQJAMwIAgUNdXNlclN1c3BlbmRlZAkAzAgCBQt1c2VyUmVtb3ZlZAkAzAgCBQt1c2VyQWxsb3dlZAkAzAgCBRJ1c2VyQ2hhbmdlUmVxdWlyZWQFA25pbAQLc3RhdHVzVG9TZXQDCQEPY29udGFpbnNFbGVtZW50AgUJYWxsU3RhdHVzBQZzdGF0dXMFBnN0YXR1cwMDCQAAAgUGc3RhdHVzBQl1c2VyUmVzZXQJAAACBQ1jdXJyZW50U3RhdHVzBQt1c2VyQWxsb3dlZAcCAAkAAgECDlVua25vd24gc3RhdHVzBBB1c2VySXNSZWdpc3RlcmVkCQEPZ2V0SW50ZWdlckJ5S2V5AQkBC2tleVVzZXJEYXRlAQUHYWRkcmVzcwMDCQAAAgUQdXNlcklzUmVnaXN0ZXJlZAAACQECIT0CBQtzdGF0dXNUb1NldAULdXNlckFsbG93ZWQHCQACAQIxWW91IGNhbnQgc2V0IHRoaXMgc3RhdHVzLCB1c2VyIGlzIG5vdCByZWdpc3RlcmVkLgMDCQAAAgUNY3VycmVudFN0YXR1cwULdXNlckFsbG93ZWQJAAACBQtzdGF0dXNUb1NldAULdXNlckFsbG93ZWQHCQACAQIUVXNlciBhbHJlYWR5IGFsbG93ZWQDAwkAAAIFDWN1cnJlbnRTdGF0dXMFDnVzZXJSZWdpc3RlcmVkCQAAAgULc3RhdHVzVG9TZXQFC3VzZXJBbGxvd2VkBwkAAgECIVVzZXIgYWxyZWFkeSBhbGxvd2VkICYgcmVnaXN0ZXJlZAMDCQAAAgUNY3VycmVudFN0YXR1cwUMdXNlclZlcmlmaWVkCQAAAgULc3RhdHVzVG9TZXQFC3VzZXJBbGxvd2VkBwkAAgECH1VzZXIgYWxyZWFkeSBhbGxvd2VkICYgdmVyaWZpZWQFC3N0YXR1c1RvU2V0AQhtYWtlSlNPTgMEbmFtZQV0aHVtYgRkYXRlCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg97InVzZXJfbmFtZSI6ICIFBG5hbWUCESIsICJ1c2VyX3RodW1iIjoiBQV0aHVtYgIPIiwidXNlcl9kYXRlIjoiBQRkYXRlAgIifQoGaW52b2tlAQdzZXRDb25mAgNrZXkDdmFsBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIFA2tleQUDdmFsBQNuaWwJAAIBAiJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzBmludm9rZQEKYXBwUnVubmluZwIGaXNMaXZlB21lc3NhZ2UEBmNhbGxlcgkApQgBCAUGaW52b2tlBmNhbGxlcgQCaWQJANgEAQgFBmludm9rZQ10cmFuc2FjdGlvbklkAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgUEam9lcAkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyCQDMCAIJAQxCb29sZWFuRW50cnkCBQ5kYXBwUnVubmluZ0tleQUGaXNMaXZlCQDMCAIJAQtTdHJpbmdFbnRyeQIFEW1haW50ZW5hbmNlTVNHS2V5BQdtZXNzYWdlBQNuaWwJAAIBAiJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzBmludm9rZQEQcmVnaXN0cmF0aW9uTW9kZQEGV0xvbmx5BAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIEAmlkCQDYBAEIBQZpbnZva2UNdHJhbnNhY3Rpb25JZAMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIJAMwIAgkBDEJvb2xlYW5FbnRyeQIFEndoaXRlbGlzdGVkb25seUtleQUGV0xvbmx5BQNuaWwJAAIBAiJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzBmludm9rZQEMcmVnaXN0ZXJVc2VyBARuYW1lC2Rlc2NyaXB0aW9uBXRodW1iBnNvY2lhbAMJAQEhAQULZGFwcFJ1bm5pbmcJAAIBBQ5tYWludGVuYW5jZU1TRwQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyBAJpZAkA2AQBCAUGaW52b2tlDXRyYW5zYWN0aW9uSWQECXRpbWVzdGFtcAgFCWxhc3RCbG9jawl0aW1lc3RhbXADCQEBIQEJAQ12YWxpZFVzZXJEYXRhBQUGY2FsbGVyBQRuYW1lBQtkZXNjcmlwdGlvbgUFdGh1bWIHCQACAQIUU29tZXRoaW5nIHdlbnQgd3JvbmcEBGpzb24JAQhtYWtlSlNPTgMJANoEAQkAmwMBBQRuYW1lCQDaBAEJAJsDAQUFdGh1bWIJAKQDAQUJdGltZXN0YW1wCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQELa2V5VXNlckRhdGUBBQZjYWxsZXIFCXRpbWVzdGFtcAkAzAgCCQELU3RyaW5nRW50cnkCCQELa2V5VXNlckFkZHIBBQZjYWxsZXIJAKwCAgkArAICBQJpZAIBXwkApAMBBQl0aW1lc3RhbXAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBC2tleVVzZXJOYW1lAQUGY2FsbGVyBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQtrZXlVc2VyRGVzYwEFBmNhbGxlcgULZGVzY3JpcHRpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVVzZXJTb2NpYWwBBQZjYWxsZXIFBnNvY2lhbAkAzAgCCQELU3RyaW5nRW50cnkCCQEMa2V5VXNlclRodW1iAQUGY2FsbGVyBQV0aHVtYgkAzAgCCQELU3RyaW5nRW50cnkCCQENa2V5VXNlclN0YXR1cwEFBmNhbGxlcgUOdXNlclJlZ2lzdGVyZWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAghBTExPV0VEXwUGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQ51c2VyUmVnaXN0ZXJlZAIBXwUGY2FsbGVyBQRqc29uBQNuaWwGaW52b2tlAQp1cGRhdGVVc2VyBARuYW1lC2Rlc2NyaXB0aW9uBXRodW1iBnNvY2lhbAMJAQEhAQULZGFwcFJ1bm5pbmcJAAIBBQ5tYWludGVuYW5jZU1TRwQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyBAJpZAkA2AQBCAUGaW52b2tlDXRyYW5zYWN0aW9uSWQEBnN0YXR1cwkBDmdldFN0cmluZ0J5S2V5AQkBDWtleVVzZXJTdGF0dXMBBQZjYWxsZXIDCQEBIQEJAQ12YWxpZFVzZXJEYXRhBQUGY2FsbGVyBQRuYW1lBQtkZXNjcmlwdGlvbgUFdGh1bWIGCQACAQIUU29tZXRoaW5nIHdlbnQgd3JvbmcEBGRhdGUJAQ9nZXRJbnRlZ2VyQnlLZXkBCQELa2V5VXNlckRhdGUBBQZjYWxsZXIEBGpzb24JAQhtYWtlSlNPTgMJANoEAQkAmwMBBQRuYW1lCQDaBAEJAJsDAQUFdGh1bWIJAKQDAQUEZGF0ZQkAzAgCCQELU3RyaW5nRW50cnkCCQELa2V5VXNlck5hbWUBBQZjYWxsZXIFBG5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBC2tleVVzZXJEZXNjAQUGY2FsbGVyBQtkZXNjcmlwdGlvbgkAzAgCCQELU3RyaW5nRW50cnkCCQENa2V5VXNlclNvY2lhbAEFBmNhbGxlcgUGc29jaWFsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxrZXlVc2VyVGh1bWIBBQZjYWxsZXIFBXRodW1iCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQZzdGF0dXMCAV8FBmNhbGxlcgUEanNvbgUDbmlsBmludm9rZQEQY2hhbmdlVXNlclN0YXR1cwMHYWRkcmVzcwZzdGF0dXMEbm90ZQQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyBAJpZAkA2AQBCAUGaW52b2tlDXRyYW5zYWN0aW9uSWQEDWN1cnJlbnRTdGF0dXMJAQ5nZXRTdHJpbmdCeUtleQEJAQ1rZXlVc2VyU3RhdHVzAQUHYWRkcmVzcwQLc3RhdHVzVG9TZXQJARF2YWxpZGF0ZU5ld1N0YXR1cwMFBnN0YXR1cwUHYWRkcmVzcwUNY3VycmVudFN0YXR1cwQEbmFtZQkA2gQBCQCbAwEJAQ5nZXRTdHJpbmdCeUtleQEJAQtrZXlVc2VyTmFtZQEFB2FkZHJlc3MEBXRodW1iCQDaBAEJAJsDAQkBDmdldFN0cmluZ0J5S2V5AQkBDGtleVVzZXJUaHVtYgEFB2FkZHJlc3MEBGRhdGUJAQ9nZXRJbnRlZ2VyQnlLZXkBCQELa2V5VXNlckRhdGUBBQdhZGRyZXNzBARqc29uCQEIbWFrZUpTT04DBQRuYW1lBQV0aHVtYgkApAMBBQRkYXRlAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgUEam9lcAkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1rZXlVc2VyU3RhdHVzAQUHYWRkcmVzcwULc3RhdHVzVG9TZXQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgIFDWN1cnJlbnRTdGF0dXMCAV8FB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFC3N0YXR1c1RvU2V0AgFfBQdhZGRyZXNzBQRqc29uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgIKdXNlcl9ub3RlXwUHYWRkcmVzcwUEbm90ZQUDbmlsCQACAQIhTm90IGFsbG93ZWQgdG8gY2hhbmdlIHVzZXIgc3RhdHVzBmludm9rZQEKZGVsZXRlVXNlcgEHYWRkcmVzcwQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyBAJpZAkA2AQBCAUGaW52b2tlDXRyYW5zYWN0aW9uSWQEDWN1cnJlbnRTdGF0dXMJAQ5nZXRTdHJpbmdCeUtleQEJAQ1rZXlVc2VyU3RhdHVzAQUHYWRkcmVzcwMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBC2tleVVzZXJEYXRlAQUHYWRkcmVzcwkAzAgCCQELRGVsZXRlRW50cnkBCQELa2V5VXNlckFkZHIBBQdhZGRyZXNzCQDMCAIJAQtEZWxldGVFbnRyeQEJAQtrZXlVc2VyTmFtZQEFB2FkZHJlc3MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBC2tleVVzZXJEZXNjAQUHYWRkcmVzcwkAzAgCCQELRGVsZXRlRW50cnkBCQENa2V5VXNlclNvY2lhbAEFB2FkZHJlc3MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDGtleVVzZXJUaHVtYgEFB2FkZHJlc3MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAgp1c2VyX25vdGVfBQdhZGRyZXNzCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICBQ1jdXJyZW50U3RhdHVzAgFfBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1rZXlVc2VyU3RhdHVzAQUHYWRkcmVzcwULdXNlclJlbW92ZWQFA25pbAkAAgECC05vdCBhbGxvd2VkAWkBCHNldEFnZW50BAphcnRpc3RBZGRyCWFnZW50QWRkcgxwcmltYXJ5U2hhcmUOc2Vjb25kYXJ5U2hhcmUDCQEBIQEFC2RhcHBSdW5uaW5nCQACAQUObWFpbnRlbmFuY2VNU0cEBmNhbGxlcgkApQgBCAUBaQZjYWxsZXIDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyAwMJAQIhPQIJALECAQUKYXJ0aXN0QWRkcgAjBgkBAiE9AgkAsQIBBQlhZ2VudEFkZHIAIwkAAgECDVdyb25nIGFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEmtleUFydGlzdEFnZW50QWRkcgEFCmFydGlzdEFkZHIFCWFnZW50QWRkcgkAzAgCCQELU3RyaW5nRW50cnkCCQESa2V5QWdlbnRBcnRpc3RBZGRyAgUJYWdlbnRBZGRyBQphcnRpc3RBZGRyBQphcnRpc3RBZGRyCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5UHJpbWFyeVNoYXJlAQUKYXJ0aXN0QWRkcgUMcHJpbWFyeVNoYXJlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERa2V5U2Vjb25kYXJ5U2hhcmUBBQphcnRpc3RBZGRyBQ5zZWNvbmRhcnlTaGFyZQUDbmlsCQACAQITWW91IGFyZSBub3QgYWxsb3dlZAFpAQp1bnNldEFnZW50AgphcnRpc3RBZGRyCWFnZW50QWRkcgMJAQEhAQULZGFwcFJ1bm5pbmcJAAIBBQ5tYWludGVuYW5jZU1TRwQGY2FsbGVyCQClCAEIBQFpBmNhbGxlcgMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIDAwkBAiE9AgkAsQIBBQphcnRpc3RBZGRyACMGCQECIT0CCQCxAgEFCWFnZW50QWRkcgAjCQACAQINV3JvbmcgYWRkcmVzcwkAzAgCCQELRGVsZXRlRW50cnkBCQESa2V5QXJ0aXN0QWdlbnRBZGRyAQUKYXJ0aXN0QWRkcgkAzAgCCQELRGVsZXRlRW50cnkBCQESa2V5QWdlbnRBcnRpc3RBZGRyAgUJYWdlbnRBZGRyBQphcnRpc3RBZGRyCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ9rZXlQcmltYXJ5U2hhcmUBBQphcnRpc3RBZGRyCQDMCAIJAQtEZWxldGVFbnRyeQEJARFrZXlTZWNvbmRhcnlTaGFyZQEFCmFydGlzdEFkZHIFA25pbAkAAgECE1lvdSBhcmUgbm90IGFsbG93ZWQBaQELZGVsZXRlRW50cnkBBWVudHJ5BAZjYWxsZXIJAKUIAQgFAWkGY2FsbGVyAwkAAAIFBmNhbGxlcgUFY2hyaXMJAMwIAgkBC0RlbGV0ZUVudHJ5AQUFZW50cnkFA25pbAkAAgECAm5vAMAc4q8=", "height": 2138880, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J1qUtT4rxPbsk1z75QTkADKefo7N2Knfve3JottujxUu Next: 7VvjKR43iNJ2oR7qfK1QWW6UYkXdgw2npTms9yFGTVqE Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
5-
6-let b = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
7-
8-let c = "conf_dapp_is_running"
9-
10-let d = "conf_maintenance_msg"
11-
12-let e = "conf_whitelisted_only"
13-
14-let f = valueOrElse(getBoolean(this, c), true)
15-
16-let g = valueOrElse(getString(this, d), "")
17-
18-let h = valueOrElse(getBoolean(this, e), true)
19-
20-let i = "ALLOWED"
21-
22-let j = "REGISTERED"
23-
24-let k = "VERIFIED"
25-
26-let l = "SUSPENDED"
27-
28-let m = "REMOVED"
29-
30-let n = "CHANGE_REQUIRED"
31-
32-let o = "UNREGISTERED"
33-
34-let p = "RESET"
35-
36-func q (r) = valueOrElse(getString(this, r), "")
4+func a (b) = valueOrElse(getString(this, b), "")
375
386
39-func s (r) = valueOrElse(getBoolean(this, r), false)
7+func c (b) = valueOrElse(getBoolean(this, b), false)
408
419
42-func t (r) = valueOrElse(getInteger(this, r), 0)
10+func d (b) = valueOrElse(getInteger(this, b), 0)
4311
12+
13+let e = a("conf_admin_1")
14+
15+let f = a("conf_admin_21")
16+
17+let g = "conf_dapp_is_running"
18+
19+let h = "conf_maintenance_msg"
20+
21+let i = "conf_whitelisted_only"
22+
23+let j = valueOrElse(getBoolean(this, g), true)
24+
25+let k = valueOrElse(getString(this, h), "")
26+
27+let l = valueOrElse(getBoolean(this, i), true)
28+
29+let m = "ALLOWED"
30+
31+let n = "REGISTERED"
32+
33+let o = "VERIFIED"
34+
35+let p = "SUSPENDED"
36+
37+let q = "REMOVED"
38+
39+let r = "CHANGE_REQUIRED"
40+
41+let s = "UNREGISTERED"
42+
43+let t = "RESET"
4444
4545 func u (v) = ("user_" + v)
4646
9999 else if ((size(L) > 45))
100100 then throw("45 Char. max name")
101101 else {
102- let Q = q(A(v))
103- if (if ((Q == l))
102+ let Q = a(A(v))
103+ if (if ((Q == p))
104104 then true
105- else (Q == m))
105+ else (Q == q))
106106 then throw("Account suspended/ removed.")
107107 else if (if (!(O))
108- then (Q == j)
108+ then (Q == n)
109109 else false)
110110 then throw("Already registered")
111111 else if (if (if (!(O))
112112 then (Q == "")
113113 else false)
114- then h
114+ then l
115115 else false)
116116 then throw("Can't register, get approved first.")
117117 else if (if (if (O)
119119 else false)
120120 then true
121121 else if (O)
122- then (Q == i)
122+ then (Q == m)
123123 else false)
124124 then throw("Register first")
125125 else true
128128
129129
130130 func R (Q,S,T) = {
131- let U = [k, j, l, m, i, n]
131+ let U = [o, n, p, q, m, r]
132132 let V = if (containsElement(U, Q))
133133 then Q
134- else if (if ((Q == p))
135- then (T == i)
134+ else if (if ((Q == t))
135+ then (T == m)
136136 else false)
137137 then ""
138138 else throw("Unknown status")
139- let W = t(B(S))
139+ let W = d(B(S))
140140 if (if ((W == 0))
141- then (V != i)
141+ then (V != m)
142142 else false)
143143 then throw("You cant set this status, user is not registered.")
144- else if (if ((T == i))
145- then (V == i)
144+ else if (if ((T == m))
145+ then (V == m)
146146 else false)
147147 then throw("User already allowed")
148- else if (if ((T == j))
149- then (V == i)
148+ else if (if ((T == n))
149+ then (V == m)
150150 else false)
151151 then throw("User already allowed & registered")
152- else if (if ((T == k))
153- then (V == i)
152+ else if (if ((T == o))
153+ then (V == m)
154154 else false)
155155 then throw("User already allowed & verified")
156156 else V
161161
162162
163163 @Callable(Z)
164-func appRunning (aa,ab) = {
164+func setConf (b,aa) = {
165165 let v = toString(Z.caller)
166- let ac = toBase58String(Z.transactionId)
167- if (containsElement([a, b, toString(this)], v))
168- then [BooleanEntry(c, aa), StringEntry(d, ab)]
166+ if (containsElement([e, toString(this)], v))
167+ then [StringEntry(b, aa)]
169168 else throw("You are not allowed to change this")
170169 }
171170
172171
173172
174173 @Callable(Z)
175-func registrationMode (ad) = {
174+func appRunning (ab,ac) = {
176175 let v = toString(Z.caller)
177- let ac = toBase58String(Z.transactionId)
178- if (containsElement([a, toString(this)], v))
179- then [BooleanEntry(e, ad)]
176+ let ad = toBase58String(Z.transactionId)
177+ if (containsElement([e, f, toString(this)], v))
178+ then [BooleanEntry(g, ab), StringEntry(h, ac)]
180179 else throw("You are not allowed to change this")
181180 }
182181
183182
184183
185184 @Callable(Z)
186-func registerUser (L,M,N,ae) = if (!(f))
187- then throw(g)
185+func registrationMode (ae) = {
186+ let v = toString(Z.caller)
187+ let ad = toBase58String(Z.transactionId)
188+ if (containsElement([e, toString(this)], v))
189+ then [BooleanEntry(i, ae)]
190+ else throw("You are not allowed to change this")
191+ }
192+
193+
194+
195+@Callable(Z)
196+func registerUser (L,M,N,af) = if (!(j))
197+ then throw(k)
188198 else {
189199 let v = toString(Z.caller)
190- let ac = toBase58String(Z.transactionId)
191- let af = lastBlock.timestamp
200+ let ad = toBase58String(Z.transactionId)
201+ let ag = lastBlock.timestamp
192202 if (!(K(v, L, M, N, false)))
193203 then throw("Something went wrong")
194204 else {
195- let ag = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(af))
196-[IntegerEntry(B(v), af), StringEntry(u(v), ((ac + "_") + toString(af))), StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), ae), StringEntry(z(v), N), StringEntry(A(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), ag)]
205+ let ah = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(ag))
206+[IntegerEntry(B(v), ag), StringEntry(u(v), ((ad + "_") + toString(ag))), StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), af), StringEntry(z(v), N), StringEntry(A(v), n), DeleteEntry(("ALLOWED_" + v)), StringEntry(((n + "_") + v), ah)]
197207 }
198208 }
199209
200210
201211
202212 @Callable(Z)
203-func updateUser (L,M,N,ae) = if (!(f))
204- then throw(g)
213+func updateUser (L,M,N,af) = if (!(j))
214+ then throw(k)
205215 else {
206216 let v = toString(Z.caller)
207- let ac = toBase58String(Z.transactionId)
208- let Q = q(A(v))
217+ let ad = toBase58String(Z.transactionId)
218+ let Q = a(A(v))
209219 if (!(K(v, L, M, N, true)))
210220 then throw("Something went wrong")
211221 else {
212- let Y = t(B(v))
213- let ag = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(Y))
214-[StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), ae), StringEntry(z(v), N), StringEntry(((Q + "_") + v), ag)]
222+ let Y = d(B(v))
223+ let ah = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(Y))
224+[StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), af), StringEntry(z(v), N), StringEntry(((Q + "_") + v), ah)]
215225 }
216226 }
217227
218228
219229
220230 @Callable(Z)
221-func changeUserStatus (S,Q,ah) = {
231+func changeUserStatus (S,Q,ai) = {
222232 let v = toString(Z.caller)
223- let ac = toBase58String(Z.transactionId)
224- let T = q(A(S))
233+ let ad = toBase58String(Z.transactionId)
234+ let T = a(A(S))
225235 let V = R(Q, S, T)
226- let L = toBase64String(toBytes(q(w(S))))
227- let N = toBase64String(toBytes(q(z(S))))
228- let Y = t(B(S))
229- let ag = X(L, N, toString(Y))
230- if (containsElement([a, b, toString(this)], v))
231- then [StringEntry(A(S), V), DeleteEntry(((T + "_") + S)), StringEntry(((V + "_") + S), ag), StringEntry(("user_note_" + S), ah)]
236+ let L = toBase64String(toBytes(a(w(S))))
237+ let N = toBase64String(toBytes(a(z(S))))
238+ let Y = d(B(S))
239+ let ah = X(L, N, toString(Y))
240+ if (containsElement([e, f, toString(this)], v))
241+ then [StringEntry(A(S), V), DeleteEntry(((T + "_") + S)), StringEntry(((V + "_") + S), ah), StringEntry(("user_note_" + S), ai)]
232242 else throw("Not allowed to change user status")
233243 }
234244
237247 @Callable(Z)
238248 func deleteUser (S) = {
239249 let v = toString(Z.caller)
240- let ac = toBase58String(Z.transactionId)
241- let T = q(A(S))
242- if (containsElement([a, toString(this)], v))
243- then [DeleteEntry(B(S)), DeleteEntry(u(S)), DeleteEntry(w(S)), DeleteEntry(x(S)), DeleteEntry(y(S)), DeleteEntry(z(S)), DeleteEntry(("user_note_" + S)), DeleteEntry(((T + "_") + S)), StringEntry(A(S), m)]
250+ let ad = toBase58String(Z.transactionId)
251+ let T = a(A(S))
252+ if (containsElement([e, toString(this)], v))
253+ then [DeleteEntry(B(S)), DeleteEntry(u(S)), DeleteEntry(w(S)), DeleteEntry(x(S)), DeleteEntry(y(S)), DeleteEntry(z(S)), DeleteEntry(("user_note_" + S)), DeleteEntry(((T + "_") + S)), StringEntry(A(S), q)]
244254 else throw("Not allowed")
245255 }
246256
247257
248258
249-@Callable(ai)
250-func setAgent (D,F,aj,ak) = if (!(f))
251- then throw(g)
259+@Callable(aj)
260+func setAgent (D,F,ak,al) = if (!(j))
261+ then throw(k)
252262 else {
253- let v = toString(ai.caller)
254- if (containsElement([a, toString(this)], v))
263+ let v = toString(aj.caller)
264+ if (containsElement([e, toString(this)], v))
255265 then if (if ((size(D) != 35))
256266 then true
257267 else (size(F) != 35))
258268 then throw("Wrong address")
259- else [StringEntry(C(D), F), StringEntry(E(F, D), D), IntegerEntry(G(D), aj), IntegerEntry(H(D), ak)]
269+ else [StringEntry(C(D), F), StringEntry(E(F, D), D), IntegerEntry(G(D), ak), IntegerEntry(H(D), al)]
260270 else throw("You are not allowed")
261271 }
262272
263273
264274
265-@Callable(ai)
266-func unsetAgent (D,F) = if (!(f))
267- then throw(g)
275+@Callable(aj)
276+func unsetAgent (D,F) = if (!(j))
277+ then throw(k)
268278 else {
269- let v = toString(ai.caller)
270- if (containsElement([a, toString(this)], v))
279+ let v = toString(aj.caller)
280+ if (containsElement([e, toString(this)], v))
271281 then if (if ((size(D) != 35))
272282 then true
273283 else (size(F) != 35))
278288
279289
280290
281-@Callable(ai)
282-func deleteEntry (al) = {
283- let v = toString(ai.caller)
284- if ((v == a))
285- then [DeleteEntry(al)]
291+@Callable(aj)
292+func deleteEntry (am) = {
293+ let v = toString(aj.caller)
294+ if ((v == e))
295+ then [DeleteEntry(am)]
286296 else throw("no")
287297 }
288298
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = "3MsG6jPNCrVJUtYB7XJBxS7utWsXAf4n9Vp"
5-
6-let b = "3Mzm4VLwsN9uZwbTMzPj3XuxV6kEfAR8UDN"
7-
8-let c = "conf_dapp_is_running"
9-
10-let d = "conf_maintenance_msg"
11-
12-let e = "conf_whitelisted_only"
13-
14-let f = valueOrElse(getBoolean(this, c), true)
15-
16-let g = valueOrElse(getString(this, d), "")
17-
18-let h = valueOrElse(getBoolean(this, e), true)
19-
20-let i = "ALLOWED"
21-
22-let j = "REGISTERED"
23-
24-let k = "VERIFIED"
25-
26-let l = "SUSPENDED"
27-
28-let m = "REMOVED"
29-
30-let n = "CHANGE_REQUIRED"
31-
32-let o = "UNREGISTERED"
33-
34-let p = "RESET"
35-
36-func q (r) = valueOrElse(getString(this, r), "")
4+func a (b) = valueOrElse(getString(this, b), "")
375
386
39-func s (r) = valueOrElse(getBoolean(this, r), false)
7+func c (b) = valueOrElse(getBoolean(this, b), false)
408
419
42-func t (r) = valueOrElse(getInteger(this, r), 0)
10+func d (b) = valueOrElse(getInteger(this, b), 0)
4311
12+
13+let e = a("conf_admin_1")
14+
15+let f = a("conf_admin_21")
16+
17+let g = "conf_dapp_is_running"
18+
19+let h = "conf_maintenance_msg"
20+
21+let i = "conf_whitelisted_only"
22+
23+let j = valueOrElse(getBoolean(this, g), true)
24+
25+let k = valueOrElse(getString(this, h), "")
26+
27+let l = valueOrElse(getBoolean(this, i), true)
28+
29+let m = "ALLOWED"
30+
31+let n = "REGISTERED"
32+
33+let o = "VERIFIED"
34+
35+let p = "SUSPENDED"
36+
37+let q = "REMOVED"
38+
39+let r = "CHANGE_REQUIRED"
40+
41+let s = "UNREGISTERED"
42+
43+let t = "RESET"
4444
4545 func u (v) = ("user_" + v)
4646
4747
4848 func w (v) = ("user_name_" + v)
4949
5050
5151 func x (v) = ("user_desc_" + v)
5252
5353
5454 func y (v) = ("user_social_" + v)
5555
5656
5757 func z (v) = ("user_thumb_" + v)
5858
5959
6060 func A (v) = ("user_status_" + v)
6161
6262
6363 func B (v) = ("user_date_" + v)
6464
6565
6666 func C (D) = ("artist_agent_" + D)
6767
6868
6969 func E (F,D) = ((("agent_" + F) + "_") + D)
7070
7171
7272 func G (D) = ("artist_agent_primary_" + D)
7373
7474
7575 func H (D) = ("artist_agent_secondary_" + D)
7676
7777
7878 func I (J) = if (contains(J, "/"))
7979 then if (if ((76 > size(J)))
8080 then (size(split(J, "/")[0]) == 59)
8181 else false)
8282 then (16 > size(split(J, "/")[1]))
8383 else false
8484 else false
8585
8686
8787 func K (v,L,M,N,O) = {
8888 let P = if ((size(N) != 0))
8989 then I(N)
9090 else true
9191 if (!(P))
9292 then throw("CID don't match requirement!")
9393 else if (if ((L == ""))
9494 then true
9595 else (M == ""))
9696 then throw("Name and description cannot be empty")
9797 else if ((size(M) > 600))
9898 then throw("600 Char. max description")
9999 else if ((size(L) > 45))
100100 then throw("45 Char. max name")
101101 else {
102- let Q = q(A(v))
103- if (if ((Q == l))
102+ let Q = a(A(v))
103+ if (if ((Q == p))
104104 then true
105- else (Q == m))
105+ else (Q == q))
106106 then throw("Account suspended/ removed.")
107107 else if (if (!(O))
108- then (Q == j)
108+ then (Q == n)
109109 else false)
110110 then throw("Already registered")
111111 else if (if (if (!(O))
112112 then (Q == "")
113113 else false)
114- then h
114+ then l
115115 else false)
116116 then throw("Can't register, get approved first.")
117117 else if (if (if (O)
118118 then (Q == "")
119119 else false)
120120 then true
121121 else if (O)
122- then (Q == i)
122+ then (Q == m)
123123 else false)
124124 then throw("Register first")
125125 else true
126126 }
127127 }
128128
129129
130130 func R (Q,S,T) = {
131- let U = [k, j, l, m, i, n]
131+ let U = [o, n, p, q, m, r]
132132 let V = if (containsElement(U, Q))
133133 then Q
134- else if (if ((Q == p))
135- then (T == i)
134+ else if (if ((Q == t))
135+ then (T == m)
136136 else false)
137137 then ""
138138 else throw("Unknown status")
139- let W = t(B(S))
139+ let W = d(B(S))
140140 if (if ((W == 0))
141- then (V != i)
141+ then (V != m)
142142 else false)
143143 then throw("You cant set this status, user is not registered.")
144- else if (if ((T == i))
145- then (V == i)
144+ else if (if ((T == m))
145+ then (V == m)
146146 else false)
147147 then throw("User already allowed")
148- else if (if ((T == j))
149- then (V == i)
148+ else if (if ((T == n))
149+ then (V == m)
150150 else false)
151151 then throw("User already allowed & registered")
152- else if (if ((T == k))
153- then (V == i)
152+ else if (if ((T == o))
153+ then (V == m)
154154 else false)
155155 then throw("User already allowed & verified")
156156 else V
157157 }
158158
159159
160160 func X (L,N,Y) = (((((("{\"user_name\": \"" + L) + "\", \"user_thumb\":\"") + N) + "\",\"user_date\":\"") + Y) + "\"}")
161161
162162
163163 @Callable(Z)
164-func appRunning (aa,ab) = {
164+func setConf (b,aa) = {
165165 let v = toString(Z.caller)
166- let ac = toBase58String(Z.transactionId)
167- if (containsElement([a, b, toString(this)], v))
168- then [BooleanEntry(c, aa), StringEntry(d, ab)]
166+ if (containsElement([e, toString(this)], v))
167+ then [StringEntry(b, aa)]
169168 else throw("You are not allowed to change this")
170169 }
171170
172171
173172
174173 @Callable(Z)
175-func registrationMode (ad) = {
174+func appRunning (ab,ac) = {
176175 let v = toString(Z.caller)
177- let ac = toBase58String(Z.transactionId)
178- if (containsElement([a, toString(this)], v))
179- then [BooleanEntry(e, ad)]
176+ let ad = toBase58String(Z.transactionId)
177+ if (containsElement([e, f, toString(this)], v))
178+ then [BooleanEntry(g, ab), StringEntry(h, ac)]
180179 else throw("You are not allowed to change this")
181180 }
182181
183182
184183
185184 @Callable(Z)
186-func registerUser (L,M,N,ae) = if (!(f))
187- then throw(g)
185+func registrationMode (ae) = {
186+ let v = toString(Z.caller)
187+ let ad = toBase58String(Z.transactionId)
188+ if (containsElement([e, toString(this)], v))
189+ then [BooleanEntry(i, ae)]
190+ else throw("You are not allowed to change this")
191+ }
192+
193+
194+
195+@Callable(Z)
196+func registerUser (L,M,N,af) = if (!(j))
197+ then throw(k)
188198 else {
189199 let v = toString(Z.caller)
190- let ac = toBase58String(Z.transactionId)
191- let af = lastBlock.timestamp
200+ let ad = toBase58String(Z.transactionId)
201+ let ag = lastBlock.timestamp
192202 if (!(K(v, L, M, N, false)))
193203 then throw("Something went wrong")
194204 else {
195- let ag = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(af))
196-[IntegerEntry(B(v), af), StringEntry(u(v), ((ac + "_") + toString(af))), StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), ae), StringEntry(z(v), N), StringEntry(A(v), j), DeleteEntry(("ALLOWED_" + v)), StringEntry(((j + "_") + v), ag)]
205+ let ah = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(ag))
206+[IntegerEntry(B(v), ag), StringEntry(u(v), ((ad + "_") + toString(ag))), StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), af), StringEntry(z(v), N), StringEntry(A(v), n), DeleteEntry(("ALLOWED_" + v)), StringEntry(((n + "_") + v), ah)]
197207 }
198208 }
199209
200210
201211
202212 @Callable(Z)
203-func updateUser (L,M,N,ae) = if (!(f))
204- then throw(g)
213+func updateUser (L,M,N,af) = if (!(j))
214+ then throw(k)
205215 else {
206216 let v = toString(Z.caller)
207- let ac = toBase58String(Z.transactionId)
208- let Q = q(A(v))
217+ let ad = toBase58String(Z.transactionId)
218+ let Q = a(A(v))
209219 if (!(K(v, L, M, N, true)))
210220 then throw("Something went wrong")
211221 else {
212- let Y = t(B(v))
213- let ag = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(Y))
214-[StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), ae), StringEntry(z(v), N), StringEntry(((Q + "_") + v), ag)]
222+ let Y = d(B(v))
223+ let ah = X(toBase64String(toBytes(L)), toBase64String(toBytes(N)), toString(Y))
224+[StringEntry(w(v), L), StringEntry(x(v), M), StringEntry(y(v), af), StringEntry(z(v), N), StringEntry(((Q + "_") + v), ah)]
215225 }
216226 }
217227
218228
219229
220230 @Callable(Z)
221-func changeUserStatus (S,Q,ah) = {
231+func changeUserStatus (S,Q,ai) = {
222232 let v = toString(Z.caller)
223- let ac = toBase58String(Z.transactionId)
224- let T = q(A(S))
233+ let ad = toBase58String(Z.transactionId)
234+ let T = a(A(S))
225235 let V = R(Q, S, T)
226- let L = toBase64String(toBytes(q(w(S))))
227- let N = toBase64String(toBytes(q(z(S))))
228- let Y = t(B(S))
229- let ag = X(L, N, toString(Y))
230- if (containsElement([a, b, toString(this)], v))
231- then [StringEntry(A(S), V), DeleteEntry(((T + "_") + S)), StringEntry(((V + "_") + S), ag), StringEntry(("user_note_" + S), ah)]
236+ let L = toBase64String(toBytes(a(w(S))))
237+ let N = toBase64String(toBytes(a(z(S))))
238+ let Y = d(B(S))
239+ let ah = X(L, N, toString(Y))
240+ if (containsElement([e, f, toString(this)], v))
241+ then [StringEntry(A(S), V), DeleteEntry(((T + "_") + S)), StringEntry(((V + "_") + S), ah), StringEntry(("user_note_" + S), ai)]
232242 else throw("Not allowed to change user status")
233243 }
234244
235245
236246
237247 @Callable(Z)
238248 func deleteUser (S) = {
239249 let v = toString(Z.caller)
240- let ac = toBase58String(Z.transactionId)
241- let T = q(A(S))
242- if (containsElement([a, toString(this)], v))
243- then [DeleteEntry(B(S)), DeleteEntry(u(S)), DeleteEntry(w(S)), DeleteEntry(x(S)), DeleteEntry(y(S)), DeleteEntry(z(S)), DeleteEntry(("user_note_" + S)), DeleteEntry(((T + "_") + S)), StringEntry(A(S), m)]
250+ let ad = toBase58String(Z.transactionId)
251+ let T = a(A(S))
252+ if (containsElement([e, toString(this)], v))
253+ then [DeleteEntry(B(S)), DeleteEntry(u(S)), DeleteEntry(w(S)), DeleteEntry(x(S)), DeleteEntry(y(S)), DeleteEntry(z(S)), DeleteEntry(("user_note_" + S)), DeleteEntry(((T + "_") + S)), StringEntry(A(S), q)]
244254 else throw("Not allowed")
245255 }
246256
247257
248258
249-@Callable(ai)
250-func setAgent (D,F,aj,ak) = if (!(f))
251- then throw(g)
259+@Callable(aj)
260+func setAgent (D,F,ak,al) = if (!(j))
261+ then throw(k)
252262 else {
253- let v = toString(ai.caller)
254- if (containsElement([a, toString(this)], v))
263+ let v = toString(aj.caller)
264+ if (containsElement([e, toString(this)], v))
255265 then if (if ((size(D) != 35))
256266 then true
257267 else (size(F) != 35))
258268 then throw("Wrong address")
259- else [StringEntry(C(D), F), StringEntry(E(F, D), D), IntegerEntry(G(D), aj), IntegerEntry(H(D), ak)]
269+ else [StringEntry(C(D), F), StringEntry(E(F, D), D), IntegerEntry(G(D), ak), IntegerEntry(H(D), al)]
260270 else throw("You are not allowed")
261271 }
262272
263273
264274
265-@Callable(ai)
266-func unsetAgent (D,F) = if (!(f))
267- then throw(g)
275+@Callable(aj)
276+func unsetAgent (D,F) = if (!(j))
277+ then throw(k)
268278 else {
269- let v = toString(ai.caller)
270- if (containsElement([a, toString(this)], v))
279+ let v = toString(aj.caller)
280+ if (containsElement([e, toString(this)], v))
271281 then if (if ((size(D) != 35))
272282 then true
273283 else (size(F) != 35))
274284 then throw("Wrong address")
275285 else [DeleteEntry(C(D)), DeleteEntry(E(F, D)), DeleteEntry(G(D)), DeleteEntry(H(D))]
276286 else throw("You are not allowed")
277287 }
278288
279289
280290
281-@Callable(ai)
282-func deleteEntry (al) = {
283- let v = toString(ai.caller)
284- if ((v == a))
285- then [DeleteEntry(al)]
291+@Callable(aj)
292+func deleteEntry (am) = {
293+ let v = toString(aj.caller)
294+ if ((v == e))
295+ then [DeleteEntry(am)]
286296 else throw("no")
287297 }
288298
289299

github/deemru/w8io/169f3d6 
77.74 ms