tx · 2kLc7Dea6YGkCFy41HS1EUVFkFkcTcre4uvJWeic1mQ2

3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx:  -0.10000000 Waves

2022.11.24 08:56 [2330787] smart account 3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx > SELF 0.00000000 Waves

{ "type": 13, "id": "2kLc7Dea6YGkCFy41HS1EUVFkFkcTcre4uvJWeic1mQ2", "fee": 10000000, "feeAssetId": null, "timestamp": 1669269360270, "version": 2, "chainId": 84, "sender": "3N85YW6NZ9pLYvSdt1ASMQTGxvncnU1vUNx", "senderPublicKey": "EKZmHJ5bK3qKKgRdq8rAamt9qrDbVMLARzRqXoQW258v", "proofs": [ "3Qx8YTg1vbQgZtSRWaY1hYJn2TKSTAT43pz2HAq6gdQAuxeAX7ZGNA5t35rfiVXZinrKQoLe2FfGUPTGpwkh1e9d" ], "script": "base64:BgJKCAISCwoJCAgICAgBCAgIEgQKAggIEgMKAQgSAwoBARIDCgEBEg8KDQEBAQEICAgICAEICAgSAwoBCBIDCgEIEgMKAQgSBAoCCAEnAAlzZXBhcmF0b3ICAV8ACGtBdWN0aW9uAgdhdWN0aW9uAAVrU2VsbAIEc2VsbAAIa1RydXN0ZWQCB3RydXN0ZWQABmtQcmljZQIFcHJpY2UBCmdldFNsb3RLZXkCBnByZWZpeAVuZnRJZAkArAICCQCsAgIFBnByZWZpeAUJc2VwYXJhdG9yCQDYBAEFBW5mdElkAQtnZXRQcmljZUtleQEFbmZ0SWQJAKwCAgkArAICBQZrUHJpY2UFCXNlcGFyYXRvcgkA2AQBBQVuZnRJZAEKZ2V0U2VsbEtleQEFbmZ0SWQJAKwCAgkArAICBQVrU2VsbAUJc2VwYXJhdG9yCQDYBAEFBW5mdElkAQ1nZXRBdWN0aW9uS2V5AQVuZnRJZAkArAICCQCsAgIFCGtBdWN0aW9uBQlzZXBhcmF0b3IJANgEAQUFbmZ0SWQBDWdldFRydXN0ZWRLZXkBBmlzc3VlcgkArAICCQCsAgIFCGtUcnVzdGVkBQlzZXBhcmF0b3IJAKUIAQUGaXNzdWVyAQlhZGRUb0xpc3QCBWFjY3VtCW5leHRWYWx1ZQkAzggCBQVhY2N1bQkAzAgCBQluZXh0VmFsdWUFA25pbAEKam9pblN0cmluZwEGcGFyYW1zBAZsZW5ndGgJAJADAQUGcGFyYW1zAwkAAAIFBmxlbmd0aAAACQACAQINRW1wdHkgIHBhcmFtcwMJAAACBQZsZW5ndGgAAQkAuQkCCgACJGwFBnBhcmFtcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEJYWRkVG9MaXN0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAxCQEFJGYwXzICCQEFJGYwXzECBQUkYWNjMAAAAAEFCXNlcGFyYXRvcgMJAAACBQZsZW5ndGgAAgkAuQkCCgACJGwFBnBhcmFtcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEJYWRkVG9MaXN0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAyCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgUJc2VwYXJhdG9yAwkAAAIFBmxlbmd0aAADCQC5CQIKAAIkbAUGcGFyYW1zCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQlhZGRUb0xpc3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDMJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMFCXNlcGFyYXRvcgMJAAACBQZsZW5ndGgABAkAuQkCCgACJGwFBnBhcmFtcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEJYWRkVG9MaXN0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA0CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQFCXNlcGFyYXRvcgMJAAACBQZsZW5ndGgABQkAuQkCCgACJGwFBnBhcmFtcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEJYWRkVG9MaXN0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQUJc2VwYXJhdG9yCQACAQIhTWF4IG51bWJlciBvZiBwYXJhbWV0ZXJzIGV4Y2VlZGVkAQ5wYXJzZUFzQXVjdGlvbgEHZGV0YWlscwQDcmVzCQC1CQIFB2RldGFpbHMFCXNlcGFyYXRvcgkAlwoFCQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFA3JlcwAACQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUDcmVzAAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQNyZXMAAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFA3JlcwADCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUDcmVzAAQBC3BhcnNlQXNTZWxsAQdkZXRhaWxzBANyZXMJALUJAgUHZGV0YWlscwUJc2VwYXJhdG9yCQCUCgIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUDcmVzAAAJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQNyZXMAAQEKam9pblN0cnVjdAEGcGFyYW1zBAckbWF0Y2gwBQZwYXJhbXMDCQABAgUHJG1hdGNoMAIdKEFkZHJlc3MsIEludCwgSW50LCBJbnQsIEludCkEB2F1Y3Rpb24FByRtYXRjaDAJAQpqb2luU3RyaW5nAQkAzAgCCQClCAEIBQdhdWN0aW9uAl8xCQDMCAIJAKQDAQgFB2F1Y3Rpb24CXzIJAMwIAgkApAMBCAUHYXVjdGlvbgJfMwkAzAgCCQCkAwEIBQdhdWN0aW9uAl80CQDMCAIJAKQDAQgFB2F1Y3Rpb24CXzUFA25pbAMJAAECBQckbWF0Y2gwAg4oQWRkcmVzcywgSW50KQQEc2VsbAUHJG1hdGNoMAkBCmpvaW5TdHJpbmcBCQDMCAIJAKUIAQgFBHNlbGwCXzEJAMwIAgkApAMBCAUEc2VsbAJfMgUDbmlsCQACAQITV3JvbmcgcGFyYW1zIHR1cHBsZQEKc2V0QXVjdGlvbgYGc2VsbGVyBW5mdElkCnN0YXJ0UHJpY2UIZW5kUHJpY2UFc3RhcnQDZW5kCQELU3RyaW5nRW50cnkCCQENZ2V0QXVjdGlvbktleQEFBW5mdElkCQEKam9pblN0cnVjdAEJAJcKBQUGc2VsbGVyBQpzdGFydFByaWNlBQhlbmRQcmljZQUFc3RhcnQFA2VuZAEHc2V0U2VsbAMFbmZ0SWQGY2VsbGVyBXByaWNlCQELU3RyaW5nRW50cnkCCQEKZ2V0U2VsbEtleQEFBW5mdElkCQEKam9pblN0cnVjdAEJAJQKAgUGY2VsbGVyBQVwcmljZQEKZ2V0QXVjdGlvbgEFbmZ0SWQJAQV2YWx1ZQEJAJ0IAgUEdGhpcwkBDWdldEF1Y3Rpb25LZXkBBQVuZnRJZAEHZ2V0U2VsbAEFbmZ0SWQJAQV2YWx1ZQEJAJ0IAgUEdGhpcwkBCmdldFNlbGxLZXkBBQVuZnRJZAEYY2FsY1ByaWNlQXRDdXJyZW50TW9tZW50Agdhc3NldElkBm1vbWVudAQHZGV0YWlscwkBCmdldEF1Y3Rpb24BBQdhc3NldElkBAskdDAyODE3MjkyMQkBDnBhcnNlQXNBdWN0aW9uAQUHZGV0YWlscwQGc2VsbGVyCAULJHQwMjgxNzI5MjECXzEED3N0YXJ0UHJpY2VWYWx1ZQgFCyR0MDI4MTcyOTIxAl8yBA1lbmRQcmljZVZhbHVlCAULJHQwMjgxNzI5MjECXzMEEHN0YXJ0UGVyaW9kVmFsdWUIBQskdDAyODE3MjkyMQJfNAQOZW5kUGVyaW9kVmFsdWUIBQskdDAyODE3MjkyMQJfNQMJAGcCBQZtb21lbnQFDmVuZFBlcmlvZFZhbHVlCQCUCgIFBnNlbGxlcgUNZW5kUHJpY2VWYWx1ZQQKZGVsdGFQcmljZQkAZQIFD3N0YXJ0UHJpY2VWYWx1ZQUNZW5kUHJpY2VWYWx1ZQQGcGVyaW9kCQBlAgUOZW5kUGVyaW9kVmFsdWUFEHN0YXJ0UGVyaW9kVmFsdWUEB3NwZW5kZWQJAGUCBQZtb21lbnQFEHN0YXJ0UGVyaW9kVmFsdWUJAJQKAgUGc2VsbGVyCQBlAgUPc3RhcnRQcmljZVZhbHVlCQBrAwUHc3BlbmRlZAUKZGVsdGFQcmljZQUGcGVyaW9kAQVpc05mdAEHYXNzZXRJZAQHJG1hdGNoMAkA7AcBBQdhc3NldElkAwkAAQIFByRtYXRjaDACBUFzc2V0BAV0b2tlbgUHJG1hdGNoMAMDCQAAAggFBXRva2VuCGRlY2ltYWxzAAAJAAACCAUFdG9rZW4IcXVhbnRpdHkAAQcJAAACCAUFdG9rZW4KcmVpc3N1YWJsZQcHBwEMaXNUcnVzdGVkTmZ0AQdhc3NldElkBAZpc3N1ZXIICQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQGaXNzdWVyCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMJAQ1nZXRUcnVzdGVkS2V5AQUGaXNzdWVyBwELaXNTZWxsRXhpc3QBB2Fzc2V0SWQJAQlpc0RlZmluZWQBCQCdCAIFBHRoaXMJAQpnZXRTZWxsS2V5AQUHYXNzZXRJZAEOaXNBdWN0aW9uRXhpc3QBB2Fzc2V0SWQJAQlpc0RlZmluZWQBCQCdCAIFBHRoaXMJAQ1nZXRBdWN0aW9uS2V5AQUHYXNzZXRJZAESaXNDb3JyZWN0U2VsbFByaWNlAQVwcmljZQkAZgIFBXByaWNlAAABFmlzQ29ycmVjdEF1Y3Rpb25QZXJpb2QCBXN0YXJ0A2VuZAkAZgIFA2VuZAUFc3RhcnQBFmlzQ29ycmVjdEF1Y3Rpb25QcmljZXMCCnN0YXJ0UHJpY2UIZW5kUHJpY2UJAGYCBQpzdGFydFByaWNlBQhlbmRQcmljZQEHaXNBZG1pbgEGY2FsbGVyCQAAAgUGY2FsbGVyBQR0aGlzAQ1pc1ZhbGlkQ2FsbGVyAgZjYWxsZXIGc2VsbGVyAwkAAAIFBmNhbGxlcgUEdGhpcwYJAAACBQZjYWxsZXIFBnNlbGxlcgEOaXNBdWN0aW9uRW5kZWQCA25vdwNlbmQJAGYCBQNub3cFA2VuZAENaXNFbm91Z2hGdW5kcwIHcGF5bWVudBJjdXJyZW50TW9tZW50UHJpY2UJAGcCBQdwYXltZW50BRJjdXJyZW50TW9tZW50UHJpY2UBB2lzV2F3ZXMBB2Fzc2V0SWQJAAACBQdhc3NldElkBQR1bml0AQxpc0NvcnJlY3ROZnQBBW5mdElkAwkBASEBCQEFaXNOZnQBBQVuZnRJZAkAAgECEFRva2VuIGlzIG5vdCBOZnQDCQELaXNTZWxsRXhpc3QBBQVuZnRJZAkAAgECE1NlbGwgYWxyZWFkeSBleGlzdHMDCQEOaXNBdWN0aW9uRXhpc3QBBQVuZnRJZAkAAgECFkF1Y3Rpb24gYWxyZWFkeSBleGlzdHMFBHVuaXQBEWlzQ29ycmVjdFBheW1lbnRzAwxwYXltZW50QXNzZXQNcGF5bWVudEFtb3VudAVwcmljZQMJAQEhAQkBB2lzV2F3ZXMBBQxwYXltZW50QXNzZXQJAAIBAhhQYXltZW50IG11c3QgYmUgYXQgV0FWRVMDCQEBIQEJAQ1pc0Vub3VnaEZ1bmRzAgUNcGF5bWVudEFtb3VudAUFcHJpY2UJAAIBAhBOb3QgZW5vdWdoIGZ1bmRzBQR1bml0AQdjYWxjRmVlAAAAAQ5jYWxjVHJ1c3RlZEZlZQAAAAEScmVzdWx0RnVuZHNBbW91bnRzAwlpc1RydXN0ZWQNcGF5bWVudEFtb3VudAthY3R1YWxQcmljZQMFCWlzVHJ1c3RlZAkAlAoCCQBlAgULYWN0dWFsUHJpY2UJAQ5jYWxjVHJ1c3RlZEZlZQAJAGUCBQ1wYXltZW50QW1vdW50BQthY3R1YWxQcmljZQkAlAoCCQBlAgULYWN0dWFsUHJpY2UJAQdjYWxjRmVlAAkAZQIFDXBheW1lbnRBbW91bnQFC2FjdHVhbFByaWNlAQdnZXRTbG90AQVuZnRJZAMJAQtpc1NlbGxFeGlzdAEFBW5mdElkCQCUCgIFBWtTZWxsCQEHZ2V0U2VsbAEFBW5mdElkAwkBDmlzQXVjdGlvbkV4aXN0AQUFbmZ0SWQJAJQKAgUIa0F1Y3Rpb24JAQpnZXRBdWN0aW9uAQUFbmZ0SWQJAAIBAhJTbG90IGRvZXNuYHQgZXhpc3QABGtCdXkCA2J1eQoBaQEJY3JlYXRlTmZ0CQhuZnRfbmFtZQluZnRfb3duZXIPbmZ0X2RBcHBBZGRyZXNzCG5mdF90eXBlCG5mdF90YWdzEW5mdF9zZWxsaW5nX3ByaWNlD25mdF9kZXNjcmlwdGlvbgpuZnRfb25TZWxsCG5mdF9kYXRhBAhuZXdUb2tlbgkAwggFBQhuZnRfbmFtZQUPbmZ0X2Rlc2NyaXB0aW9uAAEAAAcEB2lzc3VlSWQJALgIAQUIbmV3VG9rZW4JAMwIAgUIbmV3VG9rZW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEFB2lzc3VlSWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAgVPd25lcgkApQgBCAUBaQZjYWxsZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAghuZnRfdHlwZQUIbmZ0X3R5cGUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAghuZnRfdGFncwUIbmZ0X3RhZ3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAg9uZnRfZEFwcEFkZHJlc3MFD25mdF9kQXBwQWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAhFuZnRfc2VsbGluZ19wcmljZQURbmZ0X3NlbGxpbmdfcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUHaXNzdWVJZAUJc2VwYXJhdG9yAgpuZnRfb25TZWxsBQpuZnRfb25TZWxsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIIbmZ0X2RhdGEFCG5mdF9kYXRhBQNuaWwBaQEIaXNzdWVOZnQCBG5hbWUEbWV0YQQIbmV3VG9rZW4JAMIIBQUEbmFtZQUEbWV0YQABAAAHBAdpc3N1ZUlkCQC4CAEFCG5ld1Rva2VuCQDMCAIFCG5ld1Rva2VuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdpc3N1ZUlkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFB2lzc3VlSWQFCXNlcGFyYXRvcgIFT3duZXIJAKUIAQgFAWkGY2FsbGVyBQNuaWwBaQEGYnV5TkZUAQVuZnRJRAQHYXNzZXRJZAkA2QQBBQVuZnRJRAQGYW1vdW50CQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQFcHJpY2UJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBCQCsAgIJAKwCAgUGa1ByaWNlBQlzZXBhcmF0b3IFBW5mdElEAh5UaGVyZSBpcyBubyBwcmljZSBmb3IgdGhpcyBORlQEBW93bmVyCQETdmFsdWVPckVycm9yTWVzc2FnZQIJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yAgVPd25lcgIITm8gb3duZXIDCQECIT0CCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBHVuaXQJAAIBAgxQYXkgaW4gd2F2ZXMDCQBmAgkBDXBhcnNlSW50VmFsdWUBBQVwcmljZQUGYW1vdW50CQACAQIPSW52YWxpZCBwYXltZW50CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdhc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQV2YWx1ZQEJAKYIAQUFb3duZXIJAQ1wYXJzZUludFZhbHVlAQUFcHJpY2UFBHVuaXQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBGtCdXkJAKwCAgkArAICBQVuZnRJRAUJc2VwYXJhdG9yCQCkAwEFBmFtb3VudAUDbmlsAWkBB3NlbGxORlQBBXByaWNlBAskdDA3MzM4NzQyMwkAlAoCCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQV2YWx1ZQEICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BAZ0b2tlbjAIBQskdDA3MzM4NzQyMwJfMQQHYW1vdW50MAgFCyR0MDczMzg3NDIzAl8yAwkBASEBCQEFaXNOZnQBBQZ0b2tlbjAJAAIBAhBUb2tlbiBpcyBub3QgTkZUCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICBQZrUHJpY2UFCXNlcGFyYXRvcgkA2AQBCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAKQDAQUFcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKUIAQgFAWkGY2FsbGVyBQlzZXBhcmF0b3IFBWtTZWxsCQCsAgIJAKwCAgkA2AQBBQZ0b2tlbjAFCXNlcGFyYXRvcgkApAMBBQdhbW91bnQwBQNuaWwBaQEHYWRkU2VsbAEFcHJpY2UEBW5mdElkCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAQxpc0NvcnJlY3ROZnQBBQVuZnRJZAMJAQEhAQkBEmlzQ29ycmVjdFNlbGxQcmljZQEFBXByaWNlCQACAQIRUHJpY2UgbXVzdCBiZSA+IDAJAMwIAgkBB3NldFNlbGwDBQVuZnRJZAgFAWkGY2FsbGVyBQVwcmljZQUDbmlsAWkBCmFkZEF1Y3Rpb24NCnN0YXJ0UHJpY2UIZW5kUHJpY2UFc3RhcnQDZW5kCG5mdF9uYW1lCW5mdF9vd25lcg9uZnRfZEFwcEFkZHJlc3MIbmZ0X3R5cGUIbmZ0X3RhZ3MRbmZ0X3NlbGxpbmdfcHJpY2UPbmZ0X2Rlc2NyaXB0aW9uCm5mdF9vblNlbGwIbmZ0X2RhdGEEBW5mdElkCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAQxpc0NvcnJlY3ROZnQBBQVuZnRJZAMJAQEhAQkBFmlzQ29ycmVjdEF1Y3Rpb25QZXJpb2QCBQVzdGFydAUDZW5kCQACAQIVUGVyaW9kIGlzIG5vdCBjb3JyZWN0AwkBASEBCQEWaXNDb3JyZWN0QXVjdGlvblByaWNlcwIFCnN0YXJ0UHJpY2UFCGVuZFByaWNlCQACAQIeU3RhcnQgcHJpY2UgbXVzdCBiZSA+IGVuZFByaWNlCQDMCAIJAQpzZXRBdWN0aW9uBggFAWkGY2FsbGVyBQVuZnRJZAUKc3RhcnRQcmljZQUIZW5kUHJpY2UFBXN0YXJ0BQNlbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUFbmZ0SWQFCXNlcGFyYXRvcgIJbmZ0X293bmVyCQClCAEIBQFpBmNhbGxlcgkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkA2AQBBQVuZnRJZAUJc2VwYXJhdG9yAghuZnRfdHlwZQUIbmZ0X3R5cGUJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUFbmZ0SWQFCXNlcGFyYXRvcgIIbmZ0X3RhZ3MFCG5mdF90YWdzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQDYBAEFBW5mdElkBQlzZXBhcmF0b3ICD25mdF9kQXBwQWRkcmVzcwUPbmZ0X2RBcHBBZGRyZXNzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkA2AQBBQVuZnRJZAUJc2VwYXJhdG9yAhFuZnRfc2VsbGluZ19wcmljZQURbmZ0X3NlbGxpbmdfcHJpY2UJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJANgEAQUFbmZ0SWQFCXNlcGFyYXRvcgIKbmZ0X29uU2VsbAUKbmZ0X29uU2VsbAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkA2AQBBQVuZnRJZAUJc2VwYXJhdG9yAghuZnRfZGF0YQUIbmZ0X2RhdGEFA25pbAFpAQtidXlGcm9tU2xvdAEFbmZ0SWQECyR0MDkyMjM5MzEyCQCUCgIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEDHBheW1lbnRBc3NldAgFCyR0MDkyMjM5MzEyAl8xBA1wYXltZW50QW1vdW50CAULJHQwOTIyMzkzMTICXzIEB2Fzc2V0SWQJANkEAQUFbmZ0SWQECyR0MDkzNTY5Mzk0CQEHZ2V0U2xvdAEFB2Fzc2V0SWQEBHR5cGUIBQskdDA5MzU2OTM5NAJfMQQHZGV0YWlscwgFCyR0MDkzNTY5Mzk0Al8yBAdiYXNlUmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdhc3NldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQpnZXRTbG90S2V5AgUEdHlwZQUHYXNzZXRJZAUDbmlsAwkAAAIFBHR5cGUFBWtTZWxsBAskdDA5NTM2OTU4MwkBC3BhcnNlQXNTZWxsAQUHZGV0YWlscwQGc2VsbGVyCAULJHQwOTUzNjk1ODMCXzEECnByaWNlVmFsdWUIBQskdDA5NTM2OTU4MwJfMgkBC3ZhbHVlT3JFbHNlAgkBEWlzQ29ycmVjdFBheW1lbnRzAwUMcGF5bWVudEFzc2V0BQ1wYXltZW50QW1vdW50BQpwcmljZVZhbHVlBAskdDA5NjY4OTc3MAkBEnJlc3VsdEZ1bmRzQW1vdW50cwMJAQxpc1RydXN0ZWROZnQBBQdhc3NldElkBQ1wYXltZW50QW1vdW50BQpwcmljZVZhbHVlBAxzZWxsZXJBbW91bnQIBQskdDA5NjY4OTc3MAJfMQQLYnV5ZXJBbW91bnQIBQskdDA5NjY4OTc3MAJfMgQKdXBkYXRlZFJlcwkAzggCBQdiYXNlUmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBnNlbGxlcgUMc2VsbGVyQW1vdW50BQR1bml0BQNuaWwDCQBmAgULYnV5ZXJBbW91bnQAAAkAzggCBQp1cGRhdGVkUmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULYnV5ZXJBbW91bnQFBHVuaXQFA25pbAUKdXBkYXRlZFJlcwQMJHQwOTk4NzEwMDU2CQEYY2FsY1ByaWNlQXRDdXJyZW50TW9tZW50AgUHYXNzZXRJZAUGaGVpZ2h0BAZzZWxsZXIIBQwkdDA5OTg3MTAwNTYCXzEEC2FjdHVhbFByaWNlCAUMJHQwOTk4NzEwMDU2Al8yCQELdmFsdWVPckVsc2UCCQERaXNDb3JyZWN0UGF5bWVudHMDBQxwYXltZW50QXNzZXQFDXBheW1lbnRBbW91bnQFC2FjdHVhbFByaWNlBA0kdDAxMDE0MjEwMjQ1CQEScmVzdWx0RnVuZHNBbW91bnRzAwkBDGlzVHJ1c3RlZE5mdAEFB2Fzc2V0SWQFDXBheW1lbnRBbW91bnQFC2FjdHVhbFByaWNlBAxzZWxsZXJBbW91bnQIBQ0kdDAxMDE0MjEwMjQ1Al8xBAtidXllckFtb3VudAgFDSR0MDEwMTQyMTAyNDUCXzIECnVwZGF0ZWRSZXMJAM4IAgUHYmFzZVJlcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQZzZWxsZXIFDHNlbGxlckFtb3VudAUEdW5pdAUDbmlsAwkAZgIFC2J1eWVyQW1vdW50AAAJAM4IAgUKdXBkYXRlZFJlcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC2J1eWVyQW1vdW50BQR1bml0BQNuaWwFCnVwZGF0ZWRSZXMBaQELZGVjbGluZVNsb3QBBW5mdElkBAdhc3NldElkCQDZBAEFBW5mdElkBA0kdDAxMDU0NjEwNTg0CQEHZ2V0U2xvdAEFB2Fzc2V0SWQEBHR5cGUIBQ0kdDAxMDU0NjEwNTg0Al8xBAdkZXRhaWxzCAUNJHQwMTA1NDYxMDU4NAJfMgQHYmFzZVJlcwkAzAgCCQELRGVsZXRlRW50cnkBCQEKZ2V0U2xvdEtleQIFBHR5cGUFB2Fzc2V0SWQFA25pbAMJAAACBQR0eXBlBQVrU2VsbAQNJHQwMTA2NzYxMDcyMwkBC3BhcnNlQXNTZWxsAQUHZGV0YWlscwQGc2VsbGVyCAUNJHQwMTA2NzYxMDcyMwJfMQQKcHJpY2VWYWx1ZQgFDSR0MDEwNjc2MTA3MjMCXzIDCQEBIQEJAQ1pc1ZhbGlkQ2FsbGVyAggFAWkGY2FsbGVyBQZzZWxsZXIJAAIBAg5JbnZhbGlkIGNhbGxlcgkAzggCBQdiYXNlUmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBnNlbGxlcgABBQdhc3NldElkBQNuaWwEDSR0MDEwODY4MTA5NzIJAQ5wYXJzZUFzQXVjdGlvbgEFB2RldGFpbHMEBnNlbGxlcggFDSR0MDEwODY4MTA5NzICXzEED3N0YXJ0UHJpY2VWYWx1ZQgFDSR0MDEwODY4MTA5NzICXzIEDWVuZFByaWNlVmFsdWUIBQ0kdDAxMDg2ODEwOTcyAl8zBBBzdGFydFBlcmlvZFZhbHVlCAUNJHQwMTA4NjgxMDk3MgJfNAQOZW5kUGVyaW9kVmFsdWUIBQ0kdDAxMDg2ODEwOTcyAl81AwkBASEBCQENaXNWYWxpZENhbGxlcgIIBQFpBmNhbGxlcgUGc2VsbGVyCQACAQIOSW52YWxpZCBjYWxsZXIDCQEBIQEJAQ5pc0F1Y3Rpb25FbmRlZAIFBmhlaWdodAUOZW5kUGVyaW9kVmFsdWUJAAIBAhdXYWl0IGZvciBlbmQgb2YgYXVjdGlvbgkAzggCBQdiYXNlUmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBnNlbGxlcgABBQdhc3NldElkBQNuaWwBaQEQc2V0VHJ1c3RlZElzc3VlcgELdHJ1c3RlZEFkZHIDCQEBIQEJAQdpc0FkbWluAQgFAWkGY2FsbGVyCQACAQIKT25seSBhZG1pbgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBDWdldFRydXN0ZWRLZXkBCQERQGV4dHJOYXRpdmUoMTA2MikBBQt0cnVzdGVkQWRkcgYFA25pbAFpARdnZXRQcmljZUF0Q3VycmVudE1vbWVudAIFbmZ0SWQGbW9tZW50BAdhc3NldElkCQDZBAEFBW5mdElkBA0kdDAxMTUxMzExNTc2CQEYY2FsY1ByaWNlQXRDdXJyZW50TW9tZW50AgUHYXNzZXRJZAUGbW9tZW50BAZzZWxsZXIIBQ0kdDAxMTUxMzExNTc2Al8xBAVwcmljZQgFDSR0MDExNTEzMTE1NzYCXzIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQtnZXRQcmljZUtleQEFB2Fzc2V0SWQFBXByaWNlBQNuaWwAAqtGvg==", "height": 2330787, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EuPRMVBcKcTupp99mvg7TLGpFhufnwv9MAT6PYdK1Rnq Next: 3aLiEufepWkoyptMSBoSfkSuPyhHsMzByBoghC7xB9Hf Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = "auction"
77
88 let c = "sell"
99
1010 let d = "trusted"
1111
1212 let e = "price"
1313
1414 func f (g,h) = ((g + a) + toBase58String(h))
1515
1616
1717 func i (h) = ((e + a) + toBase58String(h))
1818
1919
2020 func j (h) = ((c + a) + toBase58String(h))
2121
2222
2323 func k (h) = ((b + a) + toBase58String(h))
2424
2525
2626 func l (m) = ((d + a) + toString(m))
2727
2828
2929 func n (o,p) = (o ++ [p])
3030
3131
3232 func q (r) = {
3333 let s = size(r)
3434 if ((s == 0))
3535 then throw("Empty params")
3636 else if ((s == 1))
3737 then makeString({
3838 let t = r
3939 let u = size(t)
4040 let v = nil
4141 func w (x,y) = if ((y >= u))
4242 then x
4343 else n(x, t[y])
4444
4545 func z (x,y) = if ((y >= u))
4646 then x
4747 else throw("List size exceeds 1")
4848
4949 z(w(v, 0), 1)
5050 }, a)
5151 else if ((s == 2))
5252 then makeString({
5353 let t = r
5454 let u = size(t)
5555 let v = nil
5656 func w (x,y) = if ((y >= u))
5757 then x
5858 else n(x, t[y])
5959
6060 func z (x,y) = if ((y >= u))
6161 then x
6262 else throw("List size exceeds 2")
6363
6464 z(w(w(v, 0), 1), 2)
6565 }, a)
6666 else if ((s == 3))
6767 then makeString({
6868 let t = r
6969 let u = size(t)
7070 let v = nil
7171 func w (x,y) = if ((y >= u))
7272 then x
7373 else n(x, t[y])
7474
7575 func z (x,y) = if ((y >= u))
7676 then x
7777 else throw("List size exceeds 3")
7878
7979 z(w(w(w(v, 0), 1), 2), 3)
8080 }, a)
8181 else if ((s == 4))
8282 then makeString({
8383 let t = r
8484 let u = size(t)
8585 let v = nil
8686 func w (x,y) = if ((y >= u))
8787 then x
8888 else n(x, t[y])
8989
9090 func z (x,y) = if ((y >= u))
9191 then x
9292 else throw("List size exceeds 4")
9393
9494 z(w(w(w(w(v, 0), 1), 2), 3), 4)
9595 }, a)
9696 else if ((s == 5))
9797 then makeString({
9898 let t = r
9999 let u = size(t)
100100 let v = nil
101101 func w (x,y) = if ((y >= u))
102102 then x
103103 else n(x, t[y])
104104
105105 func z (x,y) = if ((y >= u))
106106 then x
107107 else throw("List size exceeds 5")
108108
109109 z(w(w(w(w(w(v, 0), 1), 2), 3), 4), 5)
110110 }, a)
111111 else throw("Max number of parameters exceeded")
112112 }
113113
114114
115115 func A (B) = {
116116 let C = split(B, a)
117117 $Tuple5(addressFromStringValue(C[0]), parseIntValue(C[1]), parseIntValue(C[2]), parseIntValue(C[3]), parseIntValue(C[4]))
118118 }
119119
120120
121121 func D (B) = {
122122 let C = split(B, a)
123123 $Tuple2(addressFromStringValue(C[0]), parseIntValue(C[1]))
124124 }
125125
126126
127127 func E (r) = {
128128 let F = r
129129 if ($isInstanceOf(F, "(Address, Int, Int, Int, Int)"))
130130 then {
131131 let G = F
132132 q([toString(G._1), toString(G._2), toString(G._3), toString(G._4), toString(G._5)])
133133 }
134134 else if ($isInstanceOf(F, "(Address, Int)"))
135135 then {
136136 let H = F
137137 q([toString(H._1), toString(H._2)])
138138 }
139139 else throw("Wrong params tupple")
140140 }
141141
142142
143143 func I (J,h,K,L,M,N) = StringEntry(k(h), E($Tuple5(J, K, L, M, N)))
144144
145145
146146 func O (h,P,Q) = StringEntry(j(h), E($Tuple2(P, Q)))
147147
148148
149149 func R (h) = value(getString(this, k(h)))
150150
151151
152152 func S (h) = value(getString(this, j(h)))
153153
154154
155155 func T (U,V) = {
156156 let B = R(U)
157157 let W = A(B)
158158 let J = W._1
159159 let X = W._2
160160 let Y = W._3
161161 let Z = W._4
162162 let aa = W._5
163163 if ((V >= aa))
164164 then $Tuple2(J, Y)
165165 else {
166166 let ab = (X - Y)
167167 let ac = (aa - Z)
168168 let ad = (V - Z)
169169 $Tuple2(J, (X - fraction(ad, ab, ac)))
170170 }
171171 }
172172
173173
174174 func ae (U) = {
175175 let F = assetInfo(U)
176176 if ($isInstanceOf(F, "Asset"))
177177 then {
178178 let af = F
179179 if (if ((af.decimals == 0))
180180 then (af.quantity == 1)
181181 else false)
182182 then (af.reissuable == false)
183183 else false
184184 }
185185 else false
186186 }
187187
188188
189189 func ag (U) = {
190190 let m = value(assetInfo(U)).issuer
191191 valueOrElse(getBoolean(this, l(m)), false)
192192 }
193193
194194
195195 func ah (U) = isDefined(getString(this, j(U)))
196196
197197
198198 func ai (U) = isDefined(getString(this, k(U)))
199199
200200
201201 func aj (Q) = (Q > 0)
202202
203203
204204 func ak (M,N) = (N > M)
205205
206206
207207 func al (K,L) = (K > L)
208208
209209
210210 func am (an) = (an == this)
211211
212212
213213 func ao (an,J) = if ((an == this))
214214 then true
215215 else (an == J)
216216
217217
218218 func ap (aq,N) = (aq > N)
219219
220220
221221 func ar (as,at) = (as >= at)
222222
223223
224224 func au (U) = (U == unit)
225225
226226
227227 func av (h) = if (!(ae(h)))
228228 then throw("Token is not Nft")
229229 else if (ah(h))
230230 then throw("Sell already exists")
231231 else if (ai(h))
232232 then throw("Auction already exists")
233233 else unit
234234
235235
236236 func aw (ax,ay,Q) = if (!(au(ax)))
237237 then throw("Payment must be at WAVES")
238238 else if (!(ar(ay, Q)))
239239 then throw("Not enough funds")
240240 else unit
241241
242242
243243 func az () = 0
244244
245245
246246 func aA () = 0
247247
248248
249249 func aB (aC,ay,aD) = if (aC)
250250 then $Tuple2((aD - aA()), (ay - aD))
251251 else $Tuple2((aD - az()), (ay - aD))
252252
253253
254254 func aE (h) = if (ah(h))
255255 then $Tuple2(c, S(h))
256256 else if (ai(h))
257257 then $Tuple2(b, R(h))
258258 else throw("Slot doesn`t exist")
259259
260260
261261 let aF = "buy"
262262
263263 @Callable(aG)
264264 func createNft (aH,aI,aJ,aK,aL,aM,aN,aO,aP) = {
265265 let aQ = Issue(aH, aN, 1, 0, false)
266266 let aR = calculateAssetId(aQ)
267267 [aQ, ScriptTransfer(aG.caller, 1, aR), StringEntry(((toBase58String(aR) + a) + "Owner"), toString(aG.caller)), StringEntry(((toBase58String(aR) + a) + "nft_type"), aK), StringEntry(((toBase58String(aR) + a) + "nft_tags"), aL), StringEntry(((toBase58String(aR) + a) + "nft_dAppAddress"), aJ), IntegerEntry(((toBase58String(aR) + a) + "nft_selling_price"), aM), StringEntry(((toBase58String(aR) + a) + "nft_onSell"), aO), StringEntry(((toBase58String(aR) + a) + "nft_data"), aP)]
268268 }
269269
270270
271271
272272 @Callable(aG)
273273 func issueNft (aS,aT) = {
274274 let aQ = Issue(aS, aT, 1, 0, false)
275275 let aR = calculateAssetId(aQ)
276276 [aQ, ScriptTransfer(aG.caller, 1, aR), StringEntry(((toBase58String(aR) + a) + "Owner"), toString(aG.caller))]
277277 }
278278
279279
280280
281281 @Callable(aG)
282282 func buyNFT (aU) = {
283283 let U = fromBase58String(aU)
284284 let aV = value(aG.payments[0].amount)
285285 let Q = valueOrErrorMessage(getString(((e + a) + aU)), "There is no price for this NFT")
286286 let aW = valueOrErrorMessage(getStringValue(((aU + a) + "Owner")), "No owner")
287287 if ((aG.payments[0].assetId != unit))
288288 then throw("Pay in waves")
289289 else if ((parseIntValue(Q) > aV))
290290 then throw("Invalid payment")
291291 else [ScriptTransfer(aG.caller, 1, U), ScriptTransfer(value(addressFromString(aW)), parseIntValue(Q), unit), StringEntry(((toString(aG.caller) + a) + aF), ((aU + a) + toString(aV)))]
292292 }
293293
294294
295295
296296 @Callable(aG)
297297 func sellNFT (Q) = {
298298 let aX = $Tuple2(value(aG.payments[0].assetId), value(aG.payments[0].amount))
299299 let aY = aX._1
300300 let aZ = aX._2
301301 if (!(ae(aY)))
302302 then throw("Token is not NFT")
303303 else [StringEntry(((e + a) + toBase58String(value(aG.payments[0].assetId))), toString(Q)), StringEntry(((toString(aG.caller) + a) + c), ((toBase58String(aY) + a) + toString(aZ)))]
304304 }
305305
306306
307307
308308 @Callable(aG)
309309 func addSell (Q) = {
310310 let h = value(aG.payments[0].assetId)
311311 valueOrElse(av(h), if (!(aj(Q)))
312312 then throw("Price must be > 0")
313313 else [O(h, aG.caller, Q)])
314314 }
315315
316316
317317
318318 @Callable(aG)
319319 func addAuction (K,L,M,N,aH,aI,aJ,aK,aL,aM,aN,aO,aP) = {
320320 let h = value(aG.payments[0].assetId)
321321 valueOrElse(av(h), if (!(ak(M, N)))
322322 then throw("Period is not correct")
323323 else if (!(al(K, L)))
324324 then throw("Start price must be > endPrice")
325325 else [I(aG.caller, h, K, L, M, N), StringEntry(((toBase58String(h) + a) + "nft_owner"), toString(aG.caller)), StringEntry(((toBase58String(h) + a) + "nft_type"), aK), StringEntry(((toBase58String(h) + a) + "nft_tags"), aL), StringEntry(((toBase58String(h) + a) + "nft_dAppAddress"), aJ), IntegerEntry(((toBase58String(h) + a) + "nft_selling_price"), aM), StringEntry(((toBase58String(h) + a) + "nft_onSell"), aO), StringEntry(((toBase58String(h) + a) + "nft_data"), aP)])
326326 }
327327
328328
329329
330330 @Callable(aG)
331331 func buyFromSlot (h) = {
332332 let ba = $Tuple2(aG.payments[0].assetId, value(aG.payments[0].amount))
333333 let ax = ba._1
334334 let ay = ba._2
335335 let U = fromBase58String(h)
336336 let bb = aE(U)
337337 let bc = bb._1
338338 let B = bb._2
339339 let bd = [ScriptTransfer(aG.caller, 1, U), DeleteEntry(f(bc, U))]
340340 if ((bc == c))
341341 then {
342342 let be = D(B)
343343 let J = be._1
344344 let bf = be._2
345345 valueOrElse(aw(ax, ay, bf), {
346346 let bg = aB(ag(U), ay, bf)
347347 let bh = bg._1
348348 let bi = bg._2
349349 let bj = (bd ++ [ScriptTransfer(J, bh, unit)])
350350 if ((bi > 0))
351351 then (bj ++ [ScriptTransfer(aG.caller, bi, unit)])
352352 else bj
353353 })
354354 }
355355 else {
356356 let bk = T(U, height)
357357 let J = bk._1
358358 let aD = bk._2
359359 valueOrElse(aw(ax, ay, aD), {
360360 let bl = aB(ag(U), ay, aD)
361361 let bh = bl._1
362362 let bi = bl._2
363363 let bj = (bd ++ [ScriptTransfer(J, bh, unit)])
364364 if ((bi > 0))
365365 then (bj ++ [ScriptTransfer(aG.caller, bi, unit)])
366366 else bj
367367 })
368368 }
369369 }
370370
371371
372372
373373 @Callable(aG)
374374 func declineSlot (h) = {
375375 let U = fromBase58String(h)
376376 let bm = aE(U)
377377 let bc = bm._1
378378 let B = bm._2
379379 let bd = [DeleteEntry(f(bc, U))]
380380 if ((bc == c))
381381 then {
382382 let bn = D(B)
383383 let J = bn._1
384384 let bf = bn._2
385385 if (!(ao(aG.caller, J)))
386386 then throw("Invalid caller")
387387 else (bd ++ [ScriptTransfer(J, 1, U)])
388388 }
389389 else {
390390 let bo = A(B)
391391 let J = bo._1
392392 let X = bo._2
393393 let Y = bo._3
394394 let Z = bo._4
395395 let aa = bo._5
396396 if (!(ao(aG.caller, J)))
397397 then throw("Invalid caller")
398398 else if (!(ap(height, aa)))
399399 then throw("Wait for end of auction")
400400 else (bd ++ [ScriptTransfer(J, 1, U)])
401401 }
402402 }
403403
404404
405405
406406 @Callable(aG)
407407 func setTrustedIssuer (bp) = if (!(am(aG.caller)))
408408 then throw("Only admin")
409409 else [BooleanEntry(l(addressFromStringValue(bp)), true)]
410410
411411
412412
413413 @Callable(aG)
414414 func getPriceAtCurrentMoment (h,V) = {
415415 let U = fromBase58String(h)
416416 let bq = T(U, V)
417417 let J = bq._1
418418 let Q = bq._2
419419 [IntegerEntry(i(U), Q)]
420420 }
421421
422422

github/deemru/w8io/c3f4982 
41.39 ms