tx · 4PxtUY36b4du8WiQkchjqsAZ51vjpX6ny23MgyStZz6J

3N6fTzqTSR5TgnERgXCu6QdBXko9hCefzP5:  -0.01400000 Waves

2023.03.22 20:36 [2501527] smart account 3N6fTzqTSR5TgnERgXCu6QdBXko9hCefzP5 > SELF 0.00000000 Waves

{ "type": 13, "id": "4PxtUY36b4du8WiQkchjqsAZ51vjpX6ny23MgyStZz6J", "fee": 1400000, "feeAssetId": null, "timestamp": 1679506589324, "version": 2, "chainId": 84, "sender": "3N6fTzqTSR5TgnERgXCu6QdBXko9hCefzP5", "senderPublicKey": "HgH8MfpuURJBWAr8E3KbVp9C2NYiXi3H4WnsJJq5xVqG", "proofs": [ "5fee2Ka6vR1p1sDxM49SiDVeYmp1GXN8B5yWvD5SeJBHHonxKfo3ktvkk1QZDkCZ1nzb6dzjqSat2YWqtc4HxyQw" ], "script": "base64:BgJKCAISBAoCCAgSBAoCCAESAwoBCBIGCgQICAgIEgUKAwgICBIDCgECEgQKAggBEgMKAQgSBgoECAEBARIECgIBARIDCgEBEgMKAQEbAA5jb2xsZWN0aW9uTmFtZQkBEUBleHRyTmF0aXZlKDEwNTgpAQIOY29sbGVjdGlvbk5hbWUABnN5bWJvbAkBEUBleHRyTmF0aXZlKDEwNTgpAQIGc3ltYm9sAAtkZXNjcmlwdGlvbgkBEUBleHRyTmF0aXZlKDEwNTgpAQILZGVzY3JpcHRpb24AC3RvdGFsQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1NSkBAgt0b3RhbEFtb3VudAAHYmFzZVVSSQkBEUBleHRyTmF0aXZlKDEwNTgpAQIHYmFzZVVSSQAIZEFwcEpzb24JAQdBZGRyZXNzAQkA2QQBAiMzTXJHYVpWUmhrbkVHZkhKMTl0dFVQTm5EUm9GcWNIaFZONwAMdG9rZW5QYXltZW50CQERQGV4dHJOYXRpdmUoMTA1NykBAgx0b2tlblBheW1lbnQAEXRva2VuUGF5bWVudEFzc2V0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAOwHAQkBEUBleHRyTmF0aXZlKDEwNTcpAQIMdG9rZW5QYXltZW50AiN0b2tlbiBwYXltZW50IGFzc2V0IGRvZXNuJ3QgY29ubmVjdAAJbGVuZENvdW50CQERQGV4dHJOYXRpdmUoMTA1NSkBAglsZW5kQ291bnQAEGxlbmRDdXJyZW50Q291bnQJARFAZXh0ck5hdGl2ZSgxMDU1KQECEGxlbmRDdXJyZW50Q291bnQAC2h1bmRyZWRMaXN0CQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAkAzAgCAgAJAMwIAgIACQDMCAICAAUDbmlsAQ5wYXJzZUlkdG9Bc3NldAEHYXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDsBwEJANkEAQUHYXNzZXRJZAIcQ2FuJ3QgZmluZCBhc3NldCBieSBhc3NldCBpZAENdHJhbnNmZXJPck5vdAMCdG8GYW1vdW50B2Fzc2V0SWQDCQAAAgUCdG8FBHRoaXMJAQtTdHJpbmdFbnRyeQICBHNtdGgCBHNtdGgJAQ5TY3JpcHRUcmFuc2ZlcgMFAnRvBQZhbW91bnQFB2Fzc2V0SWQBC2dldExlbmRKc29uAQZsZW5kSWQEDGxlbmRJZFN0cmluZwkApAMBBQZsZW5kSWQJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAKwCAgIFbGVuZC0FDGxlbmRJZFN0cmluZwEGZ2V0S2V5AghsZW5kSnNvbgNrZXkED3RpbWVVbml0U2Vjb25kcwoAAUAJAPwHBAUIZEFwcEpzb24CDXJlYWRCeUpTT05LZXkJAMwIAgUIbGVuZEpzb24JAMwIAgUDa2V5BQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcDCQAAAgUPdGltZVVuaXRTZWNvbmRzBQ90aW1lVW5pdFNlY29uZHMFD3RpbWVVbml0U2Vjb25kcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEMZ2V0UmVudENvdW50AQZsZW5kSWQEDGxlbmRJZFN0cmluZwkApAMBBQZsZW5kSWQJARFAZXh0ck5hdGl2ZSgxMDU1KQEJAKwCAgIPbGVuZC1yZW50Q291bnQtBQxsZW5kSWRTdHJpbmcBDGNhbGNMZW5kQ29zdAIGbGVuZElkD3RpbWVVbml0U2Vjb25kcwQIbGVuZEpzb24JAQtnZXRMZW5kSnNvbgEFBmxlbmRJZAQTdGltZVVuaXRQcmljZVN0cmluZwkBBmdldEtleQIFCGxlbmRKc29uAg10aW1lVW5pdFByaWNlAwkAAAIFE3RpbWVVbml0UHJpY2VTdHJpbmcFE3RpbWVVbml0UHJpY2VTdHJpbmcEDXRpbWVVbml0UHJpY2UJAQ1wYXJzZUludFZhbHVlAQUTdGltZVVuaXRQcmljZVN0cmluZwkAaAIFD3RpbWVVbml0U2Vjb25kcwUNdGltZVVuaXRQcmljZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgELZ2V0TGVuZENvc3QBBmxlbmRJZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQCsAgICCmxlbmQtY29zdC0JAKQDAQUGbGVuZElkAAABDG9ubHlJbnRlcm5hbAEGY2FsbGVyAwkAAAIFBmNhbGxlcgUEdGhpcwUEdW5pdAkAAgECEk9ubHkgaW50ZXJuYWwgY2FsbAEVcmVkdWNlckdldERlbGV0ZUVudHJ5AgVhY2N1bQRuZXh0BAskdDAyNTQyMjU5MgUFYWNjdW0ECWRlbGV0aW9ucwgFCyR0MDI1NDIyNTkyAl8xBAdjdXJyZW50CAULJHQwMjU0MjI1OTICXzIECG1heENvdW50CAULJHQwMjU0MjI1OTICXzMEBmxlbmRJZAgFCyR0MDI1NDIyNTkyAl80AwkAZgIFCG1heENvdW50BQdjdXJyZW50CQCVCgMJAM0IAgUJZGVsZXRpb25zCQELRGVsZXRlRW50cnkBCQCsAgIJAKwCAgkArAICAgpsZW5kLXJlbnQtBQZsZW5kSWQCAS0JAKQDAQUHY3VycmVudAkAZAIFB2N1cnJlbnQAAQUIbWF4Q291bnQFBWFjY3VtARJyZWR1Y2VyQ29uY2F0TGlzdHMCBWFjY3VtBG5leHQJAM0IAgUFYWNjdW0FBG5leHQBGHJlZHVjZXJDb25jYXRMaXN0c1N0cmluZwIFYWNjdW0EbmV4dAkAzQgCBQVhY2N1bQUEbmV4dAETcmVkdWNlckxpc3RUb1N0cmluZwIFYWNjdW0EbmV4dAkArAICCQCsAgIFBWFjY3VtAgEtBQRuZXh0AQ9jaGVja0Fzc2V0T3duZXICBmNhbGxlcgdhc3NldElkAwkAAAIJAPAHAgUGY2FsbGVyCQDZBAEFB2Fzc2V0SWQAAQUEdW5pdAkAAgECEE9ubHkgYXNzZXQgb3duZXIBDGNoZWNrUGF5bWVudAIIcGF5bWVudHMGYW1vdW50AwkAZwIICQCRAwIFCHBheW1lbnRzAAAGYW1vdW50BQZhbW91bnQFBHVuaXQJAAIBAhVhbW91bnQgbGVzcyB0aGVuIG5lZWQBEGNoZWNrQXNzZXRFeGlzdHMBB2Fzc2V0SWQDCQELdmFsdWVPckVsc2UCCQCgCAEFB2Fzc2V0SWQHCQACAQIWdGhpcyB0b2tlbiBhbHJlYWR5IHVzZQUEdW5pdAEOY2hlY2tMZW5kT3duZXICBmNhbGxlcgZsZW5kSWQDCQECIT0CCQEGZ2V0S2V5AgkBC2dldExlbmRKc29uAQUGbGVuZElkAgVvd25lcgkApQgBBQZjYWxsZXIJAAIBAhF5b3UgaGF2ZW4ndCBwZXJtcwUEdW5pdAwBaQEJc2V0U3RyaW5nAgRfa2V5Bl92YWx1ZQkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCBQRfa2V5BQZfdmFsdWUFA25pbAFpAQZzZXRJbnQCBF9rZXkGX3ZhbHVlCQELdmFsdWVPckVsc2UCCQEMb25seUludGVybmFsAQgFAWkGY2FsbGVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQRfa2V5BQZfdmFsdWUFA25pbAFpAQtkZWxldGVFbnRyeQEEX2tleQkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgkAzAgCCQELRGVsZXRlRW50cnkBBQRfa2V5BQNuaWwBaQEEaW5pdAQPX2NvbGxlY3Rpb25OYW1lB19zeW1ib2wMX2Rlc2NyaXB0aW9uCF9iYXNlVVJJCQELdmFsdWVPckVsc2UCCQEMb25seUludGVybmFsAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQICDmNvbGxlY3Rpb25OYW1lBQ9fY29sbGVjdGlvbk5hbWUJAMwIAgkBC1N0cmluZ0VudHJ5AgIGc3ltYm9sBQdfc3ltYm9sCQDMCAIJAQtTdHJpbmdFbnRyeQICC2Rlc2NyaXB0aW9uBQxfZGVzY3JpcHRpb24JAMwIAgkBDEludGVnZXJFbnRyeQICC3RvdGFsQW1vdW50AAAJAMwIAgkBC1N0cmluZ0VudHJ5AgIHYmFzZVVSSQUIX2Jhc2VVUkkFA25pbAFpAQdzZXRVc2VyAwdhc3NldElkBHVzZXIHZXhwaXJlcwQDcmVzCQD8BwQFCGRBcHBKc29uAghtYWtlSlNPTgkAzAgCCQDMCAICBHVzZXIJAMwIAgIHZXhwaXJlcwUDbmlsCQDMCAIJAMwIAgUEdXNlcgkAzAgCBQdleHBpcmVzBQNuaWwFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAgd1c2VyT2YtBQdhc3NldElkCgABQAUDcmVzAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwUDbmlsBQNyZXMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEPc2V0VG9rZW5QYXltZW50AQthc3NldEJpbmFyeQkBC3ZhbHVlT3JFbHNlAgkBDG9ubHlJbnRlcm5hbAEIBQFpBmNhbGxlcgkAzAgCCQELQmluYXJ5RW50cnkCAgx0b2tlblBheW1lbnQFC2Fzc2V0QmluYXJ5BQNuaWwBaQEKbWludFRva2VucwICdG8GYW1vdW50BAZyZWlzdWUJAQdSZWlzc3VlAwUMdG9rZW5QYXltZW50BQZhbW91bnQGBAl0b0FkZHJlc3MJAQdBZGRyZXNzAQkA2QQBBQJ0bwQIdHJhbnNmZXIJAQ10cmFuc2Zlck9yTm90AwUJdG9BZGRyZXNzBQZhbW91bnQFDHRva2VuUGF5bWVudAMJAAACBQh0cmFuc2ZlcgUIdHJhbnNmZXIJAMwIAgUIdHJhbnNmZXIJAMwIAgUGcmVpc3VlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHbWludE5GVAECdG8EB3Rva2VuSWQJAGQCBQt0b3RhbEFtb3VudAABBA10b2tlbklkU3RyaW5nCQCkAwEFB3Rva2VuSWQEB3ByZU5hbWUJAKwCAgkArAICBQZzeW1ib2wCASMFDXRva2VuSWRTdHJpbmcEBG5hbWUDCQBnAgAQCQCxAgEFB3ByZU5hbWUFB3ByZU5hbWUFDXRva2VuSWRTdHJpbmcECHRva2VuVVJJCQCsAgIFB2Jhc2VVUkkFDXRva2VuSWRTdHJpbmcEBGpzb24KAAFACQD8BwQFCGRBcHBKc29uAghtYWtlSlNPTgkAzAgCCQDMCAICCHRva2VuVVJJBQNuaWwJAMwIAgkAzAgCBQh0b2tlblVSSQUDbmlsBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcEBWFzc2V0CQDDCAcFBG5hbWUFBGpzb24AAQAABwUEdW5pdAUGaGVpZ2h0BAdhc3NldElkCQC4CAEFBWFzc2V0BAl0b0FkZHJlc3MJAQdBZGRyZXNzAQkA2QQBBQJ0bwQIdHJhbnNmZXIJAQ10cmFuc2Zlck9yTm90AwUJdG9BZGRyZXNzAAEFB2Fzc2V0SWQDCQAAAgUIdHJhbnNmZXIFCHRyYW5zZmVyCQDMCAIFBWFzc2V0CQDMCAIFCHRyYW5zZmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgt0b3RhbEFtb3VudAUHdG9rZW5JZAkAzAgCCQELU3RyaW5nRW50cnkCBQRuYW1lBQh0b2tlblVSSQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGluaXRMZW5kBAdhc3NldElkD3RpbWVVbml0U2Vjb25kcw10aW1lVW5pdFByaWNlDXRpbWVVbml0Q291bnQJAQt2YWx1ZU9yRWxzZQIJAQ9jaGVja0Fzc2V0T3duZXICCAUBaQZjYWxsZXIFB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJARBjaGVja0Fzc2V0RXhpc3RzAQUHYXNzZXRJZAQFYXNzZXQJAQ5wYXJzZUlkdG9Bc3NldAEFB2Fzc2V0SWQECHRva2VuVVJJCgABQAkA/AcEBQhkQXBwSnNvbgINcmVhZEJ5SlNPTktleQkAzAgCCAUFYXNzZXQLZGVzY3JpcHRpb24JAMwIAgIIdG9rZW5VUkkFA25pbAUDbmlsAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwMJAAACBQh0b2tlblVSSQUIdG9rZW5VUkkECGxlbmRKc29uCgABQAkA/AcEBQhkQXBwSnNvbgIIbWFrZUpTT04JAMwIAgkAzAgCAhJzdXBwb3J0ZWRJbnRlcmZhY2UJAMwIAgIIYXNzZXRkSWQJAMwIAgIIdG9rZW5VUkkJAMwIAgIFb3duZXIJAMwIAgIPdGltZVVuaXRTZWNvbmRzCQDMCAICDXRpbWVVbml0UHJpY2UJAMwIAgINdGltZVVuaXRDb3VudAkAzAgCAg5zdGFydFRpbWVzdGFtcAkAzAgCAgxlbmRUaW1lc3RhbXAJAMwIAgIHZGVwb3NpdAkAzAgCAgdjbGFpbWVkBQNuaWwJAMwIAgkAzAgCAgEwCQDMCAIFB2Fzc2V0SWQJAMwIAgUIdG9rZW5VUkkJAMwIAgkApQgBCAUBaQZjYWxsZXIJAMwIAgkApAMBBQ90aW1lVW5pdFNlY29uZHMJAMwIAgkApAMBBQ10aW1lVW5pdFByaWNlCQDMCAIJAKQDAQUNdGltZVVuaXRDb3VudAkAzAgCCQCkAwEIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAKQDAQkAZAIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQBoAgUPdGltZVVuaXRTZWNvbmRzBQ10aW1lVW5pdENvdW50CQDMCAICATAJAMwIAgIBMAUDbmlsBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcDCQAAAgUIbGVuZEpzb24FCGxlbmRKc29uBAxsZW5kSWRTdHJpbmcJAKQDAQUJbGVuZENvdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAglsZW5kQ291bnQJAGQCBQlsZW5kQ291bnQAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgIQbGVuZEN1cnJlbnRDb3VudAkAZAIFEGxlbmRDdXJyZW50Q291bnQAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICAg9sZW5kLXJlbnRDb3VudC0FDGxlbmRJZFN0cmluZwAACQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgIFbGVuZC0FDGxlbmRJZFN0cmluZwUIbGVuZEpzb24JAMwIAgkBDEJvb2xlYW5FbnRyeQIFB2Fzc2V0SWQGBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIaW5pdFJlbnQCBmxlbmRJZA10aW1lVW5pdENvdW50CQELdmFsdWVPckVsc2UCCQEMY2hlY2tQYXltZW50AggFAWkIcGF5bWVudHMJAQxjYWxjTGVuZENvc3QCBQZsZW5kSWQFDXRpbWVVbml0Q291bnQEDGxlbmRJZFN0cmluZwkApAMBBQZsZW5kSWQECGxlbmRKc29uCQERQGV4dHJOYXRpdmUoMTA1OCkBCQCsAgICBWxlbmQtBQxsZW5kSWRTdHJpbmcEBnJlbnRJZAkBDGdldFJlbnRDb3VudAEFBmxlbmRJZAQMcmVudElkU3RyaW5nCQCkAwEFBnJlbnRJZAQPdGltZVVuaXRTZWNvbmRzCgABQAkA/AcEBQhkQXBwSnNvbgINcmVhZEJ5SlNPTktleQkAzAgCBQhsZW5kSnNvbgkAzAgCAg90aW1lVW5pdFNlY29uZHMFA25pbAUDbmlsAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwMJAAACBQ90aW1lVW5pdFNlY29uZHMFD3RpbWVVbml0U2Vjb25kcwQSdGltZVVuaXRTZWNvbmRzSW50CQENcGFyc2VJbnRWYWx1ZQEFD3RpbWVVbml0U2Vjb25kcwMJAAACBRJ0aW1lVW5pdFNlY29uZHNJbnQFEnRpbWVVbml0U2Vjb25kc0ludAQIcmVudEpzb24KAAFACQD8BwQFCGRBcHBKc29uAghtYWtlSlNPTgkAzAgCCQDMCAICCGN1c3RvbWVyCQDMCAICDXRpbWVVbml0Q291bnQJAMwIAgIOc3RhcnRUaW1lc3RhbXAJAMwIAgIMZW5kVGltZXN0YW1wCQDMCAICBmNsb3NlZAUDbmlsCQDMCAIJAMwIAgkApQgBCAUBaQZjYWxsZXIJAMwIAgkApAMBBQ10aW1lVW5pdENvdW50CQDMCAIJAKQDAQgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkApAMBCQBkAggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAGgCBRJ0aW1lVW5pdFNlY29uZHNJbnQFDXRpbWVVbml0Q291bnQJAMwIAgIBMAUDbmlsBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcDCQAAAgUIcmVudEpzb24FCHJlbnRKc29uCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICD2xlbmQtcmVudENvdW50LQUMbGVuZElkU3RyaW5nCQBkAgUGcmVudElkAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIKbGVuZC1yZW50LQUMbGVuZElkU3RyaW5nAgEtBQxyZW50SWRTdHJpbmcFCHJlbnRKc29uCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICCmxlbmQtY29zdC0FDGxlbmRJZFN0cmluZwkAZAIJAQxjYWxjTGVuZENvc3QCBQZsZW5kSWQFDXRpbWVVbml0Q291bnQJAQtnZXRMZW5kQ29zdAEFBmxlbmRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZh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", "height": 2501527, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CVM5SsZEn8YE23ggwDxfspCjn3nSZyrCjEr4iYNFmkqr Next: HRSxMw8vt2cDtMxzGmUMXbWZ1dpCniR4Gj1ex8bqXVpG Diff:
OldNewDifferences
2121
2222 let j = getIntegerValue("lendCurrentCount")
2323
24-func k (l) = valueOrErrorMessage(assetInfo(fromBase58String(l)), "Can't find asset by asset id")
24+let k = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
25+
26+func l (m) = valueOrErrorMessage(assetInfo(fromBase58String(m)), "Can't find asset by asset id")
2527
2628
27-func m (n) = if ((n == this))
28- then unit
29- else throw("Only internal call")
29+func n (o,p,m) = if ((o == this))
30+ then StringEntry("smth", "smth")
31+ else ScriptTransfer(o, p, m)
3032
3133
32-func o (p,l) = if ((p == this))
33- then StringEntry("smth", "smth")
34- else ScriptTransfer(p, 1, l)
35-
36-
37-func q (n,l) = if ((assetBalance(n, fromBase58String(l)) == 1))
38- then unit
39- else throw("Only asset owner")
40-
41-
42-func r (s,t) = if ((s[0].amount >= t))
43- then unit
44- else throw("amount less then need")
45-
46-
47-func u (l) = if (getBooleanValue(l))
48- then throw("this token already use")
49- else unit
50-
51-
52-func v (w) = {
53- let x = toString(w)
54- getStringValue(("lend-" + x))
34+func q (r) = {
35+ let s = toString(r)
36+ getStringValue(("lend-" + s))
5537 }
5638
5739
58-func y (z,A) = {
59- let B = {
60- let C = invoke(f, "readByJSONKey", [z, A], nil)
61- if ($isInstanceOf(C, "String"))
62- then C
63- else throw(($getType(C) + " couldn't be cast to String"))
40+func t (u,v) = {
41+ let w = {
42+ let x = invoke(f, "readByJSONKey", [u, v], nil)
43+ if ($isInstanceOf(x, "String"))
44+ then x
45+ else throw(($getType(x) + " couldn't be cast to String"))
6446 }
65- if ((B == B))
66- then B
47+ if ((w == w))
48+ then w
6749 else throw("Strict value is not equal to itself.")
6850 }
6951
7052
71-func D (w) = {
72- let x = toString(w)
73- getIntegerValue(("lend-rentCount-" + x))
53+func y (r) = {
54+ let s = toString(r)
55+ getIntegerValue(("lend-rentCount-" + s))
7456 }
7557
7658
77-func E (w,B) = {
78- let z = v(w)
79- let F = y(z, "timeUnitPrice")
80- if ((F == F))
59+func z (r,w) = {
60+ let u = q(r)
61+ let A = t(u, "timeUnitPrice")
62+ if ((A == A))
8163 then {
82- let G = parseIntValue(F)
83- (B * G)
64+ let B = parseIntValue(A)
65+ (w * B)
8466 }
8567 else throw("Strict value is not equal to itself.")
8668 }
8769
8870
89-@Callable(H)
90-func setString (I,J) = valueOrElse(m(H.caller), [StringEntry(I, J)])
71+func C (r) = valueOrElse(getInteger(("lend-cost-" + toString(r))), 0)
72+
73+
74+func D (E) = if ((E == this))
75+ then unit
76+ else throw("Only internal call")
77+
78+
79+func F (G,H) = {
80+ let I = G
81+ let J = I._1
82+ let K = I._2
83+ let L = I._3
84+ let r = I._4
85+ if ((L > K))
86+ then $Tuple3((J :+ DeleteEntry(((("lend-rent-" + r) + "-") + toString(K)))), (K + 1), L)
87+ else G
88+ }
89+
90+
91+func M (G,H) = (G :+ H)
92+
93+
94+func N (G,H) = (G :+ H)
95+
96+
97+func O (G,H) = ((G + "-") + H)
98+
99+
100+func P (E,m) = if ((assetBalance(E, fromBase58String(m)) == 1))
101+ then unit
102+ else throw("Only asset owner")
103+
104+
105+func Q (R,p) = if ((R[0].amount >= p))
106+ then unit
107+ else throw("amount less then need")
108+
109+
110+func S (m) = if (valueOrElse(getBoolean(m), false))
111+ then throw("this token already use")
112+ else unit
113+
114+
115+func T (E,r) = if ((t(q(r), "owner") != toString(E)))
116+ then throw("you haven't perms")
117+ else unit
118+
119+
120+@Callable(U)
121+func setString (V,W) = valueOrElse(D(U.caller), [StringEntry(V, W)])
91122
92123
93124
94-@Callable(H)
95-func setInt (I,J) = valueOrElse(m(H.caller), [IntegerEntry(I, J)])
125+@Callable(U)
126+func setInt (V,W) = valueOrElse(D(U.caller), [IntegerEntry(V, W)])
96127
97128
98129
99-@Callable(H)
100-func deleteEntry (I) = valueOrElse(m(H.caller), [DeleteEntry(I)])
130+@Callable(U)
131+func deleteEntry (V) = valueOrElse(D(U.caller), [DeleteEntry(V)])
101132
102133
103134
104-@Callable(H)
105-func init (K,L,M,N) = valueOrElse(m(H.caller), [StringEntry("collectionName", K), StringEntry("symbol", L), StringEntry("description", M), IntegerEntry("totalAmount", 0), StringEntry("baseURI", N)])
135+@Callable(U)
136+func init (X,Y,Z,aa) = valueOrElse(D(U.caller), [StringEntry("collectionName", X), StringEntry("symbol", Y), StringEntry("description", Z), IntegerEntry("totalAmount", 0), StringEntry("baseURI", aa)])
106137
107138
108139
109-@Callable(H)
110-func setUser (l,O,P) = {
111- let Q = invoke(f, "makeJSON", [["user", "expires"], [O, P]], nil)
112- if ((Q == Q))
113- then $Tuple2([StringEntry(("userOf-" + l), {
114- let C = Q
115- if ($isInstanceOf(C, "String"))
116- then C
117- else throw(($getType(C) + " couldn't be cast to String"))
118- })], Q)
140+@Callable(U)
141+func setUser (m,ab,ac) = {
142+ let ad = invoke(f, "makeJSON", [["user", "expires"], [ab, ac]], nil)
143+ if ((ad == ad))
144+ then $Tuple2([StringEntry(("userOf-" + m), {
145+ let x = ad
146+ if ($isInstanceOf(x, "String"))
147+ then x
148+ else throw(($getType(x) + " couldn't be cast to String"))
149+ })], ad)
119150 else throw("Strict value is not equal to itself.")
120151 }
121152
122153
123154
124-@Callable(H)
125-func setTokenPayment (R) = valueOrElse(m(H.caller), [BinaryEntry("tokenPayment", R)])
155+@Callable(U)
156+func setTokenPayment (ae) = valueOrElse(D(U.caller), [BinaryEntry("tokenPayment", ae)])
126157
127158
128159
129-@Callable(H)
130-func mint (p) = {
131- let S = (d + 1)
132- let T = toString(S)
133- let U = ((b + "#") + T)
134- let V = if ((16 >= size(U)))
135- then U
136- else T
137- let W = (e + T)
138- let X = {
139- let C = invoke(f, "makeJSON", [["tokenURI"], [W]], nil)
140- if ($isInstanceOf(C, "String"))
141- then C
142- else throw(($getType(C) + " couldn't be cast to String"))
143- }
144- let Y = Issue(V, X, 1, 0, false, unit, height)
145- let l = calculateAssetId(Y)
146- let Z = Address(fromBase58String(p))
147- let aa = o(Z, l)
148- if ((aa == aa))
149- then [Y, aa, IntegerEntry("totalAmount", S), StringEntry(V, W)]
160+@Callable(U)
161+func mintTokens (o,p) = {
162+ let af = Reissue(g, p, true)
163+ let ag = Address(fromBase58String(o))
164+ let ah = n(ag, p, g)
165+ if ((ah == ah))
166+ then [ah, af]
150167 else throw("Strict value is not equal to itself.")
151168 }
152169
153170
154171
155-@Callable(H)
156-func initLend (l,B,G,ab) = valueOrElse(q(H.caller, l), valueOrElse(u(l), {
157- let Y = k(l)
158- let W = {
159- let C = invoke(f, "readByJSONKey", [Y.description, "tokenURI"], nil)
160- if ($isInstanceOf(C, "String"))
161- then C
162- else throw(($getType(C) + " couldn't be cast to String"))
172+@Callable(U)
173+func mintNFT (o) = {
174+ let ai = (d + 1)
175+ let aj = toString(ai)
176+ let ak = ((b + "#") + aj)
177+ let al = if ((16 >= size(ak)))
178+ then ak
179+ else aj
180+ let am = (e + aj)
181+ let an = {
182+ let x = invoke(f, "makeJSON", [["tokenURI"], [am]], nil)
183+ if ($isInstanceOf(x, "String"))
184+ then x
185+ else throw(($getType(x) + " couldn't be cast to String"))
163186 }
164- if ((W == W))
187+ let ao = Issue(al, an, 1, 0, false, unit, height)
188+ let m = calculateAssetId(ao)
189+ let ag = Address(fromBase58String(o))
190+ let ah = n(ag, 1, m)
191+ if ((ah == ah))
192+ then [ao, ah, IntegerEntry("totalAmount", ai), StringEntry(al, am)]
193+ else throw("Strict value is not equal to itself.")
194+ }
195+
196+
197+
198+@Callable(U)
199+func initLend (m,w,B,ap) = valueOrElse(P(U.caller, m), valueOrElse(S(m), {
200+ let ao = l(m)
201+ let am = {
202+ let x = invoke(f, "readByJSONKey", [ao.description, "tokenURI"], nil)
203+ if ($isInstanceOf(x, "String"))
204+ then x
205+ else throw(($getType(x) + " couldn't be cast to String"))
206+ }
207+ if ((am == am))
165208 then {
166- let z = {
167- let C = invoke(f, "makeJSON", [["supportedInterface", "assetdId", "tokenURI", "owner", "timeUnitSeconds", "timeUnitPrice", "timeUnitCount", "startTimestamp", "endTimestamp", "deposit", "claimed"], ["0", l, W, toString(H.caller), toString(B), toString(G), toString(ab), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (B * ab))), "0", "0"]], nil)
168- if ($isInstanceOf(C, "String"))
169- then C
170- else throw(($getType(C) + " couldn't be cast to String"))
209+ let u = {
210+ let x = invoke(f, "makeJSON", [["supportedInterface", "assetdId", "tokenURI", "owner", "timeUnitSeconds", "timeUnitPrice", "timeUnitCount", "startTimestamp", "endTimestamp", "deposit", "claimed"], ["0", m, am, toString(U.caller), toString(w), toString(B), toString(ap), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (w * ap))), "0", "0"]], nil)
211+ if ($isInstanceOf(x, "String"))
212+ then x
213+ else throw(($getType(x) + " couldn't be cast to String"))
171214 }
172- if ((z == z))
215+ if ((u == u))
173216 then {
174- let x = toString(i)
175-[IntegerEntry("lendCount", (i + 1)), IntegerEntry("lendCurrentCount", (j + 1)), IntegerEntry(("lend-rentCount-" + x), 0), StringEntry(("lend-" + x), z), BooleanEntry(l, true)]
217+ let s = toString(i)
218+[IntegerEntry("lendCount", (i + 1)), IntegerEntry("lendCurrentCount", (j + 1)), IntegerEntry(("lend-rentCount-" + s), 0), StringEntry(("lend-" + s), u), BooleanEntry(m, true)]
176219 }
177220 else throw("Strict value is not equal to itself.")
178221 }
181224
182225
183226
184-@Callable(H)
185-func initRent (w,ab) = valueOrElse(r(H.payments, E(w, ab)), {
186- let x = toString(w)
187- let z = getStringValue(("lend-" + x))
188- let ac = D(w)
189- let ad = toString(ac)
190- let B = {
191- let C = invoke(f, "readByJSONKey", [z, "timeUnitSeconds"], nil)
192- if ($isInstanceOf(C, "String"))
193- then C
194- else throw(($getType(C) + " couldn't be cast to String"))
227+@Callable(U)
228+func initRent (r,ap) = valueOrElse(Q(U.payments, z(r, ap)), {
229+ let s = toString(r)
230+ let u = getStringValue(("lend-" + s))
231+ let aq = y(r)
232+ let ar = toString(aq)
233+ let w = {
234+ let x = invoke(f, "readByJSONKey", [u, "timeUnitSeconds"], nil)
235+ if ($isInstanceOf(x, "String"))
236+ then x
237+ else throw(($getType(x) + " couldn't be cast to String"))
195238 }
196- if ((B == B))
239+ if ((w == w))
197240 then {
198- let ae = parseIntValue(B)
199- if ((ae == ae))
241+ let as = parseIntValue(w)
242+ if ((as == as))
200243 then {
201- let af = {
202- let C = invoke(f, "makeJSON", [["customer", "timeUnitCount", "startTimestamp", "endTimestamp", "closed"], [toString(H.caller), toString(ab), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (ae * ab))), "0"]], nil)
203- if ($isInstanceOf(C, "String"))
204- then C
205- else throw(($getType(C) + " couldn't be cast to String"))
244+ let at = {
245+ let x = invoke(f, "makeJSON", [["customer", "timeUnitCount", "startTimestamp", "endTimestamp", "closed"], [toString(U.caller), toString(ap), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (as * ap))), "0"]], nil)
246+ if ($isInstanceOf(x, "String"))
247+ then x
248+ else throw(($getType(x) + " couldn't be cast to String"))
206249 }
207- if ((af == af))
208- then [IntegerEntry(("lend-rentCount-" + x), (ac + 1)), StringEntry(((("lend-rent-" + x) + "-") + ad), af)]
250+ if ((at == at))
251+ then [IntegerEntry(("lend-rentCount-" + s), (aq + 1)), StringEntry(((("lend-rent-" + s) + "-") + ar), at), IntegerEntry(("lend-cost-" + s), (z(r, ap) + C(r)))]
209252 else throw("Strict value is not equal to itself.")
210253 }
211254 else throw("Strict value is not equal to itself.")
215258
216259
217260
218-@Callable(H)
219-func test (l) = [BooleanEntry("Debug", getBooleanValue(l))]
261+@Callable(U)
262+func closeLend (r) = valueOrElse(T(U.caller, r), {
263+ let s = toString(r)
264+ let au = ( let av = k
265+ let aw = size(av)
266+ let ax = $Tuple4(nil, 0, 0, s)
267+ func ay (az,aA) = if ((aA >= aw))
268+ then az
269+ else F(az, av[aA])
270+
271+ func aB (az,aA) = if ((aA >= aw))
272+ then az
273+ else throw("List size exceeds 100")
274+
275+ aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100))._1
276+ let aC = [DeleteEntry(("lend-" + s)), DeleteEntry(("lend-rentCount-" + s)), DeleteEntry(("lend-cost-" + s)), IntegerEntry("lendCurrentCount", (j - 1)), ScriptTransfer(U.caller, C(r), g)]
277+ let aD = {
278+ let av = aC
279+ let aw = size(av)
280+ let ax = au
281+ func aE (az,aA) = if ((aA >= aw))
282+ then az
283+ else M(az, av[aA])
284+
285+ func aF (az,aA) = if ((aA >= aw))
286+ then az
287+ else throw("List size exceeds 100")
288+
289+ aF(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
290+ }
291+ aD
292+ })
293+
294+
295+
296+@Callable(U)
297+func test (r) = {
298+ let aG = {
299+ let av = ["1", "2", "3"]
300+ let aw = size(av)
301+ let ax = ["1", "2", "3"]
302+ func ay (az,aA) = if ((aA >= aw))
303+ then az
304+ else N(az, av[aA])
305+
306+ func aB (az,aA) = if ((aA >= aw))
307+ then az
308+ else throw("List size exceeds 100")
309+
310+ aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
311+ }
312+[StringEntry("Debug", {
313+ let av = aG
314+ let aw = size(av)
315+ let ax = ""
316+ func aE (az,aA) = if ((aA >= aw))
317+ then az
318+ else O(az, av[aA])
319+
320+ func aF (az,aA) = if ((aA >= aw))
321+ then az
322+ else throw("List size exceeds 100")
323+
324+ aF(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
325+ })]
326+ }
220327
221328
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = getStringValue("collectionName")
55
66 let b = getStringValue("symbol")
77
88 let c = getStringValue("description")
99
1010 let d = getIntegerValue("totalAmount")
1111
1212 let e = getStringValue("baseURI")
1313
1414 let f = Address(fromBase58String("3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7"))
1515
1616 let g = getBinaryValue("tokenPayment")
1717
1818 let h = valueOrErrorMessage(assetInfo(getBinaryValue("tokenPayment")), "token payment asset doesn't connect")
1919
2020 let i = getIntegerValue("lendCount")
2121
2222 let j = getIntegerValue("lendCurrentCount")
2323
24-func k (l) = valueOrErrorMessage(assetInfo(fromBase58String(l)), "Can't find asset by asset id")
24+let k = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
25+
26+func l (m) = valueOrErrorMessage(assetInfo(fromBase58String(m)), "Can't find asset by asset id")
2527
2628
27-func m (n) = if ((n == this))
28- then unit
29- else throw("Only internal call")
29+func n (o,p,m) = if ((o == this))
30+ then StringEntry("smth", "smth")
31+ else ScriptTransfer(o, p, m)
3032
3133
32-func o (p,l) = if ((p == this))
33- then StringEntry("smth", "smth")
34- else ScriptTransfer(p, 1, l)
35-
36-
37-func q (n,l) = if ((assetBalance(n, fromBase58String(l)) == 1))
38- then unit
39- else throw("Only asset owner")
40-
41-
42-func r (s,t) = if ((s[0].amount >= t))
43- then unit
44- else throw("amount less then need")
45-
46-
47-func u (l) = if (getBooleanValue(l))
48- then throw("this token already use")
49- else unit
50-
51-
52-func v (w) = {
53- let x = toString(w)
54- getStringValue(("lend-" + x))
34+func q (r) = {
35+ let s = toString(r)
36+ getStringValue(("lend-" + s))
5537 }
5638
5739
58-func y (z,A) = {
59- let B = {
60- let C = invoke(f, "readByJSONKey", [z, A], nil)
61- if ($isInstanceOf(C, "String"))
62- then C
63- else throw(($getType(C) + " couldn't be cast to String"))
40+func t (u,v) = {
41+ let w = {
42+ let x = invoke(f, "readByJSONKey", [u, v], nil)
43+ if ($isInstanceOf(x, "String"))
44+ then x
45+ else throw(($getType(x) + " couldn't be cast to String"))
6446 }
65- if ((B == B))
66- then B
47+ if ((w == w))
48+ then w
6749 else throw("Strict value is not equal to itself.")
6850 }
6951
7052
71-func D (w) = {
72- let x = toString(w)
73- getIntegerValue(("lend-rentCount-" + x))
53+func y (r) = {
54+ let s = toString(r)
55+ getIntegerValue(("lend-rentCount-" + s))
7456 }
7557
7658
77-func E (w,B) = {
78- let z = v(w)
79- let F = y(z, "timeUnitPrice")
80- if ((F == F))
59+func z (r,w) = {
60+ let u = q(r)
61+ let A = t(u, "timeUnitPrice")
62+ if ((A == A))
8163 then {
82- let G = parseIntValue(F)
83- (B * G)
64+ let B = parseIntValue(A)
65+ (w * B)
8466 }
8567 else throw("Strict value is not equal to itself.")
8668 }
8769
8870
89-@Callable(H)
90-func setString (I,J) = valueOrElse(m(H.caller), [StringEntry(I, J)])
71+func C (r) = valueOrElse(getInteger(("lend-cost-" + toString(r))), 0)
72+
73+
74+func D (E) = if ((E == this))
75+ then unit
76+ else throw("Only internal call")
77+
78+
79+func F (G,H) = {
80+ let I = G
81+ let J = I._1
82+ let K = I._2
83+ let L = I._3
84+ let r = I._4
85+ if ((L > K))
86+ then $Tuple3((J :+ DeleteEntry(((("lend-rent-" + r) + "-") + toString(K)))), (K + 1), L)
87+ else G
88+ }
89+
90+
91+func M (G,H) = (G :+ H)
92+
93+
94+func N (G,H) = (G :+ H)
95+
96+
97+func O (G,H) = ((G + "-") + H)
98+
99+
100+func P (E,m) = if ((assetBalance(E, fromBase58String(m)) == 1))
101+ then unit
102+ else throw("Only asset owner")
103+
104+
105+func Q (R,p) = if ((R[0].amount >= p))
106+ then unit
107+ else throw("amount less then need")
108+
109+
110+func S (m) = if (valueOrElse(getBoolean(m), false))
111+ then throw("this token already use")
112+ else unit
113+
114+
115+func T (E,r) = if ((t(q(r), "owner") != toString(E)))
116+ then throw("you haven't perms")
117+ else unit
118+
119+
120+@Callable(U)
121+func setString (V,W) = valueOrElse(D(U.caller), [StringEntry(V, W)])
91122
92123
93124
94-@Callable(H)
95-func setInt (I,J) = valueOrElse(m(H.caller), [IntegerEntry(I, J)])
125+@Callable(U)
126+func setInt (V,W) = valueOrElse(D(U.caller), [IntegerEntry(V, W)])
96127
97128
98129
99-@Callable(H)
100-func deleteEntry (I) = valueOrElse(m(H.caller), [DeleteEntry(I)])
130+@Callable(U)
131+func deleteEntry (V) = valueOrElse(D(U.caller), [DeleteEntry(V)])
101132
102133
103134
104-@Callable(H)
105-func init (K,L,M,N) = valueOrElse(m(H.caller), [StringEntry("collectionName", K), StringEntry("symbol", L), StringEntry("description", M), IntegerEntry("totalAmount", 0), StringEntry("baseURI", N)])
135+@Callable(U)
136+func init (X,Y,Z,aa) = valueOrElse(D(U.caller), [StringEntry("collectionName", X), StringEntry("symbol", Y), StringEntry("description", Z), IntegerEntry("totalAmount", 0), StringEntry("baseURI", aa)])
106137
107138
108139
109-@Callable(H)
110-func setUser (l,O,P) = {
111- let Q = invoke(f, "makeJSON", [["user", "expires"], [O, P]], nil)
112- if ((Q == Q))
113- then $Tuple2([StringEntry(("userOf-" + l), {
114- let C = Q
115- if ($isInstanceOf(C, "String"))
116- then C
117- else throw(($getType(C) + " couldn't be cast to String"))
118- })], Q)
140+@Callable(U)
141+func setUser (m,ab,ac) = {
142+ let ad = invoke(f, "makeJSON", [["user", "expires"], [ab, ac]], nil)
143+ if ((ad == ad))
144+ then $Tuple2([StringEntry(("userOf-" + m), {
145+ let x = ad
146+ if ($isInstanceOf(x, "String"))
147+ then x
148+ else throw(($getType(x) + " couldn't be cast to String"))
149+ })], ad)
119150 else throw("Strict value is not equal to itself.")
120151 }
121152
122153
123154
124-@Callable(H)
125-func setTokenPayment (R) = valueOrElse(m(H.caller), [BinaryEntry("tokenPayment", R)])
155+@Callable(U)
156+func setTokenPayment (ae) = valueOrElse(D(U.caller), [BinaryEntry("tokenPayment", ae)])
126157
127158
128159
129-@Callable(H)
130-func mint (p) = {
131- let S = (d + 1)
132- let T = toString(S)
133- let U = ((b + "#") + T)
134- let V = if ((16 >= size(U)))
135- then U
136- else T
137- let W = (e + T)
138- let X = {
139- let C = invoke(f, "makeJSON", [["tokenURI"], [W]], nil)
140- if ($isInstanceOf(C, "String"))
141- then C
142- else throw(($getType(C) + " couldn't be cast to String"))
143- }
144- let Y = Issue(V, X, 1, 0, false, unit, height)
145- let l = calculateAssetId(Y)
146- let Z = Address(fromBase58String(p))
147- let aa = o(Z, l)
148- if ((aa == aa))
149- then [Y, aa, IntegerEntry("totalAmount", S), StringEntry(V, W)]
160+@Callable(U)
161+func mintTokens (o,p) = {
162+ let af = Reissue(g, p, true)
163+ let ag = Address(fromBase58String(o))
164+ let ah = n(ag, p, g)
165+ if ((ah == ah))
166+ then [ah, af]
150167 else throw("Strict value is not equal to itself.")
151168 }
152169
153170
154171
155-@Callable(H)
156-func initLend (l,B,G,ab) = valueOrElse(q(H.caller, l), valueOrElse(u(l), {
157- let Y = k(l)
158- let W = {
159- let C = invoke(f, "readByJSONKey", [Y.description, "tokenURI"], nil)
160- if ($isInstanceOf(C, "String"))
161- then C
162- else throw(($getType(C) + " couldn't be cast to String"))
172+@Callable(U)
173+func mintNFT (o) = {
174+ let ai = (d + 1)
175+ let aj = toString(ai)
176+ let ak = ((b + "#") + aj)
177+ let al = if ((16 >= size(ak)))
178+ then ak
179+ else aj
180+ let am = (e + aj)
181+ let an = {
182+ let x = invoke(f, "makeJSON", [["tokenURI"], [am]], nil)
183+ if ($isInstanceOf(x, "String"))
184+ then x
185+ else throw(($getType(x) + " couldn't be cast to String"))
163186 }
164- if ((W == W))
187+ let ao = Issue(al, an, 1, 0, false, unit, height)
188+ let m = calculateAssetId(ao)
189+ let ag = Address(fromBase58String(o))
190+ let ah = n(ag, 1, m)
191+ if ((ah == ah))
192+ then [ao, ah, IntegerEntry("totalAmount", ai), StringEntry(al, am)]
193+ else throw("Strict value is not equal to itself.")
194+ }
195+
196+
197+
198+@Callable(U)
199+func initLend (m,w,B,ap) = valueOrElse(P(U.caller, m), valueOrElse(S(m), {
200+ let ao = l(m)
201+ let am = {
202+ let x = invoke(f, "readByJSONKey", [ao.description, "tokenURI"], nil)
203+ if ($isInstanceOf(x, "String"))
204+ then x
205+ else throw(($getType(x) + " couldn't be cast to String"))
206+ }
207+ if ((am == am))
165208 then {
166- let z = {
167- let C = invoke(f, "makeJSON", [["supportedInterface", "assetdId", "tokenURI", "owner", "timeUnitSeconds", "timeUnitPrice", "timeUnitCount", "startTimestamp", "endTimestamp", "deposit", "claimed"], ["0", l, W, toString(H.caller), toString(B), toString(G), toString(ab), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (B * ab))), "0", "0"]], nil)
168- if ($isInstanceOf(C, "String"))
169- then C
170- else throw(($getType(C) + " couldn't be cast to String"))
209+ let u = {
210+ let x = invoke(f, "makeJSON", [["supportedInterface", "assetdId", "tokenURI", "owner", "timeUnitSeconds", "timeUnitPrice", "timeUnitCount", "startTimestamp", "endTimestamp", "deposit", "claimed"], ["0", m, am, toString(U.caller), toString(w), toString(B), toString(ap), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (w * ap))), "0", "0"]], nil)
211+ if ($isInstanceOf(x, "String"))
212+ then x
213+ else throw(($getType(x) + " couldn't be cast to String"))
171214 }
172- if ((z == z))
215+ if ((u == u))
173216 then {
174- let x = toString(i)
175-[IntegerEntry("lendCount", (i + 1)), IntegerEntry("lendCurrentCount", (j + 1)), IntegerEntry(("lend-rentCount-" + x), 0), StringEntry(("lend-" + x), z), BooleanEntry(l, true)]
217+ let s = toString(i)
218+[IntegerEntry("lendCount", (i + 1)), IntegerEntry("lendCurrentCount", (j + 1)), IntegerEntry(("lend-rentCount-" + s), 0), StringEntry(("lend-" + s), u), BooleanEntry(m, true)]
176219 }
177220 else throw("Strict value is not equal to itself.")
178221 }
179222 else throw("Strict value is not equal to itself.")
180223 }))
181224
182225
183226
184-@Callable(H)
185-func initRent (w,ab) = valueOrElse(r(H.payments, E(w, ab)), {
186- let x = toString(w)
187- let z = getStringValue(("lend-" + x))
188- let ac = D(w)
189- let ad = toString(ac)
190- let B = {
191- let C = invoke(f, "readByJSONKey", [z, "timeUnitSeconds"], nil)
192- if ($isInstanceOf(C, "String"))
193- then C
194- else throw(($getType(C) + " couldn't be cast to String"))
227+@Callable(U)
228+func initRent (r,ap) = valueOrElse(Q(U.payments, z(r, ap)), {
229+ let s = toString(r)
230+ let u = getStringValue(("lend-" + s))
231+ let aq = y(r)
232+ let ar = toString(aq)
233+ let w = {
234+ let x = invoke(f, "readByJSONKey", [u, "timeUnitSeconds"], nil)
235+ if ($isInstanceOf(x, "String"))
236+ then x
237+ else throw(($getType(x) + " couldn't be cast to String"))
195238 }
196- if ((B == B))
239+ if ((w == w))
197240 then {
198- let ae = parseIntValue(B)
199- if ((ae == ae))
241+ let as = parseIntValue(w)
242+ if ((as == as))
200243 then {
201- let af = {
202- let C = invoke(f, "makeJSON", [["customer", "timeUnitCount", "startTimestamp", "endTimestamp", "closed"], [toString(H.caller), toString(ab), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (ae * ab))), "0"]], nil)
203- if ($isInstanceOf(C, "String"))
204- then C
205- else throw(($getType(C) + " couldn't be cast to String"))
244+ let at = {
245+ let x = invoke(f, "makeJSON", [["customer", "timeUnitCount", "startTimestamp", "endTimestamp", "closed"], [toString(U.caller), toString(ap), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (as * ap))), "0"]], nil)
246+ if ($isInstanceOf(x, "String"))
247+ then x
248+ else throw(($getType(x) + " couldn't be cast to String"))
206249 }
207- if ((af == af))
208- then [IntegerEntry(("lend-rentCount-" + x), (ac + 1)), StringEntry(((("lend-rent-" + x) + "-") + ad), af)]
250+ if ((at == at))
251+ then [IntegerEntry(("lend-rentCount-" + s), (aq + 1)), StringEntry(((("lend-rent-" + s) + "-") + ar), at), IntegerEntry(("lend-cost-" + s), (z(r, ap) + C(r)))]
209252 else throw("Strict value is not equal to itself.")
210253 }
211254 else throw("Strict value is not equal to itself.")
212255 }
213256 else throw("Strict value is not equal to itself.")
214257 })
215258
216259
217260
218-@Callable(H)
219-func test (l) = [BooleanEntry("Debug", getBooleanValue(l))]
261+@Callable(U)
262+func closeLend (r) = valueOrElse(T(U.caller, r), {
263+ let s = toString(r)
264+ let au = ( let av = k
265+ let aw = size(av)
266+ let ax = $Tuple4(nil, 0, 0, s)
267+ func ay (az,aA) = if ((aA >= aw))
268+ then az
269+ else F(az, av[aA])
270+
271+ func aB (az,aA) = if ((aA >= aw))
272+ then az
273+ else throw("List size exceeds 100")
274+
275+ aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100))._1
276+ let aC = [DeleteEntry(("lend-" + s)), DeleteEntry(("lend-rentCount-" + s)), DeleteEntry(("lend-cost-" + s)), IntegerEntry("lendCurrentCount", (j - 1)), ScriptTransfer(U.caller, C(r), g)]
277+ let aD = {
278+ let av = aC
279+ let aw = size(av)
280+ let ax = au
281+ func aE (az,aA) = if ((aA >= aw))
282+ then az
283+ else M(az, av[aA])
284+
285+ func aF (az,aA) = if ((aA >= aw))
286+ then az
287+ else throw("List size exceeds 100")
288+
289+ aF(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
290+ }
291+ aD
292+ })
293+
294+
295+
296+@Callable(U)
297+func test (r) = {
298+ let aG = {
299+ let av = ["1", "2", "3"]
300+ let aw = size(av)
301+ let ax = ["1", "2", "3"]
302+ func ay (az,aA) = if ((aA >= aw))
303+ then az
304+ else N(az, av[aA])
305+
306+ func aB (az,aA) = if ((aA >= aw))
307+ then az
308+ else throw("List size exceeds 100")
309+
310+ aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
311+ }
312+[StringEntry("Debug", {
313+ let av = aG
314+ let aw = size(av)
315+ let ax = ""
316+ func aE (az,aA) = if ((aA >= aw))
317+ then az
318+ else O(az, av[aA])
319+
320+ func aF (az,aA) = if ((aA >= aw))
321+ then az
322+ else throw("List size exceeds 100")
323+
324+ aF(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(aE(ax, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
325+ })]
326+ }
220327
221328

github/deemru/w8io/169f3d6 
81.01 ms