tx · 7E44s33V8Pvz4bnzcSKnSmKUzXRks6uweCd1U1Uh633T

3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj:  -0.00900000 Waves

2022.11.29 07:06 [2337894] smart account 3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj > SELF 0.00000000 Waves

{ "type": 13, "id": "7E44s33V8Pvz4bnzcSKnSmKUzXRks6uweCd1U1Uh633T", "fee": 900000, "feeAssetId": null, "timestamp": 1669694847419, "version": 2, "chainId": 84, "sender": "3N8xXaYjE27Aa79d5hHrhHu9HaFoTBmhDEj", "senderPublicKey": "A2m227AHcq7gWfSU59Q3UJaqkEa7SccFYmJuWHbFrrKE", "proofs": [ "5qJaJ3PoUr3f978Gv2wbm8qn7eMCps3zbvR7iiK3ztNqb2Q1X4VM29rMrKQ85JjeQzXUVjnAacR3daPqLSUAjKD8" ], "script": "base64:BgJJCAISBAoCCAgSBAoCBAgSAwoBBBIHCgUICAgIARIHCgUICAgIARIDCgEIEgUKAwgICBIDCgEIEgYKBAgIAQESBAoCCAgSAwoBCCEBDmdldFN0cmluZ0J5S2V5AQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUDa2V5AgABD2dldEludGVnZXJCeUtleQEDa2V5CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFA2tleQAAAAVjaHJpcwkBDmdldFN0cmluZ0J5S2V5AQIMY29uZl9hZG1pbl8xAA5kYXBwUnVubmluZ0tleQIUY29uZl9kYXBwX2lzX3J1bm5pbmcAEW1haW50ZW5hbmNlTVNHS2V5AhRjb25mX21haW50ZW5hbmNlX21zZwASd2hpdGVsaXN0ZWRvbmx5S2V5AhVjb25mX3doaXRlbGlzdGVkX29ubHkAC2RhcHBSdW5uaW5nCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFDmRhcHBSdW5uaW5nS2V5BgAObWFpbnRlbmFuY2VNU0cJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwURbWFpbnRlbmFuY2VNU0dLZXkCAAAPd2hpdGVsaXN0ZWRvbmx5CQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFEndoaXRlbGlzdGVkb25seUtleQYAC3VzZXJBbGxvd2VkAgdBTExPV0VEAA51c2VyUmVnaXN0ZXJlZAIKUkVHSVNURVJFRAAMdXNlclZlcmlmaWVkAghWRVJJRklFRAANdXNlclN1c3BlbmRlZAIJU1VTUEVOREVEAAt1c2VyUmVtb3ZlZAIHUkVNT1ZFRAASdXNlckNoYW5nZVJlcXVpcmVkAg9DSEFOR0VfUkVRVUlSRUQACXVzZXJSZXNldAIFUkVTRVQBC2tleVVzZXJBZGRyAQZjYWxsZXIJAKwCAgIFdXNlcl8FBmNhbGxlcgELa2V5VXNlck5hbWUBBmNhbGxlcgkArAICAgp1c2VyX25hbWVfBQZjYWxsZXIBC2tleVVzZXJEZXNjAQZjYWxsZXIJAKwCAgIKdXNlcl9kZXNjXwUGY2FsbGVyAQ1rZXlVc2VyU29jaWFsAQZjYWxsZXIJAKwCAgIMdXNlcl9zb2NpYWxfBQZjYWxsZXIBDGtleVVzZXJUaHVtYgEGY2FsbGVyCQCsAgICC3VzZXJfdGh1bWJfBQZjYWxsZXIBDWtleVVzZXJTdGF0dXMBBmNhbGxlcgkArAICAgx1c2VyX3N0YXR1c18FBmNhbGxlcgEQa2V5VXNlclJveWFsdGllcwEGY2FsbGVyCQCsAgICD3VzZXJfcm95YWx0aWVzXwUGY2FsbGVyAQtrZXlVc2VyRGF0ZQEGY2FsbGVyCQCsAgICCnVzZXJfZGF0ZV8FBmNhbGxlcgEMa2V5VXNlckVSQzIwAQZjYWxsZXIJAKwCAgILdXNlcl9FUkMyMF8FBmNhbGxlcgESa2V5QXJ0aXN0QWdlbnRBZGRyAQphcnRpc3RBZGRyCQCsAgICDWFydGlzdF9hZ2VudF8FCmFydGlzdEFkZHIBEmtleUFnZW50QXJ0aXN0QWRkcgIJYWdlbnRBZGRyCmFydGlzdEFkZHIJAKwCAgkArAICCQCsAgICBmFnZW50XwUJYWdlbnRBZGRyAgFfBQphcnRpc3RBZGRyAQ9rZXlQcmltYXJ5U2hhcmUBCmFydGlzdEFkZHIJAKwCAgIVYXJ0aXN0X2FnZW50X3ByaW1hcnlfBQphcnRpc3RBZGRyARFrZXlTZWNvbmRhcnlTaGFyZQEKYXJ0aXN0QWRkcgkArAICAhdhcnRpc3RfYWdlbnRfc2Vjb25kYXJ5XwUKYXJ0aXN0QWRkcgELdmFsaWRhdGVDSUQBA2NpZAMJAQhjb250YWlucwIFA2NpZAIBLwMDCQBmAgBMCQCxAgEFA2NpZAkAAAIJALECAQkAkQMCCQC1CQIFA2NpZAIBLwAAADsHCQBmAgAQCQCxAgEJAJEDAgkAtQkCBQNjaWQCAS8AAQcHAQ12YWxpZFVzZXJEYXRhBQZjYWxsZXIEbmFtZQtkZXNjcmlwdGlvbgV0aHVtYgppc0FuVXBkYXRlBAh2YWxpZENJRAMJAQIhPQIJALECAQUFdGh1bWIAAAkBC3ZhbGlkYXRlQ0lEAQUFdGh1bWIGAwkBASEBBQh2YWxpZENJRAkAAgECHENJRCBkb24ndCBtYXRjaCByZXF1aXJlbWVudCEDAwkAAAIFBG5hbWUCAAYJAAACBQtkZXNjcmlwdGlvbgIACQACAQIkTmFtZSBhbmQgZGVzY3JpcHRpb24gY2Fubm90IGJlIGVtcHR5AwkAZgIJALECAQULZGVzY3JpcHRpb24A2AQJAAIBAhk2MDAgQ2hhci4gbWF4IGRlc2NyaXB0aW9uAwkAZgIJALECAQUEbmFtZQAtCQACAQIRNDUgQ2hhci4gbWF4IG5hbWUEBnN0YXR1cwkBDmdldFN0cmluZ0J5S2V5AQkBDWtleVVzZXJTdGF0dXMBBQZjYWxsZXIDAwkAAAIFBnN0YXR1cwUNdXNlclN1c3BlbmRlZAYJAAACBQZzdGF0dXMFC3VzZXJSZW1vdmVkCQACAQIbQWNjb3VudCBzdXNwZW5kZWQvIHJlbW92ZWQuAwMJAQEhAQUKaXNBblVwZGF0ZQkAAAIFBnN0YXR1cwUOdXNlclJlZ2lzdGVyZWQHCQACAQISQWxyZWFkeSByZWdpc3RlcmVkAwMDCQEBIQEFCmlzQW5VcGRhdGUJAAACBQZzdGF0dXMCAAcFD3doaXRlbGlzdGVkb25seQcJAAIBAiNDYW4ndCByZWdpc3RlciwgZ2V0IGFwcHJvdmVkIGZpcnN0LgMDAwUKaXNBblVwZGF0ZQkAAAIFBnN0YXR1cwIABwYDBQppc0FuVXBkYXRlCQAAAgUGc3RhdHVzBQt1c2VyQWxsb3dlZAcJAAIBAg5SZWdpc3RlciBmaXJzdAYBEXZhbGlkYXRlTmV3U3RhdHVzAwZzdGF0dXMHYWRkcmVzcw1jdXJyZW50U3RhdHVzBAlhbGxTdGF0dXMJAMwIAgUMdXNlclZlcmlmaWVkCQDMCAIFDnVzZXJSZWdpc3RlcmVkCQDMCAIFDXVzZXJTdXNwZW5kZWQJAMwIAgULdXNlclJlbW92ZWQJAMwIAgULdXNlckFsbG93ZWQJAMwIAgUSdXNlckNoYW5nZVJlcXVpcmVkBQNuaWwEC3N0YXR1c1RvU2V0AwkBD2NvbnRhaW5zRWxlbWVudAIFCWFsbFN0YXR1cwUGc3RhdHVzBQZzdGF0dXMDAwkAAAIFBnN0YXR1cwUJdXNlclJlc2V0CQAAAgUNY3VycmVudFN0YXR1cwULdXNlckFsbG93ZWQHAgAJAAIBAg5Vbmtub3duIHN0YXR1cwQQdXNlcklzUmVnaXN0ZXJlZAkBD2dldEludGVnZXJCeUtleQEJAQtrZXlVc2VyRGF0ZQEFB2FkZHJlc3MDAwkAAAIFEHVzZXJJc1JlZ2lzdGVyZWQAAAkBAiE9AgULc3RhdHVzVG9TZXQFC3VzZXJBbGxvd2VkBwkAAgECMVlvdSBjYW50IHNldCB0aGlzIHN0YXR1cywgdXNlciBpcyBub3QgcmVnaXN0ZXJlZC4DAwkAAAIFDWN1cnJlbnRTdGF0dXMFC3VzZXJBbGxvd2VkCQAAAgULc3RhdHVzVG9TZXQFC3VzZXJBbGxvd2VkBwkAAgECFFVzZXIgYWxyZWFkeSBhbGxvd2VkAwMJAAACBQ1jdXJyZW50U3RhdHVzBQ51c2VyUmVnaXN0ZXJlZAkAAAIFC3N0YXR1c1RvU2V0BQt1c2VyQWxsb3dlZAcJAAIBAiFVc2VyIGFscmVhZHkgYWxsb3dlZCAmIHJlZ2lzdGVyZWQDAwkAAAIFDWN1cnJlbnRTdGF0dXMFDHVzZXJWZXJpZmllZAkAAAIFC3N0YXR1c1RvU2V0BQt1c2VyQWxsb3dlZAcJAAIBAh9Vc2VyIGFscmVhZHkgYWxsb3dlZCAmIHZlcmlmaWVkBQtzdGF0dXNUb1NldAEIbWFrZUpTT04DBG5hbWUFdGh1bWIEZGF0ZQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPeyJ1c2VyX25hbWUiOiAiBQRuYW1lAhEiLCAidXNlcl90aHVtYiI6IgUFdGh1bWICDyIsInVzZXJfZGF0ZSI6IgUEZGF0ZQICIn0LBmludm9rZQEHc2V0Q29uZgIDa2V5A3ZhbAQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgkApQgBBQR0aGlzBQNuaWwFBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCBQNrZXkFA3ZhbAUDbmlsCQACAQIiWW91IGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcwZpbnZva2UBCmFwcFJ1bm5pbmcCBmlzTGl2ZQdtZXNzYWdlBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyCQDMCAIJAQxCb29sZWFuRW50cnkCBQ5kYXBwUnVubmluZ0tleQUGaXNMaXZlCQDMCAIJAQtTdHJpbmdFbnRyeQIFEW1haW50ZW5hbmNlTVNHS2V5BQdtZXNzYWdlBQNuaWwJAAIBAiJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzBmludm9rZQEQcmVnaXN0cmF0aW9uTW9kZQEGV0xvbmx5BAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyCQDMCAIJAQxCb29sZWFuRW50cnkCBRJ3aGl0ZWxpc3RlZG9ubHlLZXkFBldMb25seQUDbmlsCQACAQIiWW91IGFyZSBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcwZpbnZva2UBDHJlZ2lzdGVyVXNlcgUEbmFtZQtkZXNjcmlwdGlvbgV0aHVtYgZzb2NpYWwJcm95YWx0aWVzAwkBASEBBQtkYXBwUnVubmluZwkAAgEFDm1haW50ZW5hbmNlTVNHBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIEAmlkCQDYBAEIBQZpbnZva2UNdHJhbnNhY3Rpb25JZAQJdGltZXN0YW1wCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAQEhAQkBDXZhbGlkVXNlckRhdGEFBQZjYWxsZXIFBG5hbWUFC2Rlc2NyaXB0aW9uBQV0aHVtYgcJAAIBAhRTb21ldGhpbmcgd2VudCB3cm9uZwQEanNvbgkBCG1ha2VKU09OAwkA2gQBCQCbAwEFBG5hbWUJANoEAQkAmwMBBQV0aHVtYgkApAMBBQl0aW1lc3RhbXADAwkAZgIAAAUJcm95YWx0aWVzBgkAZgIFCXJveWFsdGllcwDoBwkAAgECM1JveWFsdGllcyBjYW5ub3QgYmUgbGVzcyB0aGFuIDAlIG9yIGhpZ2hlciB0aGFuIDEwJQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBC2tleVVzZXJEYXRlAQUGY2FsbGVyBQl0aW1lc3RhbXAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBC2tleVVzZXJBZGRyAQUGY2FsbGVyCQCsAgIJAKwCAgUCaWQCAV8JAKQDAQUJdGltZXN0YW1wCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQtrZXlVc2VyTmFtZQEFBmNhbGxlcgUEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQELa2V5VXNlckRlc2MBBQZjYWxsZXIFC2Rlc2NyaXB0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1rZXlVc2VyU29jaWFsAQUGY2FsbGVyBQZzb2NpYWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleVVzZXJUaHVtYgEFBmNhbGxlcgUFdGh1bWIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVVzZXJTdGF0dXMBBQZjYWxsZXIFDnVzZXJSZWdpc3RlcmVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEQa2V5VXNlclJveWFsdGllcwEFBmNhbGxlcgUJcm95YWx0aWVzCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgIIQUxMT1dFRF8FBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUOdXNlclJlZ2lzdGVyZWQCAV8FBmNhbGxlcgUEanNvbgUDbmlsBmludm9rZQEKdXBkYXRlVXNlcgUEbmFtZQtkZXNjcmlwdGlvbgV0aHVtYgZzb2NpYWwJcm95YWx0aWVzAwkBASEBBQtkYXBwUnVubmluZwkAAgEFDm1haW50ZW5hbmNlTVNHBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIEBnN0YXR1cwkBDmdldFN0cmluZ0J5S2V5AQkBDWtleVVzZXJTdGF0dXMBBQZjYWxsZXIDCQEBIQEJAQ12YWxpZFVzZXJEYXRhBQUGY2FsbGVyBQRuYW1lBQtkZXNjcmlwdGlvbgUFdGh1bWIGCQACAQIUU29tZXRoaW5nIHdlbnQgd3JvbmcEBGRhdGUJAQ9nZXRJbnRlZ2VyQnlLZXkBCQELa2V5VXNlckRhdGUBBQZjYWxsZXIEBGpzb24JAQhtYWtlSlNPTgMJANoEAQkAmwMBBQRuYW1lCQDaBAEJAJsDAQUFdGh1bWIJAKQDAQUEZGF0ZQMDCQBmAgAABQlyb3lhbHRpZXMGCQBmAgUJcm95YWx0aWVzAOgHCQACAQIzUm95YWx0aWVzIGNhbm5vdCBiZSBsZXNzIHRoYW4gMCUgb3IgaGlnaGVyIHRoYW4gMTAlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQtrZXlVc2VyTmFtZQEFBmNhbGxlcgUEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQELa2V5VXNlckRlc2MBBQZjYWxsZXIFC2Rlc2NyaXB0aW9uCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1rZXlVc2VyU29jaWFsAQUGY2FsbGVyBQZzb2NpYWwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleVVzZXJUaHVtYgEFBmNhbGxlcgUFdGh1bWIJAMwIAgkBDEludGVnZXJFbnRyeQIJARBrZXlVc2VyUm95YWx0aWVzAQUGY2FsbGVyBQlyb3lhbHRpZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBnN0YXR1cwIBXwUGY2FsbGVyBQRqc29uBQNuaWwGaW52b2tlAQxzZXRFUkMyMFVzZXIBBWVyYzIwAwkBASEBBQtkYXBwUnVubmluZwkAAgEFDm1haW50ZW5hbmNlTVNHBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIEBnN0YXR1cwkBDmdldFN0cmluZ0J5S2V5AQkBDWtleVVzZXJTdGF0dXMBBQZjYWxsZXIDAwkBAiE9AgUGc3RhdHVzBQ51c2VyUmVnaXN0ZXJlZAkBAiE9AgUGc3RhdHVzBQx1c2VyVmVyaWZpZWQHCQACAQIgTm90IGFsbG93ZWQgdG8gc2V0IEVSQzIwIGFkZHJlc3MECGZpcnN0VHdvCQCvAgIFBWVyYzIwAAIDAwkBAiE9AgUIZmlyc3RUd28CAjB4BgkBAiE9AgkAsQIBBQVlcmMyMAAqCQACAQIcVGhpcyBpcyBub3QgYW4gZXJjMjAgYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCCQEMa2V5VXNlckVSQzIwAQUGY2FsbGVyBQVlcmMyMAUDbmlsBmludm9rZQEQY2hhbmdlVXNlclN0YXR1cwMHYWRkcmVzcwZzdGF0dXMEbm90ZQQGY2FsbGVyCQClCAEIBQZpbnZva2UGY2FsbGVyBA1jdXJyZW50U3RhdHVzCQEOZ2V0U3RyaW5nQnlLZXkBCQENa2V5VXNlclN0YXR1cwEFB2FkZHJlc3MEC3N0YXR1c1RvU2V0CQERdmFsaWRhdGVOZXdTdGF0dXMDBQZzdGF0dXMFB2FkZHJlc3MFDWN1cnJlbnRTdGF0dXMEBG5hbWUJANoEAQkAmwMBCQEOZ2V0U3RyaW5nQnlLZXkBCQELa2V5VXNlck5hbWUBBQdhZGRyZXNzBAV0aHVtYgkA2gQBCQCbAwEJAQ5nZXRTdHJpbmdCeUtleQEJAQxrZXlVc2VyVGh1bWIBBQdhZGRyZXNzBARkYXRlCQEPZ2V0SW50ZWdlckJ5S2V5AQkBC2tleVVzZXJEYXRlAQUHYWRkcmVzcwQEanNvbgkBCG1ha2VKU09OAwUEbmFtZQUFdGh1bWIJAKQDAQUEZGF0ZQMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVVzZXJTdGF0dXMBBQdhZGRyZXNzBQtzdGF0dXNUb1NldAkAzAgCCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgUNY3VycmVudFN0YXR1cwIBXwUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgULc3RhdHVzVG9TZXQCAV8FB2FkZHJlc3MFBGpzb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAgp1c2VyX25vdGVfBQdhZGRyZXNzBQRub3RlBQNuaWwJAAIBAiFOb3QgYWxsb3dlZCB0byBjaGFuZ2UgdXNlciBzdGF0dXMGaW52b2tlAQpkZWxldGVVc2VyAQdhZGRyZXNzBAZjYWxsZXIJAKUIAQgFBmludm9rZQZjYWxsZXIEDWN1cnJlbnRTdGF0dXMJAQ5nZXRTdHJpbmdCeUtleQEJAQ1rZXlVc2VyU3RhdHVzAQUHYWRkcmVzcwMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBC2tleVVzZXJEYXRlAQUHYWRkcmVzcwkAzAgCCQELRGVsZXRlRW50cnkBCQELa2V5VXNlckFkZHIBBQdhZGRyZXNzCQDMCAIJAQtEZWxldGVFbnRyeQEJAQtrZXlVc2VyTmFtZQEFB2FkZHJlc3MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBC2tleVVzZXJEZXNjAQUHYWRkcmVzcwkAzAgCCQELRGVsZXRlRW50cnkBCQENa2V5VXNlclNvY2lhbAEFB2FkZHJlc3MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDGtleVVzZXJUaHVtYgEFB2FkZHJlc3MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAgp1c2VyX25vdGVfBQdhZGRyZXNzCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICBQ1jdXJyZW50U3RhdHVzAgFfBQdhZGRyZXNzCQDMCAIJAQtEZWxldGVFbnRyeQEJARBrZXlVc2VyUm95YWx0aWVzAQUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCCQENa2V5VXNlclN0YXR1cwEFB2FkZHJlc3MFC3VzZXJSZW1vdmVkBQNuaWwJAAIBAgtOb3QgYWxsb3dlZAFpAQhzZXRBZ2VudAQKYXJ0aXN0QWRkcglhZ2VudEFkZHIMcHJpbWFyeVNoYXJlDnNlY29uZGFyeVNoYXJlAwkBASEBBQtkYXBwUnVubmluZwkAAgEFDm1haW50ZW5hbmNlTVNHBAZjYWxsZXIJAKUIAQgFAWkGY2FsbGVyAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgkApQgBBQR0aGlzBQNuaWwFBmNhbGxlcgMDCQECIT0CCQCxAgEFCmFydGlzdEFkZHIAIwYJAQIhPQIJALECAQUJYWdlbnRBZGRyACMJAAIBAg1Xcm9uZyBhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIJARJrZXlBcnRpc3RBZ2VudEFkZHIBBQphcnRpc3RBZGRyBQlhZ2VudEFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEmtleUFnZW50QXJ0aXN0QWRkcgIFCWFnZW50QWRkcgUKYXJ0aXN0QWRkcgUKYXJ0aXN0QWRkcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBD2tleVByaW1hcnlTaGFyZQEFCmFydGlzdEFkZHIFDHByaW1hcnlTaGFyZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEWtleVNlY29uZGFyeVNoYXJlAQUKYXJ0aXN0QWRkcgUOc2Vjb25kYXJ5U2hhcmUFA25pbAkAAgECE1lvdSBhcmUgbm90IGFsbG93ZWQBaQEKdW5zZXRBZ2VudAIKYXJ0aXN0QWRkcglhZ2VudEFkZHIDCQEBIQEFC2RhcHBSdW5uaW5nCQACAQUObWFpbnRlbmFuY2VNU0cEBmNhbGxlcgkApQgBCAUBaQZjYWxsZXIDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQVjaHJpcwkAzAgCCQClCAEFBHRoaXMFA25pbAUGY2FsbGVyAwMJAQIhPQIJALECAQUKYXJ0aXN0QWRkcgAjBgkBAiE9AgkAsQIBBQlhZ2VudEFkZHIAIwkAAgECDVdyb25nIGFkZHJlc3MJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBEmtleUFydGlzdEFnZW50QWRkcgEFCmFydGlzdEFkZHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBEmtleUFnZW50QXJ0aXN0QWRkcgIFCWFnZW50QWRkcgUKYXJ0aXN0QWRkcgkAzAgCCQELRGVsZXRlRW50cnkBCQEPa2V5UHJpbWFyeVNoYXJlAQUKYXJ0aXN0QWRkcgkAzAgCCQELRGVsZXRlRW50cnkBCQERa2V5U2Vjb25kYXJ5U2hhcmUBBQphcnRpc3RBZGRyBQNuaWwJAAIBAhNZb3UgYXJlIG5vdCBhbGxvd2VkAWkBC2RlbGV0ZUVudHJ5AQVlbnRyeQQGY2FsbGVyCQClCAEIBQFpBmNhbGxlcgMJAAACBQZjYWxsZXIFBWNocmlzCQDMCAIJAQtEZWxldGVFbnRyeQEFBWVudHJ5BQNuaWwJAAIBAgJubwBTy7yY", "height": 2337894, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DTrBuRmU2KR2B2T4fiJ5K3s9mFqiGxTUd3rPczM1CBoQ Next: HJuFQwm75ntfMjjBx4Fdx9BXxUQUDXZFZAXbwwnDbGpP Diff:
OldNewDifferences
221221 else {
222222 let X = c(z(s))
223223 let ah = W(toBase64String(toBytes(K)), toBase64String(toBytes(M)), toString(X))
224- let ai = ae
225224 if (if ((0 > ae))
226225 then true
227226 else (ae > 1000))
233232
234233
235234 @Callable(Y)
236-func setERC20User (aj) = if (!(h))
235+func setERC20User (ai) = if (!(h))
237236 then throw(i)
238237 else {
239238 let s = toString(Y.caller)
243242 else false)
244243 then throw("Not allowed to set ERC20 address")
245244 else {
246- let ak = take(aj, 2)
247- if (if ((ak != "0x"))
245+ let aj = take(ai, 2)
246+ if (if ((aj != "0x"))
248247 then true
249- else (size(aj) != 42))
248+ else (size(ai) != 42))
250249 then throw("This is not an erc20 address")
251- else [StringEntry(A(s), aj)]
250+ else [StringEntry(A(s), ai)]
252251 }
253252 }
254253
255254
256255
257256 @Callable(Y)
258-func changeUserStatus (R,P,al) = {
257+func changeUserStatus (R,P,ak) = {
259258 let s = toString(Y.caller)
260259 let S = a(x(R))
261260 let U = Q(P, R, S)
264263 let X = c(z(R))
265264 let ah = W(K, M, toString(X))
266265 if (containsElement([d, toString(this)], s))
267- then [StringEntry(x(R), U), DeleteEntry(((S + "_") + R)), StringEntry(((U + "_") + R), ah), StringEntry(("user_note_" + R), al)]
266+ then [StringEntry(x(R), U), DeleteEntry(((S + "_") + R)), StringEntry(((U + "_") + R), ah), StringEntry(("user_note_" + R), ak)]
268267 else throw("Not allowed to change user status")
269268 }
270269
281280
282281
283282
284-@Callable(am)
285-func setAgent (C,E,an,ao) = if (!(h))
283+@Callable(al)
284+func setAgent (C,E,am,an) = if (!(h))
286285 then throw(i)
287286 else {
288- let s = toString(am.caller)
287+ let s = toString(al.caller)
289288 if (containsElement([d, toString(this)], s))
290289 then if (if ((size(C) != 35))
291290 then true
292291 else (size(E) != 35))
293292 then throw("Wrong address")
294- else [StringEntry(B(C), E), StringEntry(D(E, C), C), IntegerEntry(F(C), an), IntegerEntry(G(C), ao)]
293+ else [StringEntry(B(C), E), StringEntry(D(E, C), C), IntegerEntry(F(C), am), IntegerEntry(G(C), an)]
295294 else throw("You are not allowed")
296295 }
297296
298297
299298
300-@Callable(am)
299+@Callable(al)
301300 func unsetAgent (C,E) = if (!(h))
302301 then throw(i)
303302 else {
304- let s = toString(am.caller)
303+ let s = toString(al.caller)
305304 if (containsElement([d, toString(this)], s))
306305 then if (if ((size(C) != 35))
307306 then true
313312
314313
315314
316-@Callable(am)
317-func deleteEntry (ap) = {
318- let s = toString(am.caller)
315+@Callable(al)
316+func deleteEntry (ao) = {
317+ let s = toString(al.caller)
319318 if ((s == d))
320- then [DeleteEntry(ap)]
319+ then [DeleteEntry(ao)]
321320 else throw("no")
322321 }
323322
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrElse(getString(this, b), "")
55
66
77 func c (b) = valueOrElse(getInteger(this, b), 0)
88
99
1010 let d = a("conf_admin_1")
1111
1212 let e = "conf_dapp_is_running"
1313
1414 let f = "conf_maintenance_msg"
1515
1616 let g = "conf_whitelisted_only"
1717
1818 let h = valueOrElse(getBoolean(this, e), true)
1919
2020 let i = valueOrElse(getString(this, f), "")
2121
2222 let j = valueOrElse(getBoolean(this, g), true)
2323
2424 let k = "ALLOWED"
2525
2626 let l = "REGISTERED"
2727
2828 let m = "VERIFIED"
2929
3030 let n = "SUSPENDED"
3131
3232 let o = "REMOVED"
3333
3434 let p = "CHANGE_REQUIRED"
3535
3636 let q = "RESET"
3737
3838 func r (s) = ("user_" + s)
3939
4040
4141 func t (s) = ("user_name_" + s)
4242
4343
4444 func u (s) = ("user_desc_" + s)
4545
4646
4747 func v (s) = ("user_social_" + s)
4848
4949
5050 func w (s) = ("user_thumb_" + s)
5151
5252
5353 func x (s) = ("user_status_" + s)
5454
5555
5656 func y (s) = ("user_royalties_" + s)
5757
5858
5959 func z (s) = ("user_date_" + s)
6060
6161
6262 func A (s) = ("user_ERC20_" + s)
6363
6464
6565 func B (C) = ("artist_agent_" + C)
6666
6767
6868 func D (E,C) = ((("agent_" + E) + "_") + C)
6969
7070
7171 func F (C) = ("artist_agent_primary_" + C)
7272
7373
7474 func G (C) = ("artist_agent_secondary_" + C)
7575
7676
7777 func H (I) = if (contains(I, "/"))
7878 then if (if ((76 > size(I)))
7979 then (size(split(I, "/")[0]) == 59)
8080 else false)
8181 then (16 > size(split(I, "/")[1]))
8282 else false
8383 else false
8484
8585
8686 func J (s,K,L,M,N) = {
8787 let O = if ((size(M) != 0))
8888 then H(M)
8989 else true
9090 if (!(O))
9191 then throw("CID don't match requirement!")
9292 else if (if ((K == ""))
9393 then true
9494 else (L == ""))
9595 then throw("Name and description cannot be empty")
9696 else if ((size(L) > 600))
9797 then throw("600 Char. max description")
9898 else if ((size(K) > 45))
9999 then throw("45 Char. max name")
100100 else {
101101 let P = a(x(s))
102102 if (if ((P == n))
103103 then true
104104 else (P == o))
105105 then throw("Account suspended/ removed.")
106106 else if (if (!(N))
107107 then (P == l)
108108 else false)
109109 then throw("Already registered")
110110 else if (if (if (!(N))
111111 then (P == "")
112112 else false)
113113 then j
114114 else false)
115115 then throw("Can't register, get approved first.")
116116 else if (if (if (N)
117117 then (P == "")
118118 else false)
119119 then true
120120 else if (N)
121121 then (P == k)
122122 else false)
123123 then throw("Register first")
124124 else true
125125 }
126126 }
127127
128128
129129 func Q (P,R,S) = {
130130 let T = [m, l, n, o, k, p]
131131 let U = if (containsElement(T, P))
132132 then P
133133 else if (if ((P == q))
134134 then (S == k)
135135 else false)
136136 then ""
137137 else throw("Unknown status")
138138 let V = c(z(R))
139139 if (if ((V == 0))
140140 then (U != k)
141141 else false)
142142 then throw("You cant set this status, user is not registered.")
143143 else if (if ((S == k))
144144 then (U == k)
145145 else false)
146146 then throw("User already allowed")
147147 else if (if ((S == l))
148148 then (U == k)
149149 else false)
150150 then throw("User already allowed & registered")
151151 else if (if ((S == m))
152152 then (U == k)
153153 else false)
154154 then throw("User already allowed & verified")
155155 else U
156156 }
157157
158158
159159 func W (K,M,X) = (((((("{\"user_name\": \"" + K) + "\", \"user_thumb\":\"") + M) + "\",\"user_date\":\"") + X) + "\"}")
160160
161161
162162 @Callable(Y)
163163 func setConf (b,Z) = {
164164 let s = toString(Y.caller)
165165 if (containsElement([d, toString(this)], s))
166166 then [StringEntry(b, Z)]
167167 else throw("You are not allowed to change this")
168168 }
169169
170170
171171
172172 @Callable(Y)
173173 func appRunning (aa,ab) = {
174174 let s = toString(Y.caller)
175175 if (containsElement([d, toString(this)], s))
176176 then [BooleanEntry(e, aa), StringEntry(f, ab)]
177177 else throw("You are not allowed to change this")
178178 }
179179
180180
181181
182182 @Callable(Y)
183183 func registrationMode (ac) = {
184184 let s = toString(Y.caller)
185185 if (containsElement([d, toString(this)], s))
186186 then [BooleanEntry(g, ac)]
187187 else throw("You are not allowed to change this")
188188 }
189189
190190
191191
192192 @Callable(Y)
193193 func registerUser (K,L,M,ad,ae) = if (!(h))
194194 then throw(i)
195195 else {
196196 let s = toString(Y.caller)
197197 let af = toBase58String(Y.transactionId)
198198 let ag = lastBlock.timestamp
199199 if (!(J(s, K, L, M, false)))
200200 then throw("Something went wrong")
201201 else {
202202 let ah = W(toBase64String(toBytes(K)), toBase64String(toBytes(M)), toString(ag))
203203 if (if ((0 > ae))
204204 then true
205205 else (ae > 1000))
206206 then throw("Royalties cannot be less than 0% or higher than 10%")
207207 else [IntegerEntry(z(s), ag), StringEntry(r(s), ((af + "_") + toString(ag))), StringEntry(t(s), K), StringEntry(u(s), L), StringEntry(v(s), ad), StringEntry(w(s), M), StringEntry(x(s), l), IntegerEntry(y(s), ae), DeleteEntry(("ALLOWED_" + s)), StringEntry(((l + "_") + s), ah)]
208208 }
209209 }
210210
211211
212212
213213 @Callable(Y)
214214 func updateUser (K,L,M,ad,ae) = if (!(h))
215215 then throw(i)
216216 else {
217217 let s = toString(Y.caller)
218218 let P = a(x(s))
219219 if (!(J(s, K, L, M, true)))
220220 then throw("Something went wrong")
221221 else {
222222 let X = c(z(s))
223223 let ah = W(toBase64String(toBytes(K)), toBase64String(toBytes(M)), toString(X))
224- let ai = ae
225224 if (if ((0 > ae))
226225 then true
227226 else (ae > 1000))
228227 then throw("Royalties cannot be less than 0% or higher than 10%")
229228 else [StringEntry(t(s), K), StringEntry(u(s), L), StringEntry(v(s), ad), StringEntry(w(s), M), IntegerEntry(y(s), ae), StringEntry(((P + "_") + s), ah)]
230229 }
231230 }
232231
233232
234233
235234 @Callable(Y)
236-func setERC20User (aj) = if (!(h))
235+func setERC20User (ai) = if (!(h))
237236 then throw(i)
238237 else {
239238 let s = toString(Y.caller)
240239 let P = a(x(s))
241240 if (if ((P != l))
242241 then (P != m)
243242 else false)
244243 then throw("Not allowed to set ERC20 address")
245244 else {
246- let ak = take(aj, 2)
247- if (if ((ak != "0x"))
245+ let aj = take(ai, 2)
246+ if (if ((aj != "0x"))
248247 then true
249- else (size(aj) != 42))
248+ else (size(ai) != 42))
250249 then throw("This is not an erc20 address")
251- else [StringEntry(A(s), aj)]
250+ else [StringEntry(A(s), ai)]
252251 }
253252 }
254253
255254
256255
257256 @Callable(Y)
258-func changeUserStatus (R,P,al) = {
257+func changeUserStatus (R,P,ak) = {
259258 let s = toString(Y.caller)
260259 let S = a(x(R))
261260 let U = Q(P, R, S)
262261 let K = toBase64String(toBytes(a(t(R))))
263262 let M = toBase64String(toBytes(a(w(R))))
264263 let X = c(z(R))
265264 let ah = W(K, M, toString(X))
266265 if (containsElement([d, toString(this)], s))
267- then [StringEntry(x(R), U), DeleteEntry(((S + "_") + R)), StringEntry(((U + "_") + R), ah), StringEntry(("user_note_" + R), al)]
266+ then [StringEntry(x(R), U), DeleteEntry(((S + "_") + R)), StringEntry(((U + "_") + R), ah), StringEntry(("user_note_" + R), ak)]
268267 else throw("Not allowed to change user status")
269268 }
270269
271270
272271
273272 @Callable(Y)
274273 func deleteUser (R) = {
275274 let s = toString(Y.caller)
276275 let S = a(x(R))
277276 if (containsElement([d, toString(this)], s))
278277 then [DeleteEntry(z(R)), DeleteEntry(r(R)), DeleteEntry(t(R)), DeleteEntry(u(R)), DeleteEntry(v(R)), DeleteEntry(w(R)), DeleteEntry(("user_note_" + R)), DeleteEntry(((S + "_") + R)), DeleteEntry(y(R)), StringEntry(x(R), o)]
279278 else throw("Not allowed")
280279 }
281280
282281
283282
284-@Callable(am)
285-func setAgent (C,E,an,ao) = if (!(h))
283+@Callable(al)
284+func setAgent (C,E,am,an) = if (!(h))
286285 then throw(i)
287286 else {
288- let s = toString(am.caller)
287+ let s = toString(al.caller)
289288 if (containsElement([d, toString(this)], s))
290289 then if (if ((size(C) != 35))
291290 then true
292291 else (size(E) != 35))
293292 then throw("Wrong address")
294- else [StringEntry(B(C), E), StringEntry(D(E, C), C), IntegerEntry(F(C), an), IntegerEntry(G(C), ao)]
293+ else [StringEntry(B(C), E), StringEntry(D(E, C), C), IntegerEntry(F(C), am), IntegerEntry(G(C), an)]
295294 else throw("You are not allowed")
296295 }
297296
298297
299298
300-@Callable(am)
299+@Callable(al)
301300 func unsetAgent (C,E) = if (!(h))
302301 then throw(i)
303302 else {
304- let s = toString(am.caller)
303+ let s = toString(al.caller)
305304 if (containsElement([d, toString(this)], s))
306305 then if (if ((size(C) != 35))
307306 then true
308307 else (size(E) != 35))
309308 then throw("Wrong address")
310309 else [DeleteEntry(B(C)), DeleteEntry(D(E, C)), DeleteEntry(F(C)), DeleteEntry(G(C))]
311310 else throw("You are not allowed")
312311 }
313312
314313
315314
316-@Callable(am)
317-func deleteEntry (ap) = {
318- let s = toString(am.caller)
315+@Callable(al)
316+func deleteEntry (ao) = {
317+ let s = toString(al.caller)
319318 if ((s == d))
320- then [DeleteEntry(ap)]
319+ then [DeleteEntry(ao)]
321320 else throw("no")
322321 }
323322
324323

github/deemru/w8io/026f985 
51.70 ms