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/AcEBQhkQXBwSnNvbgINcmVhZEJ5SlNPTktleQkAzAgCBQhsZW5kSnNvbgkAzAgCAg90aW1lVW5pdFNlY29uZHMFA25pbAUDbmlsAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwMJAAACBQ90aW1lVW5pdFNlY29uZHMFD3RpbWVVbml0U2Vjb25kcwQSdGltZVVuaXRTZWNvbmRzSW50CQENcGFyc2VJbnRWYWx1ZQEFD3RpbWVVbml0U2Vjb25kcwMJAAACBRJ0aW1lVW5pdFNlY29uZHNJbnQFEnRpbWVVbml0U2Vjb25kc0ludAQIcmVudEpzb24KAAFACQD8BwQFCGRBcHBKc29uAghtYWtlSlNPTgkAzAgCCQDMCAICCGN1c3RvbWVyCQDMCAICDXRpbWVVbml0Q291bnQJAMwIAgIOc3RhcnRUaW1lc3RhbXAJAMwIAgIMZW5kVGltZXN0YW1wCQDMCAICBmNsb3NlZAUDbmlsCQDMCAIJAMwIAgkApQgBCAUBaQZjYWxsZXIJAMwIAgkApAMBBQ10aW1lVW5pdENvdW50CQDMCAIJAKQDAQgFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkApAMBCQBkAggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAGgCBRJ0aW1lVW5pdFNlY29uZHNJbnQFDXRpbWVVbml0Q291bnQJAMwIAgIBMAUDbmlsBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcDCQAAAgUIcmVudEpzb24FCHJlbnRKc29uCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICD2xlbmQtcmVudENvdW50LQUMbGVuZElkU3RyaW5nCQBkAgUGcmVudElkAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgIKbGVuZC1yZW50LQUMbGVuZElkU3RyaW5nAgEtBQxyZW50SWRTdHJpbmcFCHJlbnRKc29uCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICCmxlbmQtY29zdC0FDGxlbmRJZFN0cmluZwkAZAIJAQxjYWxjTGVuZENvc3QCBQZsZW5kSWQFDXRpbWVVbml0Q291bnQJAQtnZXRMZW5kQ29zdAEFBmxlbmRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCWNsb3NlTGVuZAEGbGVuZElkCQELdmFsdWVPckVsc2UCCQEOY2hlY2tMZW5kT3duZXICCAUBaQZjYWxsZXIFBmxlbmRJZAQMbGVuZElkU3RyaW5nCQCkAwEFBmxlbmRJZAQPZGVsZXRlRW50cnlMaXN0CAoAAiRsBQtodW5kcmVkTGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJYKBAUDbmlsAAAAAAUMbGVuZElkU3RyaW5nCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARVyZWR1Y2VyR2V0RGVsZXRlRW50cnkCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAl8xBAl0eExpc3RSYXcJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAgVsZW5kLQUMbGVuZElkU3RyaW5nCQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgIPbGVuZC1yZW50Q291bnQtBQxsZW5kSWRTdHJpbmcJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICAgpsZW5kLWNvc3QtBQxsZW5kSWRTdHJpbmcJAMwIAgkBDEludGVnZXJFbnRyeQICEGxlbmRDdXJyZW50Q291bnQJAGUCBRBsZW5kQ3VycmVudENvdW50AAEJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyCQELZ2V0TGVuZENvc3QBBQZsZW5kSWQFDHRva2VuUGF5bWVudAUDbmlsBAZ0eExpc3QKAAIkbAUJdHhMaXN0UmF3CgACJHMJAJADAQUCJGwKAAUkYWNjMAUPZGVsZXRlRW50cnlMaXN0CgEFJGYxXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARJyZWR1Y2VyQ29uY2F0TGlzdHMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjFfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkBQZ0eExpc3QBaQEEdGVzdAEGbGVuZElkBARsaXN0CgACJGwJAMwIAgIBMQkAzAgCAgEyCQDMCAICATMFA25pbAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAMwIAgIBMQkAzAgCAgEyCQDMCAICATMFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEYcmVkdWNlckNvbmNhdExpc3RzU3RyaW5nAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZAkAzAgCCQELU3RyaW5nRW50cnkCAgVEZWJ1ZwoAAiRsBQRsaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAIACgEFJGYxXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARNyZWR1Y2VyTGlzdFRvU3RyaW5nAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYxXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQUkZjFfMgIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZAUDbmlsANmYfq0=", "height": 2501527, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CVM5SsZEn8YE23ggwDxfspCjn3nSZyrCjEr4iYNFmkqr Next: HRSxMw8vt2cDtMxzGmUMXbWZ1dpCniR4Gj1ex8bqXVpG Diff:
OldNewDifferences
2121
2222 let lendCurrentCount = getIntegerValue("lendCurrentCount")
2323
24+let hundredList = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
25+
2426 func parseIdtoAsset (assetId) = valueOrErrorMessage(assetInfo(fromBase58String(assetId)), "Can't find asset by asset id")
2527
2628
27-func onlyInternal (caller) = if ((caller == this))
28- then unit
29- else throw("Only internal call")
30-
31-
32-func transferOrNot (to,assetId) = if ((to == this))
29+func transferOrNot (to,amount,assetId) = if ((to == this))
3330 then StringEntry("smth", "smth")
34- else ScriptTransfer(to, 1, assetId)
35-
36-
37-func checkAssetOwner (caller,assetId) = if ((assetBalance(caller, fromBase58String(assetId)) == 1))
38- then unit
39- else throw("Only asset owner")
40-
41-
42-func checkPayment (payments,amount) = if ((payments[0].amount >= amount))
43- then unit
44- else throw("amount less then need")
45-
46-
47-func checkAssetExists (assetId) = if (getBooleanValue(assetId))
48- then throw("this token already use")
49- else unit
31+ else ScriptTransfer(to, amount, assetId)
5032
5133
5234 func getLendJson (lendId) = {
8466 }
8567 else throw("Strict value is not equal to itself.")
8668 }
69+
70+
71+func getLendCost (lendId) = valueOrElse(getInteger(("lend-cost-" + toString(lendId))), 0)
72+
73+
74+func onlyInternal (caller) = if ((caller == this))
75+ then unit
76+ else throw("Only internal call")
77+
78+
79+func reducerGetDeleteEntry (accum,next) = {
80+ let $t025422592 = accum
81+ let deletions = $t025422592._1
82+ let current = $t025422592._2
83+ let maxCount = $t025422592._3
84+ let lendId = $t025422592._4
85+ if ((maxCount > current))
86+ then $Tuple3((deletions :+ DeleteEntry(((("lend-rent-" + lendId) + "-") + toString(current)))), (current + 1), maxCount)
87+ else accum
88+ }
89+
90+
91+func reducerConcatLists (accum,next) = (accum :+ next)
92+
93+
94+func reducerConcatListsString (accum,next) = (accum :+ next)
95+
96+
97+func reducerListToString (accum,next) = ((accum + "-") + next)
98+
99+
100+func checkAssetOwner (caller,assetId) = if ((assetBalance(caller, fromBase58String(assetId)) == 1))
101+ then unit
102+ else throw("Only asset owner")
103+
104+
105+func checkPayment (payments,amount) = if ((payments[0].amount >= amount))
106+ then unit
107+ else throw("amount less then need")
108+
109+
110+func checkAssetExists (assetId) = if (valueOrElse(getBoolean(assetId), false))
111+ then throw("this token already use")
112+ else unit
113+
114+
115+func checkLendOwner (caller,lendId) = if ((getKey(getLendJson(lendId), "owner") != toString(caller)))
116+ then throw("you haven't perms")
117+ else unit
87118
88119
89120 @Callable(i)
127158
128159
129160 @Callable(i)
130-func mint (to) = {
161+func mintTokens (to,amount) = {
162+ let reisue = Reissue(tokenPayment, amount, true)
163+ let toAddress = Address(fromBase58String(to))
164+ let transfer = transferOrNot(toAddress, amount, tokenPayment)
165+ if ((transfer == transfer))
166+ then [transfer, reisue]
167+ else throw("Strict value is not equal to itself.")
168+ }
169+
170+
171+
172+@Callable(i)
173+func mintNFT (to) = {
131174 let tokenId = (totalAmount + 1)
132175 let tokenIdString = toString(tokenId)
133176 let preName = ((symbol + "#") + tokenIdString)
144187 let asset = Issue(name, json, 1, 0, false, unit, height)
145188 let assetId = calculateAssetId(asset)
146189 let toAddress = Address(fromBase58String(to))
147- let transfer = transferOrNot(toAddress, assetId)
190+ let transfer = transferOrNot(toAddress, 1, assetId)
148191 if ((transfer == transfer))
149192 then [asset, transfer, IntegerEntry("totalAmount", tokenId), StringEntry(name, tokenURI)]
150193 else throw("Strict value is not equal to itself.")
205248 else throw(($getType(@) + " couldn't be cast to String"))
206249 }
207250 if ((rentJson == rentJson))
208- then [IntegerEntry(("lend-rentCount-" + lendIdString), (rentId + 1)), StringEntry(((("lend-rent-" + lendIdString) + "-") + rentIdString), rentJson)]
251+ then [IntegerEntry(("lend-rentCount-" + lendIdString), (rentId + 1)), StringEntry(((("lend-rent-" + lendIdString) + "-") + rentIdString), rentJson), IntegerEntry(("lend-cost-" + lendIdString), (calcLendCost(lendId, timeUnitCount) + getLendCost(lendId)))]
209252 else throw("Strict value is not equal to itself.")
210253 }
211254 else throw("Strict value is not equal to itself.")
216259
217260
218261 @Callable(i)
219-func test (assetId) = [BooleanEntry("Debug", getBooleanValue(assetId))]
262+func closeLend (lendId) = valueOrElse(checkLendOwner(i.caller, lendId), {
263+ let lendIdString = toString(lendId)
264+ let deleteEntryList = ( let $l = hundredList
265+ let $s = size($l)
266+ let $acc0 = $Tuple4(nil, 0, 0, lendIdString)
267+ func $f0_1 ($a,$i) = if (($i >= $s))
268+ then $a
269+ else reducerGetDeleteEntry($a, $l[$i])
270+
271+ func $f0_2 ($a,$i) = if (($i >= $s))
272+ then $a
273+ else throw("List size exceeds 100")
274+
275+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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 txListRaw = [DeleteEntry(("lend-" + lendIdString)), DeleteEntry(("lend-rentCount-" + lendIdString)), DeleteEntry(("lend-cost-" + lendIdString)), IntegerEntry("lendCurrentCount", (lendCurrentCount - 1)), ScriptTransfer(i.caller, getLendCost(lendId), tokenPayment)]
277+ let txList = {
278+ let $l = txListRaw
279+ let $s = size($l)
280+ let $acc0 = deleteEntryList
281+ func $f1_1 ($a,$i) = if (($i >= $s))
282+ then $a
283+ else reducerConcatLists($a, $l[$i])
284+
285+ func $f1_2 ($a,$i) = if (($i >= $s))
286+ then $a
287+ else throw("List size exceeds 100")
288+
289+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 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+ txList
292+ })
293+
294+
295+
296+@Callable(i)
297+func test (lendId) = {
298+ let list = {
299+ let $l = ["1", "2", "3"]
300+ let $s = size($l)
301+ let $acc0 = ["1", "2", "3"]
302+ func $f0_1 ($a,$i) = if (($i >= $s))
303+ then $a
304+ else reducerConcatListsString($a, $l[$i])
305+
306+ func $f0_2 ($a,$i) = if (($i >= $s))
307+ then $a
308+ else throw("List size exceeds 100")
309+
310+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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 $l = list
314+ let $s = size($l)
315+ let $acc0 = ""
316+ func $f1_1 ($a,$i) = if (($i >= $s))
317+ then $a
318+ else reducerListToString($a, $l[$i])
319+
320+ func $f1_2 ($a,$i) = if (($i >= $s))
321+ then $a
322+ else throw("List size exceeds 100")
323+
324+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 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 collectionName = getStringValue("collectionName")
55
66 let symbol = getStringValue("symbol")
77
88 let description = getStringValue("description")
99
1010 let totalAmount = getIntegerValue("totalAmount")
1111
1212 let baseURI = getStringValue("baseURI")
1313
1414 let dAppJson = Address(fromBase58String("3MrGaZVRhknEGfHJ19ttUPNnDRoFqcHhVN7"))
1515
1616 let tokenPayment = getBinaryValue("tokenPayment")
1717
1818 let tokenPaymentAsset = valueOrErrorMessage(assetInfo(getBinaryValue("tokenPayment")), "token payment asset doesn't connect")
1919
2020 let lendCount = getIntegerValue("lendCount")
2121
2222 let lendCurrentCount = getIntegerValue("lendCurrentCount")
2323
24+let hundredList = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]
25+
2426 func parseIdtoAsset (assetId) = valueOrErrorMessage(assetInfo(fromBase58String(assetId)), "Can't find asset by asset id")
2527
2628
27-func onlyInternal (caller) = if ((caller == this))
28- then unit
29- else throw("Only internal call")
30-
31-
32-func transferOrNot (to,assetId) = if ((to == this))
29+func transferOrNot (to,amount,assetId) = if ((to == this))
3330 then StringEntry("smth", "smth")
34- else ScriptTransfer(to, 1, assetId)
35-
36-
37-func checkAssetOwner (caller,assetId) = if ((assetBalance(caller, fromBase58String(assetId)) == 1))
38- then unit
39- else throw("Only asset owner")
40-
41-
42-func checkPayment (payments,amount) = if ((payments[0].amount >= amount))
43- then unit
44- else throw("amount less then need")
45-
46-
47-func checkAssetExists (assetId) = if (getBooleanValue(assetId))
48- then throw("this token already use")
49- else unit
31+ else ScriptTransfer(to, amount, assetId)
5032
5133
5234 func getLendJson (lendId) = {
5335 let lendIdString = toString(lendId)
5436 getStringValue(("lend-" + lendIdString))
5537 }
5638
5739
5840 func getKey (lendJson,key) = {
5941 let timeUnitSeconds = {
6042 let @ = invoke(dAppJson, "readByJSONKey", [lendJson, key], nil)
6143 if ($isInstanceOf(@, "String"))
6244 then @
6345 else throw(($getType(@) + " couldn't be cast to String"))
6446 }
6547 if ((timeUnitSeconds == timeUnitSeconds))
6648 then timeUnitSeconds
6749 else throw("Strict value is not equal to itself.")
6850 }
6951
7052
7153 func getRentCount (lendId) = {
7254 let lendIdString = toString(lendId)
7355 getIntegerValue(("lend-rentCount-" + lendIdString))
7456 }
7557
7658
7759 func calcLendCost (lendId,timeUnitSeconds) = {
7860 let lendJson = getLendJson(lendId)
7961 let timeUnitPriceString = getKey(lendJson, "timeUnitPrice")
8062 if ((timeUnitPriceString == timeUnitPriceString))
8163 then {
8264 let timeUnitPrice = parseIntValue(timeUnitPriceString)
8365 (timeUnitSeconds * timeUnitPrice)
8466 }
8567 else throw("Strict value is not equal to itself.")
8668 }
69+
70+
71+func getLendCost (lendId) = valueOrElse(getInteger(("lend-cost-" + toString(lendId))), 0)
72+
73+
74+func onlyInternal (caller) = if ((caller == this))
75+ then unit
76+ else throw("Only internal call")
77+
78+
79+func reducerGetDeleteEntry (accum,next) = {
80+ let $t025422592 = accum
81+ let deletions = $t025422592._1
82+ let current = $t025422592._2
83+ let maxCount = $t025422592._3
84+ let lendId = $t025422592._4
85+ if ((maxCount > current))
86+ then $Tuple3((deletions :+ DeleteEntry(((("lend-rent-" + lendId) + "-") + toString(current)))), (current + 1), maxCount)
87+ else accum
88+ }
89+
90+
91+func reducerConcatLists (accum,next) = (accum :+ next)
92+
93+
94+func reducerConcatListsString (accum,next) = (accum :+ next)
95+
96+
97+func reducerListToString (accum,next) = ((accum + "-") + next)
98+
99+
100+func checkAssetOwner (caller,assetId) = if ((assetBalance(caller, fromBase58String(assetId)) == 1))
101+ then unit
102+ else throw("Only asset owner")
103+
104+
105+func checkPayment (payments,amount) = if ((payments[0].amount >= amount))
106+ then unit
107+ else throw("amount less then need")
108+
109+
110+func checkAssetExists (assetId) = if (valueOrElse(getBoolean(assetId), false))
111+ then throw("this token already use")
112+ else unit
113+
114+
115+func checkLendOwner (caller,lendId) = if ((getKey(getLendJson(lendId), "owner") != toString(caller)))
116+ then throw("you haven't perms")
117+ else unit
87118
88119
89120 @Callable(i)
90121 func setString (_key,_value) = valueOrElse(onlyInternal(i.caller), [StringEntry(_key, _value)])
91122
92123
93124
94125 @Callable(i)
95126 func setInt (_key,_value) = valueOrElse(onlyInternal(i.caller), [IntegerEntry(_key, _value)])
96127
97128
98129
99130 @Callable(i)
100131 func deleteEntry (_key) = valueOrElse(onlyInternal(i.caller), [DeleteEntry(_key)])
101132
102133
103134
104135 @Callable(i)
105136 func init (_collectionName,_symbol,_description,_baseURI) = valueOrElse(onlyInternal(i.caller), [StringEntry("collectionName", _collectionName), StringEntry("symbol", _symbol), StringEntry("description", _description), IntegerEntry("totalAmount", 0), StringEntry("baseURI", _baseURI)])
106137
107138
108139
109140 @Callable(i)
110141 func setUser (assetId,user,expires) = {
111142 let res = invoke(dAppJson, "makeJSON", [["user", "expires"], [user, expires]], nil)
112143 if ((res == res))
113144 then $Tuple2([StringEntry(("userOf-" + assetId), {
114145 let @ = res
115146 if ($isInstanceOf(@, "String"))
116147 then @
117148 else throw(($getType(@) + " couldn't be cast to String"))
118149 })], res)
119150 else throw("Strict value is not equal to itself.")
120151 }
121152
122153
123154
124155 @Callable(i)
125156 func setTokenPayment (assetBinary) = valueOrElse(onlyInternal(i.caller), [BinaryEntry("tokenPayment", assetBinary)])
126157
127158
128159
129160 @Callable(i)
130-func mint (to) = {
161+func mintTokens (to,amount) = {
162+ let reisue = Reissue(tokenPayment, amount, true)
163+ let toAddress = Address(fromBase58String(to))
164+ let transfer = transferOrNot(toAddress, amount, tokenPayment)
165+ if ((transfer == transfer))
166+ then [transfer, reisue]
167+ else throw("Strict value is not equal to itself.")
168+ }
169+
170+
171+
172+@Callable(i)
173+func mintNFT (to) = {
131174 let tokenId = (totalAmount + 1)
132175 let tokenIdString = toString(tokenId)
133176 let preName = ((symbol + "#") + tokenIdString)
134177 let name = if ((16 >= size(preName)))
135178 then preName
136179 else tokenIdString
137180 let tokenURI = (baseURI + tokenIdString)
138181 let json = {
139182 let @ = invoke(dAppJson, "makeJSON", [["tokenURI"], [tokenURI]], nil)
140183 if ($isInstanceOf(@, "String"))
141184 then @
142185 else throw(($getType(@) + " couldn't be cast to String"))
143186 }
144187 let asset = Issue(name, json, 1, 0, false, unit, height)
145188 let assetId = calculateAssetId(asset)
146189 let toAddress = Address(fromBase58String(to))
147- let transfer = transferOrNot(toAddress, assetId)
190+ let transfer = transferOrNot(toAddress, 1, assetId)
148191 if ((transfer == transfer))
149192 then [asset, transfer, IntegerEntry("totalAmount", tokenId), StringEntry(name, tokenURI)]
150193 else throw("Strict value is not equal to itself.")
151194 }
152195
153196
154197
155198 @Callable(i)
156199 func initLend (assetId,timeUnitSeconds,timeUnitPrice,timeUnitCount) = valueOrElse(checkAssetOwner(i.caller, assetId), valueOrElse(checkAssetExists(assetId), {
157200 let asset = parseIdtoAsset(assetId)
158201 let tokenURI = {
159202 let @ = invoke(dAppJson, "readByJSONKey", [asset.description, "tokenURI"], nil)
160203 if ($isInstanceOf(@, "String"))
161204 then @
162205 else throw(($getType(@) + " couldn't be cast to String"))
163206 }
164207 if ((tokenURI == tokenURI))
165208 then {
166209 let lendJson = {
167210 let @ = invoke(dAppJson, "makeJSON", [["supportedInterface", "assetdId", "tokenURI", "owner", "timeUnitSeconds", "timeUnitPrice", "timeUnitCount", "startTimestamp", "endTimestamp", "deposit", "claimed"], ["0", assetId, tokenURI, toString(i.caller), toString(timeUnitSeconds), toString(timeUnitPrice), toString(timeUnitCount), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (timeUnitSeconds * timeUnitCount))), "0", "0"]], nil)
168211 if ($isInstanceOf(@, "String"))
169212 then @
170213 else throw(($getType(@) + " couldn't be cast to String"))
171214 }
172215 if ((lendJson == lendJson))
173216 then {
174217 let lendIdString = toString(lendCount)
175218 [IntegerEntry("lendCount", (lendCount + 1)), IntegerEntry("lendCurrentCount", (lendCurrentCount + 1)), IntegerEntry(("lend-rentCount-" + lendIdString), 0), StringEntry(("lend-" + lendIdString), lendJson), BooleanEntry(assetId, 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
184227 @Callable(i)
185228 func initRent (lendId,timeUnitCount) = valueOrElse(checkPayment(i.payments, calcLendCost(lendId, timeUnitCount)), {
186229 let lendIdString = toString(lendId)
187230 let lendJson = getStringValue(("lend-" + lendIdString))
188231 let rentId = getRentCount(lendId)
189232 let rentIdString = toString(rentId)
190233 let timeUnitSeconds = {
191234 let @ = invoke(dAppJson, "readByJSONKey", [lendJson, "timeUnitSeconds"], nil)
192235 if ($isInstanceOf(@, "String"))
193236 then @
194237 else throw(($getType(@) + " couldn't be cast to String"))
195238 }
196239 if ((timeUnitSeconds == timeUnitSeconds))
197240 then {
198241 let timeUnitSecondsInt = parseIntValue(timeUnitSeconds)
199242 if ((timeUnitSecondsInt == timeUnitSecondsInt))
200243 then {
201244 let rentJson = {
202245 let @ = invoke(dAppJson, "makeJSON", [["customer", "timeUnitCount", "startTimestamp", "endTimestamp", "closed"], [toString(i.caller), toString(timeUnitCount), toString(lastBlock.timestamp), toString((lastBlock.timestamp + (timeUnitSecondsInt * timeUnitCount))), "0"]], nil)
203246 if ($isInstanceOf(@, "String"))
204247 then @
205248 else throw(($getType(@) + " couldn't be cast to String"))
206249 }
207250 if ((rentJson == rentJson))
208- then [IntegerEntry(("lend-rentCount-" + lendIdString), (rentId + 1)), StringEntry(((("lend-rent-" + lendIdString) + "-") + rentIdString), rentJson)]
251+ then [IntegerEntry(("lend-rentCount-" + lendIdString), (rentId + 1)), StringEntry(((("lend-rent-" + lendIdString) + "-") + rentIdString), rentJson), IntegerEntry(("lend-cost-" + lendIdString), (calcLendCost(lendId, timeUnitCount) + getLendCost(lendId)))]
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
218261 @Callable(i)
219-func test (assetId) = [BooleanEntry("Debug", getBooleanValue(assetId))]
262+func closeLend (lendId) = valueOrElse(checkLendOwner(i.caller, lendId), {
263+ let lendIdString = toString(lendId)
264+ let deleteEntryList = ( let $l = hundredList
265+ let $s = size($l)
266+ let $acc0 = $Tuple4(nil, 0, 0, lendIdString)
267+ func $f0_1 ($a,$i) = if (($i >= $s))
268+ then $a
269+ else reducerGetDeleteEntry($a, $l[$i])
270+
271+ func $f0_2 ($a,$i) = if (($i >= $s))
272+ then $a
273+ else throw("List size exceeds 100")
274+
275+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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 txListRaw = [DeleteEntry(("lend-" + lendIdString)), DeleteEntry(("lend-rentCount-" + lendIdString)), DeleteEntry(("lend-cost-" + lendIdString)), IntegerEntry("lendCurrentCount", (lendCurrentCount - 1)), ScriptTransfer(i.caller, getLendCost(lendId), tokenPayment)]
277+ let txList = {
278+ let $l = txListRaw
279+ let $s = size($l)
280+ let $acc0 = deleteEntryList
281+ func $f1_1 ($a,$i) = if (($i >= $s))
282+ then $a
283+ else reducerConcatLists($a, $l[$i])
284+
285+ func $f1_2 ($a,$i) = if (($i >= $s))
286+ then $a
287+ else throw("List size exceeds 100")
288+
289+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 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+ txList
292+ })
293+
294+
295+
296+@Callable(i)
297+func test (lendId) = {
298+ let list = {
299+ let $l = ["1", "2", "3"]
300+ let $s = size($l)
301+ let $acc0 = ["1", "2", "3"]
302+ func $f0_1 ($a,$i) = if (($i >= $s))
303+ then $a
304+ else reducerConcatListsString($a, $l[$i])
305+
306+ func $f0_2 ($a,$i) = if (($i >= $s))
307+ then $a
308+ else throw("List size exceeds 100")
309+
310+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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 $l = list
314+ let $s = size($l)
315+ let $acc0 = ""
316+ func $f1_1 ($a,$i) = if (($i >= $s))
317+ then $a
318+ else reducerListToString($a, $l[$i])
319+
320+ func $f1_2 ($a,$i) = if (($i >= $s))
321+ then $a
322+ else throw("List size exceeds 100")
323+
324+ $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 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 
85.00 ms