tx · 5p7VUCyThc9TccpwE364zbHM4z9whVJyg5P5q3LaRuUm

3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx:  -0.01200000 Waves

2023.02.14 13:34 [2449177] smart account 3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx > SELF 0.00000000 Waves

{ "type": 13, "id": "5p7VUCyThc9TccpwE364zbHM4z9whVJyg5P5q3LaRuUm", "fee": 1200000, "feeAssetId": null, "timestamp": 1676371041157, "version": 2, "chainId": 84, "sender": "3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx", "senderPublicKey": "EKZmHJ5bK3qKKgRdq8rAamt9qrDbVMLARzRqXoQW258v", "proofs": [ "5HknfFHosKxbs1WYCAFvaY3KiRCoTYyBb4YqRox82kWGU2vpmLh7WMjzhzAea1DdYhUazH2RNEx4v2vB4HXachKJ" ], "script": "base64:BgJLCAISCwoJCAgICAgBCAgIEgQKAggIEgQKAggIEgMKAQgSBwoFCAgIAQISBwoFCAgICAISBgoECAgIAhIECgIIAhIECgIICBIDCgEICwAJc2VwYXJhdG9yAgFfAARrQnV5AgNidXkABmtQcmljZQIFcHJpY2UABWtTZWxsAgRzZWxsABJtYXhBdWN0aW9uRHVyYXRpb24AHgAFdGVhbXMBIIVjlaPziI6w3gwXjghOv5o/krsm2zrodo4W3BQiKkh+AAVXQVZFUwEAAARrQmlkAgNiaWQADHN0YXR1c0Zvck5GVAkAlgoEAgRPUEVOAgZDTE9TRUQCCFJFV0FSREVEAghDQU5DRUxFRAALZEFwcEFkZHJlc3MBGgFUSrhPbN7C2pPt9I7pSjb41U9/ldVVW12gAQVpc05mdAEHYXNzZXRJZAQHJG1hdGNoMAkA7AcBBQdhc3NldElkAwkAAQIFByRtYXRjaDACBUFzc2V0BAV0b2tlbgUHJG1hdGNoMAMDCQAAAggFBXRva2VuCGRlY2ltYWxzAAAJAAACCAUFdG9rZW4IcXVhbnRpdHkAAQcJAAACCAUFdG9rZW4KcmVpc3N1YWJsZQcHBwoBaQEJY3JlYXRlTmZ0CQhuZnRfbmFtZQluZnRfb3duZXIPbmZ0X2RBcHBBZGRyZXNzCG5mdF90eXBlCG5mdF90YWdzEW5mdF9zZWxsaW5nX3ByaWNlD25mdF9kZXNjcmlwdGlvbgpuZnRfb25TZWxsCG5mdF9kYXRhBAhuZXdUb2tlbgkAwggFBQhuZnRfbmFtZQUPbmZ0X2Rlc2NyaXB0aW9uAAEAAAcEB2lzc3VlSWQJALgIAQUIbmV3VG9rZW4EBHR4SWQIBQFpDXRyYW5zYWN0aW9uSWQJAMwIAgUIbmV3VG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEFB2lzc3VlSWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAgVPd25lcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAghuZnRfdHlwZQUIbmZ0X3R5cGUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAghuZnRfdGFncwUIbmZ0X3RhZ3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAg9uZnRfZEFwcEFkZHJlc3MFD25mdF9kQXBwQWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAhFuZnRfc2VsbGluZ19wcmljZQURbmZ0X3NlbGxpbmdfcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAgpuZnRfb25TZWxsBQpuZnRfb25TZWxsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIIbmZ0X2RhdGEFCG5mdF9kYXRhCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFBHR4SWQFCXNlcGFyYXRvcgIJaXNzdWVfbmZ0CQDYBAEFB2lzc3VlSWQFA25pbAFpAQdzZWxsTkZUAgVwcmljZRBwYXltZW50X2N1cnJlbmN5BAR0eElkCAUBaQ10cmFuc2FjdGlvbklkBAZzZWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMECyR0MDE5MDExOTg2CQCUCgIJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBnRva2VuMAgFCyR0MDE5MDExOTg2Al8xBAdhbW91bnQwCAULJHQwMTkwMTE5ODYCXzIDCQEBIQEJAQVpc05mdAEFBnRva2VuMAkAAgECEFRva2VuIGlzIG5vdCBORlQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBmtQcmljZQUJc2VwYXJhdG9yCQDYBAEJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUFcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBWtTZWxsCQCsAgIJAKwCAgkArAICCQDYBAEFBnRva2VuMAUJc2VwYXJhdG9yCQCkAwEFB2Ftb3VudDAFEHBheW1lbnRfY3VycmVuY3kFA25pbAFpAQZidXlORlQCBW5mdElEEWN1cnJlbnRfbmZ0X293bmVyBAdhc3NldElkCQDZBAEFBW5mdElEBAZhbW91bnQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BBBjaGVja093bmVySXNTYW1lBAckbWF0Y2gwCQCdCAIFBHRoaXMJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQcEBXByaWNlCQERQGV4dHJOYXRpdmUoMTA1OCkBCQCsAgIJAKwCAgkArAICCQCsAgIFBmtQcmljZQUJc2VwYXJhdG9yBQVuZnRJRAIBXwURY3VycmVudF9uZnRfb3duZXIEDXNlbGxlcl9hbW91bnQJAGgCCQBpAgUGYW1vdW50AOgHAM8HBAxwbGF0Zm9ybV9mZWUJAGgCCQBpAgUGYW1vdW50AOgHABkDCQAAAgURY3VycmVudF9uZnRfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQACAQIpY3VycmVudCBPd25lciBvZiBORlQgbm90IGFibGUgdG8gcHVyY2hhc2UDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQV0ZWFtcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQURY3VycmVudF9uZnRfb3duZXIFDXNlbGxlcl9hbW91bnQFBXRlYW1zCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgRuZnRfBQVuZnRJRAIMcGxhdGZvcm1fZmVlCQCkAwEFDHBsYXRmb3JtX2ZlZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkApQgBCAUBaQZjYWxsZXIFCXNlcGFyYXRvcgUEa0J1eQkArAICCQCsAgIFBW5mdElEBQlzZXBhcmF0b3IJAKQDAQUGYW1vdW50CQDMCAIJAQtEZWxldGVFbnRyeQEJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAgRuZnRfBRFjdXJyZW50X25mdF9vd25lcgIGX293bmVyCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgIGX293bmVyCQClCAEIBQFpBmNhbGxlcgUDbmlsAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQURY3VycmVudF9uZnRfb3duZXIFDXNlbGxlcl9hbW91bnQFBHVuaXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FBW5mdElEAgxwbGF0Zm9ybV9mZWUJAKQDAQUMcGxhdGZvcm1fZmVlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQClCAEIBQFpBmNhbGxlcgUJc2VwYXJhdG9yBQRrQnV5CQCsAgIJAKwCAgUFbmZ0SUQFCXNlcGFyYXRvcgkApAMBBQZhbW91bnQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICBG5mdF8FEWN1cnJlbnRfbmZ0X293bmVyAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yAgZfb3duZXIJAKUIAQgFAWkGY2FsbGVyBQNuaWwFA25pbAFpAQpjYW5jZWxTZWxsAQVuZnRJZAQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAZzZWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBHR4SWQFBW5mdElkAgtfbmZ0X3N0YXR1cwIIQ0FOQ0VMRUQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQZzZWxsZXIAAQkA2QQBBQVuZnRJZAUDbmlsAWkBCmFkZEF1Y3Rpb24FBXN0YXJ0A2VuZApzdGFydFByaWNlCGR1cmF0aW9uEHBheW1lbnRfY3VycmVuY3kEBHR4SWQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAQFbmZ0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAQFcHJpY2UJAQV2YWx1ZQEFCnN0YXJ0UHJpY2UECWVuZEhlaWdodAkAZAIIBQlsYXN0QmxvY2sGaGVpZ2h0BQhkdXJhdGlvbgQGY2FsbGVyCAgFAWkGY2FsbGVyBWJ5dGVzBBFjaGVja05mdEF1Y3Rpb25lZAQHJG1hdGNoMAkAnQgCBQR0aGlzCQCsAgIJAKwCAgkArAICCQDYBAEFBW5mdElkBQlzZXBhcmF0b3ICC25mdF9zdGF0dXNfCQDYBAEFBmNhbGxlcgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAGBwMJAAACBRFjaGVja05mdEF1Y3Rpb25lZAYJAAIBAhdBbHJlYWR5IGluIGF1Y3Rpb24gbGlzdAMJAGYCBQhkdXJhdGlvbgUSbWF4QXVjdGlvbkR1cmF0aW9uCQACAQkArAICAjZEdXJhdGlvbiBpcyB0b28gbG9uZy4gTXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNyAJAKQDAQUSbWF4QXVjdGlvbkR1cmF0aW9uAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAAgECEE5GVCBub3QgYXR0YWNoZWQDCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBQV0ZWFtcwkAAgECEE5GVCBub3QgYXR0YWNoZWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIFBHR4SWQCFm5mdF9zdGFydF9hdWN0aW9uX2RhdGUJANgEAQUGY2FsbGVyBQVzdGFydAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgUEdHhJZAIUbmZ0X2VuZF9hdWN0aW9uX2RhdGUJANgEAQUGY2FsbGVyBQNlbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfbmZ0X3N0YXJ0X3ByaWNlBQpzdGFydFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIKX25mdF9vd25lcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAg9fbmZ0X29uX2F1Y3Rpb24JANgEAQUFbmZ0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfcHJldmlvdXNfYmlkZGVyAgRub25lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIMX2hpZ2hlc3RfYmlkAgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIOX3dpbm5lcl9vZl9uZnQCATAJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAg1fYmlkZGVyX2NvdW50AgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAILX25mdF9zdGF0dXMCBE9QRU4FA25pbAFpAQhwbGFjZUJpZAUJYXVjdGlvbklkBW5mdElkCW5mdF9vd25lcgliaWRfcHJpY2UQY3VycmVudF9jdXJyZW5jeQQEdHhJZAkA2AQBCAUBaQ10cmFuc2FjdGlvbklkBAZjYWxsZXIICAUBaQZjYWxsZXIFYnl0ZXMEB2Fzc2V0SWQJANkEAQUFbmZ0SWQED2N1cnJlbnRCaWRQcmljZQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEFWdldExhc3RXaW5uZXJCaWRQcmljZQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDF9oaWdoZXN0X2JpZAQYZ2V0UHJldmlvdXNCaWRkZXJBZGRyZXNzCQCdCAIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAhBfcHJldmlvdXNfYmlkZGVyBA9jdXJyZW50QmlkQ291bnQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAg1fYmlkZGVyX2NvdW50BBRnZXRMYXN0V2lubmVyQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDl93aW5uZXJfb2ZfbmZ0BBFjaGVja05mdEF1Y3Rpb25lZAkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAwkBAiE9AgURY2hlY2tOZnRBdWN0aW9uZWQCBE9QRU4JAAIBAhROb3Qgb3BlbiBmb3IgYXVjdGlvbgMJAGcCCQENcGFyc2VJbnRWYWx1ZQEFFWdldExhc3RXaW5uZXJCaWRQcmljZQUPY3VycmVudEJpZFByaWNlCQACAQIlQmlkIGlzIGxlc3MgdGhlbiBzdGFydGluZy9oaWdoZXN0IEJpZAMDCQAAAgUVZ2V0TGFzdFdpbm5lckJpZFByaWNlAgEwCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBRBjdXJyZW50X2N1cnJlbmN5BwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkCQCkAwEFD2N1cnJlbnRCaWRQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIOX3dpbm5lcl9vZl9uZnQJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAINX2JpZGRlcl9jb3VudAkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBBQ9jdXJyZW50QmlkQ291bnQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIHX25mdF9pZAkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgpfbmZ0X293bmVyBQluZnRfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQJAKQDAQUPY3VycmVudEJpZFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIHX3dpbm5lcgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAINX2JpZGRlcl9jb3VudAkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBBQ9jdXJyZW50QmlkQ291bnQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCB19uZnRfaWQJANgEAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCCl9uZnRfb3duZXIFCW5mdF9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCD19iaWRfZm9yX25mdF9ieQkA2AQBBQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfYmlkX3ByaWNlX3BsYWNlBQliaWRfcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAiZfcHJldmlvdXNfYmlkX2Ftb3VudF9yZWZ1bmRfdG9fYWRkcmVzcwUUZ2V0TGFzdFdpbm5lckFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhtfcHJldm9pdXNfYmlkX2Ftb3VudF9yZWZ1bmQFFWdldExhc3RXaW5uZXJCaWRQcmljZQUDbmlsAwMJAQIhPQIFFWdldExhc3RXaW5uZXJCaWRQcmljZQIBMAkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUQY3VycmVudF9jdXJyZW5jeQcJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAiZfcHJldmlvdXNfYmlkX2Ftb3VudF9yZWZ1bmRfdG9fYWRkcmVzcwUUZ2V0TGFzdFdpbm5lckFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhtfcHJldm9pdXNfYmlkX2Ftb3VudF9yZWZ1bmQFFWdldExhc3RXaW5uZXJCaWRQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAINX2JpZGRlcl9jb3VudAkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBBQ9jdXJyZW50QmlkQ291bnQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkCQCkAwEFD2N1cnJlbnRCaWRQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIOX3dpbm5lcl9vZl9uZnQJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIHX25mdF9pZAkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgpfbmZ0X293bmVyBQluZnRfb3duZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgUEdHhJZAIBXwUJYXVjdGlvbklkAgxfaGlnaGVzdF9iaWQJAKQDAQUPY3VycmVudEJpZFByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAIHX3dpbm5lcgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIFBHR4SWQCAV8FCWF1Y3Rpb25JZAINX2JpZGRlcl9jb3VudAkApAMBCQBkAgkBDXBhcnNlSW50VmFsdWUBBQ9jdXJyZW50QmlkQ291bnQAAQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCB19uZnRfaWQJANgEAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICBQR0eElkAgFfBQlhdWN0aW9uSWQCCl9uZnRfb3duZXIFCW5mdF9vd25lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCD19iaWRfZm9yX25mdF9ieQkA2AQBBQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhBfYmlkX3ByaWNlX3BsYWNlBQliaWRfcHJpY2UJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFFGdldExhc3RXaW5uZXJBZGRyZXNzCQENcGFyc2VJbnRWYWx1ZQEFFWdldExhc3RXaW5uZXJCaWRQcmljZQUQY3VycmVudF9jdXJyZW5jeQUDbmlsBQNuaWwBaQEOYWNjZXB0QmlkT2ZmZXIECWF1Y3Rpb25JZAVuZnRJZBRiaWRfYW1vdW50X2Zyb21fdXNlchBjdXJyZW50X2N1cnJlbmN5BAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNhbGxlcggIBQFpBmNhbGxlcgVieXRlcwQHYXNzZXRJZAkA2QQBBQVuZnRJZAQSZ2V0TmZ0V2lubmluZ1ByaWNlCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIMX2hpZ2hlc3RfYmlkBBNnZXROZnRXaW5uaW5nYW1vdW50CQBoAgkAaQIJAQ1wYXJzZUludFZhbHVlAQUSZ2V0TmZ0V2lubmluZ1ByaWNlAOgHAM8HBAxwbGF0Zm9ybV9mZWUJAGgCCQBpAgkBDXBhcnNlSW50VmFsdWUBBRJnZXROZnRXaW5uaW5nUHJpY2UA6AcAGQQQZ2V0QXVjdGlvbldpbm5lcgkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDl93aW5uZXJfb2ZfbmZ0AwkAAAIFEGN1cnJlbnRfY3VycmVuY3kFBVdBVkVTCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUGY2FsbGVyBRNnZXROZnRXaW5uaW5nYW1vdW50BQR1bml0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBRBnZXRBdWN0aW9uV2lubmVyAAEFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgIMcGxhdGZvcm1fZmVlCQCkAwEFDHBsYXRmb3JtX2ZlZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCFV9hbW91bnRfcGFpZF90b19vd25lcgUSZ2V0TmZ0V2lubmluZ1ByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUEdHhJZAIQX25mdF90cmFuc2Zlcl90bwUQZ2V0QXVjdGlvbldpbm5lcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFCWF1Y3Rpb25JZAIVX2Ftb3VudF9wYWlkX3RvX293bmVyBRJnZXROZnRXaW5uaW5nUHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCEF9uZnRfdHJhbnNmZXJfdG8FEGdldEF1Y3Rpb25XaW5uZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAghSRVdBUkRFRAUDbmlsAwkAAAIFEGN1cnJlbnRfY3VycmVuY3kFBXRlYW1zCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUGY2FsbGVyBRNnZXROZnRXaW5uaW5nYW1vdW50BQV0ZWFtcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUQZ2V0QXVjdGlvbldpbm5lcgABBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQICDHBsYXRmb3JtX2ZlZQkApAMBBQxwbGF0Zm9ybV9mZWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAhVfYW1vdW50X3BhaWRfdG9fb3duZXIFEmdldE5mdFdpbm5pbmdQcmljZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIFBHR4SWQCEF9uZnRfdHJhbnNmZXJfdG8FEGdldEF1Y3Rpb25XaW5uZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQR0eElkAgtfbmZ0X3N0YXR1cwIIUkVXQVJERUQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICBQlhdWN0aW9uSWQCFV9hbW91bnRfcGFpZF90b19vd25lcgUSZ2V0TmZ0V2lubmluZ1ByaWNlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAhBfbmZ0X3RyYW5zZmVyX3RvBRBnZXRBdWN0aW9uV2lubmVyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUJYXVjdGlvbklkAgtfbmZ0X3N0YXR1cwIIUkVXQVJERUQFA25pbAUDbmlsAWkBDWNhbmNlbEF1Y3Rpb24CCWF1Y3Rpb25JZBBjdXJyZW50X2N1cnJlbmN5BAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNhbGxlcggIBQFpBmNhbGxlcgVieXRlcwQNYXVjdGlvblN0YXR1cwkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzBA1iaWRkaW5nV2lubmVyCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIOX3dpbm5lcl9vZl9uZnQECG5mdE93bmVyCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQCsAgIFCWF1Y3Rpb25JZAIKX25mdF9vd25lcgQFbmZ0SWQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAKwCAgUJYXVjdGlvbklkAg9fbmZ0X29uX2F1Y3Rpb24EDGJpZGRpbmdQcmljZQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwkArAICBQlhdWN0aW9uSWQCDF9oaWdoZXN0X2JpZAMJAAACBQ1iaWRkaW5nV2lubmVyAgEwCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQR0eElkBQlhdWN0aW9uSWQCC19uZnRfc3RhdHVzAghDQU5DRUxFRAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEJANkEAQUIbmZ0T3duZXIAAQkA2QQBBQVuZnRJZAUDbmlsAwkBAiE9AgUNYmlkZGluZ1dpbm5lcgIBMAkAAgECQ3Nvb3J5IHlvdSBjYW4ndCBjYW5jZWwgaXQgYmVjYXVzZSBhbHJlYWR5IGF1Y3Rpb24gcGxhY2VkIGJ5IHNvbWVvbmUFA25pbAFpARJtYW51YWxGdW5kVHJhbnNmZXICDXJlY2VwaWVudEFkZHIHbWVzc2FnZQQGY2FsbGVyCAgFAWkGY2FsbGVyBWJ5dGVzBAdyZWNpdmVyCQDZBAEFDXJlY2VwaWVudEFkZHIEBmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEEXJlY2VwaWVudF9wYXltZW50CQBoAgkAaQIFBmFtb3VudADoBwDPBwQMcGxhdGZvcm1fZmVlCQBoAgkAaQIFBmFtb3VudADoBwAZAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUEdW5pdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQDYBAEFBmNhbGxlcgIJX3RyYW5zZmVyBQZhbW91bnQJAMwIAgkBC1N0cmluZ0VudHJ5AgIMcGxhdGZvcm1fZmVlCQCkAwEFDHBsYXRmb3JtX2ZlZQkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJANgEAQUGY2FsbGVyAgxfdHJhbnNmZXJfdG8FDXJlY2VwaWVudEFkZHIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQdyZWNpdmVyBRFyZWNlcGllbnRfcGF5bWVudAUEdW5pdAUDbmlsAwkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUFdGVhbXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkA2AQBBQZjYWxsZXICCV90cmFuc2ZlcgUGYW1vdW50CQDMCAIJAQtTdHJpbmdFbnRyeQICDHBsYXRmb3JtX2ZlZQkApAMBBQxwbGF0Zm9ybV9mZWUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQDYBAEFBmNhbGxlcgIMX3RyYW5zZmVyX3RvBQ1yZWNlcGllbnRBZGRyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUHcmVjaXZlcgURcmVjZXBpZW50X3BheW1lbnQFBXRlYW1zBQNuaWwFA25pbAFpAQd0ZXN0QmlkAQRkYXRhCQDMCAIJAQtTdHJpbmdFbnRyeQICOEU4a2tGQllDeTQ0SkphcTZwQVo2S2l6c3VSZXNpNVVLTmhiRDFXTlp3aGhZX2hpZ2hlc3RfYmlkAgEwBQNuaWwAe3cuCQ==", "height": 2449177, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FbenoEoQCNrkCfiQnNtm2CFwa7CA1TBVgevx7M6uVEsD Next: DeS6NbusnLeH4mHn4NidpYahGHVCTELpEZTK6kEu5Z6d Diff:
OldNewDifferences
126126
127127
128128 @Callable(o)
129-func placeBid (W,O,q,X) = {
129+func placeBid (W,O,q,X,Y) = {
130130 let A = toBase58String(o.transactionId)
131131 let U = o.caller.bytes
132132 let l = fromBase58String(O)
133- let Y = o.payments[0].amount
134- let Z = getStringValue(this, (W + "_highest_bid"))
135- let aa = getString(this, (W + "_previous_bidder"))
136- let ab = getStringValue(this, (W + "_bidder_count"))
137- let ac = getStringValue(this, (W + "_winner_of_nft"))
133+ let Z = o.payments[0].amount
134+ let aa = getStringValue(this, (W + "_highest_bid"))
135+ let ab = getString(this, (W + "_previous_bidder"))
136+ let ac = getStringValue(this, (W + "_bidder_count"))
137+ let ad = getStringValue(this, (W + "_winner_of_nft"))
138138 let V = getStringValue(this, (W + "_nft_status"))
139139 if ((V != "OPEN"))
140140 then throw("Not open for auction")
141- else if ((parseIntValue(Z) >= Y))
141+ else if ((parseIntValue(aa) >= Z))
142142 then throw("Bid is less then starting/highest Bid")
143- else if (if ((Z == "0"))
144- then (o.payments[0].assetId == unit)
143+ else if (if ((aa == "0"))
144+ then (o.payments[0].assetId == Y)
145145 else false)
146- then [StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z)]
147- else if (if ((Z != "0"))
148- then (o.payments[0].assetId == unit)
146+ then [StringEntry((W + "_highest_bid"), toString(Z)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Z)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ad), StringEntry((A + "_prevoius_bid_amount_refund"), aa)]
147+ else if (if ((aa != "0"))
148+ then (o.payments[0].assetId == Y)
149149 else false)
150- then [StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), ScriptTransfer(Address(fromBase58String(ac)), parseIntValue(Z), unit)]
151- else if (if ((Z == "0"))
152- then (o.payments[0].assetId == f)
153- else false)
154- then [StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z)]
155- else if (if ((Z != "0"))
156- then (o.payments[0].assetId == f)
157- else false)
158- then [StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), ScriptTransfer(Address(fromBase58String(ac)), parseIntValue(Z), f)]
159- else nil
150+ then [StringEntry((A + "_previous_bid_amount_refund_to_address"), ad), StringEntry((A + "_prevoius_bid_amount_refund"), aa), StringEntry((W + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((W + "_highest_bid"), toString(Z)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Z)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), ScriptTransfer(Address(fromBase58String(ad)), parseIntValue(aa), Y)]
151+ else nil
160152 }
161153
162154
163155
164156 @Callable(o)
165-func acceptBidOffer (W,O,ad,ae) = {
157+func acceptBidOffer (W,O,ae,Y) = {
166158 let A = toBase58String(o.transactionId)
167159 let U = o.caller.bytes
168160 let l = fromBase58String(O)
170162 let ag = ((parseIntValue(af) / 1000) * 975)
171163 let N = ((parseIntValue(af) / 1000) * 25)
172164 let ah = getStringValue(this, (W + "_winner_of_nft"))
173- if ((ae == g))
165+ if ((Y == g))
174166 then [ScriptTransfer(Address(U), ag, unit), ScriptTransfer(Address(fromBase58String(ah)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), af), StringEntry((A + "_nft_transfer_to"), ah), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), af), StringEntry((W + "_nft_transfer_to"), ah), StringEntry((W + "_nft_status"), "REWARDED")]
175- else if ((ae == f))
167+ else if ((Y == f))
176168 then [ScriptTransfer(Address(U), ag, f), ScriptTransfer(Address(fromBase58String(ah)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), af), StringEntry((A + "_nft_transfer_to"), ah), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), af), StringEntry((W + "_nft_transfer_to"), ah), StringEntry((W + "_nft_status"), "REWARDED")]
177169 else nil
178170 }
180172
181173
182174 @Callable(o)
183-func cancelAuction (W,ae) = {
175+func cancelAuction (W,Y) = {
184176 let A = toBase58String(o.transactionId)
185177 let U = o.caller.bytes
186178 let ai = getStringValue(this, (W + "_nft_status"))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = "buy"
77
88 let c = "price"
99
1010 let d = "sell"
1111
1212 let e = 30
1313
1414 let f = base58'9yhJDfWjPpv6tFjWRD1AJyBQwausJf2ZdxzLn86Uknnq'
1515
1616 let g = base58''
1717
1818 let h = "bid"
1919
2020 let i = $Tuple4("OPEN", "CLOSED", "REWARDED", "CANCELED")
2121
2222 let j = base58'3MvjAaDYHpS4A5K4CV3kZMMEH9m9JdBSvbq'
2323
2424 func k (l) = {
2525 let m = assetInfo(l)
2626 if ($isInstanceOf(m, "Asset"))
2727 then {
2828 let n = m
2929 if (if ((n.decimals == 0))
3030 then (n.quantity == 1)
3131 else false)
3232 then (n.reissuable == false)
3333 else false
3434 }
3535 else false
3636 }
3737
3838
3939 @Callable(o)
4040 func createNft (p,q,r,s,t,u,v,w,x) = {
4141 let y = Issue(p, v, 1, 0, false)
4242 let z = calculateAssetId(y)
4343 let A = o.transactionId
4444 [y, ScriptTransfer(o.caller, 1, z), StringEntry(((toBase58String(z) + a) + "Owner"), toString(o.caller)), StringEntry(((toBase58String(z) + a) + "nft_type"), s), StringEntry(((toBase58String(z) + a) + "nft_tags"), t), StringEntry(((toBase58String(z) + a) + "nft_dAppAddress"), r), IntegerEntry(((toBase58String(z) + a) + "nft_selling_price"), u), StringEntry(((toBase58String(z) + a) + "nft_onSell"), w), StringEntry(((toBase58String(z) + a) + "nft_data"), x), StringEntry(((toBase58String(A) + a) + "issue_nft"), toBase58String(z))]
4545 }
4646
4747
4848
4949 @Callable(o)
5050 func sellNFT (B,C) = {
5151 let A = o.transactionId
5252 let D = o.caller.bytes
5353 let E = $Tuple2(value(o.payments[0].assetId), value(o.payments[0].amount))
5454 let F = E._1
5555 let G = E._2
5656 if (!(k(F)))
5757 then throw("Token is not NFT")
5858 else [StringEntry(((c + a) + toBase58String(value(o.payments[0].assetId))), B), StringEntry(((toString(o.caller) + a) + d), (((toBase58String(F) + a) + toString(G)) + C))]
5959 }
6060
6161
6262
6363 @Callable(o)
6464 func buyNFT (H,I) = {
6565 let l = fromBase58String(H)
6666 let J = value(o.payments[0].amount)
6767 let K = {
6868 let m = getString(this, (("nft_" + I) + "_owner"))
6969 if ($isInstanceOf(m, "String"))
7070 then {
7171 let L = m
7272 L
7373 }
7474 else false
7575 }
7676 let B = getStringValue(((((c + a) + H) + "_") + I))
7777 let M = ((J / 1000) * 975)
7878 let N = ((J / 1000) * 25)
7979 if ((I == toString(o.caller)))
8080 then throw("current Owner of NFT not able to purchase")
8181 else if ((o.payments[0].assetId == f))
8282 then [ScriptTransfer(o.caller, 1, l), ScriptTransfer(Address(fromBase58String(I)), M, f), StringEntry((("nft_" + H) + "platform_fee"), toString(N)), StringEntry(((toString(o.caller) + a) + b), ((H + a) + toString(J))), DeleteEntry((("nft_" + I) + "_owner")), StringEntry((("nft_" + I) + "_owner"), toString(o.caller)), StringEntry(((H + a) + "_owner"), toString(o.caller))]
8383 else if ((o.payments[0].assetId == unit))
8484 then [ScriptTransfer(o.caller, 1, l), ScriptTransfer(Address(fromBase58String(I)), M, unit), StringEntry((("nft_" + H) + "platform_fee"), toString(N)), StringEntry(((toString(o.caller) + a) + b), ((H + a) + toString(J))), DeleteEntry((("nft_" + I) + "_owner")), StringEntry((("nft_" + I) + "_owner"), toString(o.caller)), StringEntry(((H + a) + "_owner"), toString(o.caller))]
8585 else nil
8686 }
8787
8888
8989
9090 @Callable(o)
9191 func cancelSell (O) = {
9292 let A = toBase58String(o.transactionId)
9393 let D = o.caller.bytes
9494 [StringEntry(((A + O) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(D), 1, fromBase58String(O))]
9595 }
9696
9797
9898
9999 @Callable(o)
100100 func addAuction (P,Q,R,S,C) = {
101101 let A = toBase58String(o.transactionId)
102102 let O = value(o.payments[0].assetId)
103103 let B = value(R)
104104 let T = (lastBlock.height + S)
105105 let U = o.caller.bytes
106106 let V = {
107107 let m = getString(this, (((toBase58String(O) + a) + "nft_status_") + toBase58String(U)))
108108 if ($isInstanceOf(m, "String"))
109109 then {
110110 let L = m
111111 true
112112 }
113113 else false
114114 }
115115 if ((V == true))
116116 then throw("Already in auction list")
117117 else if ((S > e))
118118 then throw(("Duration is too long. Must be less than or equal to 7 " + toString(e)))
119119 else if ((o.payments[0].assetId == unit))
120120 then throw("NFT not attached")
121121 else if ((o.payments[0].assetId == f))
122122 then throw("NFT not attached")
123123 else [StringEntry(((A + "nft_start_auction_date") + toBase58String(U)), P), StringEntry(((A + "nft_end_auction_date") + toBase58String(U)), Q), StringEntry((A + "_nft_start_price"), R), StringEntry((A + "_nft_owner"), toString(o.caller)), StringEntry((A + "_nft_on_auction"), toBase58String(O)), StringEntry((A + "_previous_bidder"), "none"), StringEntry((A + "_highest_bid"), "0"), StringEntry((A + "_winner_of_nft"), "0"), StringEntry((A + "_bidder_count"), "0"), StringEntry((A + "_nft_status"), "OPEN")]
124124 }
125125
126126
127127
128128 @Callable(o)
129-func placeBid (W,O,q,X) = {
129+func placeBid (W,O,q,X,Y) = {
130130 let A = toBase58String(o.transactionId)
131131 let U = o.caller.bytes
132132 let l = fromBase58String(O)
133- let Y = o.payments[0].amount
134- let Z = getStringValue(this, (W + "_highest_bid"))
135- let aa = getString(this, (W + "_previous_bidder"))
136- let ab = getStringValue(this, (W + "_bidder_count"))
137- let ac = getStringValue(this, (W + "_winner_of_nft"))
133+ let Z = o.payments[0].amount
134+ let aa = getStringValue(this, (W + "_highest_bid"))
135+ let ab = getString(this, (W + "_previous_bidder"))
136+ let ac = getStringValue(this, (W + "_bidder_count"))
137+ let ad = getStringValue(this, (W + "_winner_of_nft"))
138138 let V = getStringValue(this, (W + "_nft_status"))
139139 if ((V != "OPEN"))
140140 then throw("Not open for auction")
141- else if ((parseIntValue(Z) >= Y))
141+ else if ((parseIntValue(aa) >= Z))
142142 then throw("Bid is less then starting/highest Bid")
143- else if (if ((Z == "0"))
144- then (o.payments[0].assetId == unit)
143+ else if (if ((aa == "0"))
144+ then (o.payments[0].assetId == Y)
145145 else false)
146- then [StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z)]
147- else if (if ((Z != "0"))
148- then (o.payments[0].assetId == unit)
146+ then [StringEntry((W + "_highest_bid"), toString(Z)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Z)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ad), StringEntry((A + "_prevoius_bid_amount_refund"), aa)]
147+ else if (if ((aa != "0"))
148+ then (o.payments[0].assetId == Y)
149149 else false)
150- then [StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), ScriptTransfer(Address(fromBase58String(ac)), parseIntValue(Z), unit)]
151- else if (if ((Z == "0"))
152- then (o.payments[0].assetId == f)
153- else false)
154- then [StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z)]
155- else if (if ((Z != "0"))
156- then (o.payments[0].assetId == f)
157- else false)
158- then [StringEntry((A + "_previous_bid_amount_refund_to_address"), ac), StringEntry((A + "_prevoius_bid_amount_refund"), Z), StringEntry((W + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((W + "_highest_bid"), toString(Y)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Y)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ab) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), ScriptTransfer(Address(fromBase58String(ac)), parseIntValue(Z), f)]
159- else nil
150+ then [StringEntry((A + "_previous_bid_amount_refund_to_address"), ad), StringEntry((A + "_prevoius_bid_amount_refund"), aa), StringEntry((W + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((W + "_highest_bid"), toString(Z)), StringEntry((W + "_winner_of_nft"), toBase58String(o.caller.bytes)), StringEntry((W + "_nft_id"), toBase58String(l)), StringEntry((W + "_nft_owner"), q), StringEntry((((A + "_") + W) + "_highest_bid"), toString(Z)), StringEntry((((A + "_") + W) + "_winner"), toBase58String(o.caller.bytes)), StringEntry((((A + "_") + W) + "_bidder_count"), toString((parseIntValue(ac) + 1))), StringEntry((((A + "_") + W) + "_nft_id"), toBase58String(l)), StringEntry((((A + "_") + W) + "_nft_owner"), q), StringEntry((A + "_bid_for_nft_by"), toBase58String(U)), StringEntry((A + "_bid_price_place"), X), ScriptTransfer(Address(fromBase58String(ad)), parseIntValue(aa), Y)]
151+ else nil
160152 }
161153
162154
163155
164156 @Callable(o)
165-func acceptBidOffer (W,O,ad,ae) = {
157+func acceptBidOffer (W,O,ae,Y) = {
166158 let A = toBase58String(o.transactionId)
167159 let U = o.caller.bytes
168160 let l = fromBase58String(O)
169161 let af = getStringValue(this, (W + "_highest_bid"))
170162 let ag = ((parseIntValue(af) / 1000) * 975)
171163 let N = ((parseIntValue(af) / 1000) * 25)
172164 let ah = getStringValue(this, (W + "_winner_of_nft"))
173- if ((ae == g))
165+ if ((Y == g))
174166 then [ScriptTransfer(Address(U), ag, unit), ScriptTransfer(Address(fromBase58String(ah)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), af), StringEntry((A + "_nft_transfer_to"), ah), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), af), StringEntry((W + "_nft_transfer_to"), ah), StringEntry((W + "_nft_status"), "REWARDED")]
175- else if ((ae == f))
167+ else if ((Y == f))
176168 then [ScriptTransfer(Address(U), ag, f), ScriptTransfer(Address(fromBase58String(ah)), 1, l), StringEntry("platform_fee", toString(N)), StringEntry((A + "_amount_paid_to_owner"), af), StringEntry((A + "_nft_transfer_to"), ah), StringEntry((A + "_nft_status"), "REWARDED"), StringEntry((W + "_amount_paid_to_owner"), af), StringEntry((W + "_nft_transfer_to"), ah), StringEntry((W + "_nft_status"), "REWARDED")]
177169 else nil
178170 }
179171
180172
181173
182174 @Callable(o)
183-func cancelAuction (W,ae) = {
175+func cancelAuction (W,Y) = {
184176 let A = toBase58String(o.transactionId)
185177 let U = o.caller.bytes
186178 let ai = getStringValue(this, (W + "_nft_status"))
187179 let aj = getStringValue(this, (W + "_winner_of_nft"))
188180 let ak = getStringValue(this, (W + "_nft_owner"))
189181 let O = getStringValue(this, (W + "_nft_on_auction"))
190182 let al = getStringValue(this, (W + "_highest_bid"))
191183 if ((aj == "0"))
192184 then [StringEntry(((A + W) + "_nft_status"), "CANCELED"), ScriptTransfer(Address(fromBase58String(ak)), 1, fromBase58String(O))]
193185 else if ((aj != "0"))
194186 then throw("soory you can't cancel it because already auction placed by someone")
195187 else nil
196188 }
197189
198190
199191
200192 @Callable(o)
201193 func manualFundTransfer (am,an) = {
202194 let U = o.caller.bytes
203195 let ao = fromBase58String(am)
204196 let J = o.payments[0].amount
205197 let ap = ((J / 1000) * 975)
206198 let N = ((J / 1000) * 25)
207199 if ((o.payments[0].assetId == unit))
208200 then [IntegerEntry((toBase58String(U) + "_transfer"), J), StringEntry("platform_fee", toString(N)), StringEntry((toBase58String(U) + "_transfer_to"), am), ScriptTransfer(Address(ao), ap, unit)]
209201 else if ((o.payments[0].assetId == f))
210202 then [IntegerEntry((toBase58String(U) + "_transfer"), J), StringEntry("platform_fee", toString(N)), StringEntry((toBase58String(U) + "_transfer_to"), am), ScriptTransfer(Address(ao), ap, f)]
211203 else nil
212204 }
213205
214206
215207
216208 @Callable(o)
217209 func testBid (aq) = [StringEntry("E8kkFBYCy44JJaq6pAZ6KizsuResi5UKNhbD1WNZwhhY_highest_bid", "0")]
218210
219211

github/deemru/w8io/873ac7e 
142.15 ms