tx · A8B57kduXxcy65FYj5nPgUvH9gYM88G5YWXPMBopXGY5 3MpABcPJLQiG9Yxzk3ZV8e2nEbRe1gZHbZe: -0.02000000 Waves 2020.06.16 19:21 [1046298] smart account 3MpABcPJLQiG9Yxzk3ZV8e2nEbRe1gZHbZe > SELF 0.00000000 Waves
{ "type": 13, "id": "A8B57kduXxcy65FYj5nPgUvH9gYM88G5YWXPMBopXGY5", "fee": 2000000, "feeAssetId": null, "timestamp": 1592324556540, "version": 1, "sender": "3MpABcPJLQiG9Yxzk3ZV8e2nEbRe1gZHbZe", "senderPublicKey": "AixLFScfYY3rkC6MkFBBW8xXM1a6q3i79CUrcgykP4V3", "proofs": [ "2tHqT3HJdsBViYcByXA7jedvrpiFhwWFKxAzDYuD4baQHppdpGUnovzu3VU2M9ANYk7xMe68N143VsauMn4MUTFc", "2XocvCPJLU4irudvgR5iEsKqzaqCP4u9iZhMVaCq1qU3eD79KLvTxEJop6RwUeP5Axyjbi5Zgy85FYWVuWFZe493", "2dfpfgi7PiAtWVmYsNiipAoPEEYcF4PeZSnNSqSBiQAW4nbcK8rpUxVZBbpMHLgKyrB4aHssrvftzAEZpZXZhmV3" ], "script": "base64:AAIDAAAAAAAAABYIARIDCgEBEgQKAgEIEgMKAQgSABIAAAAAOQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAAAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBsAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEHAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAABAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAABVBBVUxJAAAAAAAAD0JAAAAAAA1NSU5PUkRFUlRPVEFMCQAAaAAAAAIAAAAAAAAAAAoFAAAAB1dBVkVMRVQAAAAABk1BWFJPSQAAAAAAAAAAXwAAAAAIQ0FOQ0VMRUQCAAAACGNhbmNlbGVkAAAAAANORVcCAAAAA25ldwAAAAAGRklMTEVEAgAAAAZmaWxsZWQAAAAAE05ldXRyaW5vQ29udHJhY3RLZXkCAAAAEW5ldXRyaW5vX2NvbnRyYWN0AAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAADkJvbmRBc3NldElkS2V5AgAAAA1ib25kX2Fzc2V0X2lkAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAABJDb250cm9sQ29udHJhY3RLZXkCAAAAEGNvbnRyb2xfY29udHJhY3QAAAAAEUJhbGFuY2VMb2NrZWRrS2V5AgAAAA1iYWxhbmNlX2xvY2tfAAAAABVXYXZlc0xvY2tlZEJhbGFuY2VLZXkJAAEsAAAAAgUAAAARQmFsYW5jZUxvY2tlZGtLZXkCAAAABXdhdmVzAAAAABhOZXV0cmlub0xvY2tlZEJhbGFuY2VLZXkJAAEsAAAAAgUAAAARQmFsYW5jZUxvY2tlZGtLZXkCAAAACG5ldXRyaW5vAAAAABZMaXF1aWRhdGlvbkNvbnRyYWN0S2V5AgAAABRsaXF1aWRhdGlvbl9jb250cmFjdAAAAAANRmlyc3RPcmRlcktleQIAAAALb3JkZXJfZmlyc3QBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAABBkZWJ1Z19vcmRlcl9yb2lfBQAAAAdvcmRlcklkAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAADG9yZGVyX3ByaWNlXwUAAAAHb3JkZXJJZAEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAxvcmRlcl90b3RhbF8FAAAAB29yZGVySWQBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABAAAAB29yZGVySWQJAAEsAAAAAgIAAAAMb3JkZXJfb3duZXJfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlckhlaWdodEtleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9oZWlnaHRfBQAAAAdvcmRlcklkAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAA1vcmRlcl9zdGF0dXNfBQAAAAdvcmRlcklkAQAAABZnZXRPcmRlckZpbGxlZFRvdGFsS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAE29yZGVyX2ZpbGxlZF90b3RhbF8FAAAAB29yZGVySWQBAAAAD2dldFByZXZPcmRlcktleQAAAAEAAAAHb3JkZXJJZAkAASwAAAACAgAAAAtvcmRlcl9wcmV2XwUAAAAHb3JkZXJJZAEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQAAAAdvcmRlcklkCQABLAAAAAICAAAAC29yZGVyX25leHRfBQAAAAdvcmRlcklkAQAAABZjb252ZXJ0TmV1dHJpbm9Ub1dhdmVzAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQAAAAAAAAAAGQFAAAABXByaWNlBQAAAAdXQVZFTEVUBQAAAAVQQVVMSQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50BQAAAAVwcmljZQAAAAAAAAAAZAUAAAAFUEFVTEkFAAAAB1dBVkVMRVQBAAAAEmNvbnZlcnRXYXZlc1RvQm9uZAAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UBAAAAEmNvbnZlcnRCb25kVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UAAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVRd6WgnuKiTD3MvecPQSqmMoFYH4YxA2UwAAAAAD2NvbnRyb2xDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHd8mw1x96/NH/LB3/xPiuie+mNXAtxD+AAAAAATbGlxdWlkYXRpb25Db250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVH5rmjazLNShujK2rL9hgVnGxXROJ9RIkgAAAAAPbmV1dHJpbm9Bc3NldElkAQAAACDFV34hsakKgqH6Rs6hDFMTPGwGAdO1UWh8YxHIFkjp3wAAAAALYm9uZEFzc2V0SWQBAAAAIHb4XnbUP1bzlE4BgaOenn6BgBTQ/WsLMlDY68c8F5hNAAAAAAlpc0Jsb2NrZWQJAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0AgAAAAppc19ibG9ja2VkAAAAAAxjdXJyZW50UHJpY2UJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QFAAAACFByaWNlS2V5AAAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABhOZXV0cmlub0xvY2tlZEJhbGFuY2VLZXkAAAAAB3Jlc2VydmUJAABlAAAAAgkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABVXYXZlc0xvY2tlZEJhbGFuY2VLZXkAAAAADm5ldXRyaW5vU3VwcGx5CQAAZQAAAAIJAABlAAAAAgkAAGQAAAACBQAAABVuZXV0cmlub0xvY2tlZEJhbGFuY2UICQEAAAAHZXh0cmFjdAAAAAEJAAPsAAAAAQUAAAAPbmV1dHJpbm9Bc3NldElkAAAACHF1YW50aXR5CQAD6wAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAkAA+sAAAACBQAAABNsaXF1aWRhdGlvbkNvbnRyYWN0BQAAAA9uZXV0cmlub0Fzc2V0SWQAAAAAB2RlZmljaXQJAABlAAAAAgUAAAAObmV1dHJpbm9TdXBwbHkJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAHcmVzZXJ2ZQUAAAAMY3VycmVudFByaWNlAAAAAApmaXJzdE9yZGVyCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAAA1GaXJzdE9yZGVyS2V5AQAAAA1nZXRPcmRlclByaWNlAAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAJpZAEAAAANZ2V0T3JkZXJUb3RhbAAAAAEAAAACaWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABBnZXRPcmRlclRvdGFsS2V5AAAAAQUAAAACaWQBAAAADWdldE9yZGVyT3duZXIAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAQZ2V0T3JkZXJPd25lcktleQAAAAEFAAAAAmlkAQAAAA5nZXRPcmRlclN0YXR1cwAAAAEAAAACaWQJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEJAQAAABFnZXRPcmRlclN0YXR1c0tleQAAAAEFAAAAAmlkAQAAABNnZXRPcmRlckZpbGxlZFRvdGFsAAAAAQAAAAJpZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFmdldE9yZGVyRmlsbGVkVG90YWxLZXkAAAABBQAAAAJpZAEAAAAMZ2V0UHJldk9yZGVyAAAAAQAAAAJpZAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAAAmlkAQAAAAxnZXROZXh0T3JkZXIAAAABAAAAAmlkCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAACaWQBAAAACW9yZGVyRGF0YQAAAAYAAAAHb3JkZXJJZAAAAA10b3RhbFdhdmVsZXRzAAAABW93bmVyAAAABnN0YXR1cwAAAANyb2kAAAAFcHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRPcmRlclByaWNlS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAFcHJpY2UJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABBnZXRPcmRlclRvdGFsS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAANdG90YWxXYXZlbGV0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyT3duZXJLZXkAAAABBQAAAAdvcmRlcklkBQAAAAVvd25lcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAARZ2V0T3JkZXJTdGF0dXNLZXkAAAABBQAAAAdvcmRlcklkBQAAAAZzdGF0dXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAZZGVidWdfb3JkZXJfY3VycmVudFByaWNlXwUAAAAHb3JkZXJJZAUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAADcm9pBQAAAANuaWwBAAAAEGludGVybmFsU2VsbEJvbmQAAAAIAAAAC3BGaXJzdE9yZGVyAAAACnBOZXh0T3JkZXIAAAAMcEZpbGxlZFRvdGFsAAAABHBSb2kAAAAGcFByaWNlAAAAEHBQYXltZW50V2F2ZWxldHMAAAARb3JkZXJPd25lckFkZHJlc3MAAAAMaW5zdGFudE9yZGVyBAAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMJAABrAAAAAwkAAGQAAAACAAAAAAAAAABkBQAAAARwUm9pBQAAAAxjdXJyZW50UHJpY2UAAAAAAAAAAGQEAAAADXJlbWFpbmVkVG90YWwJAABlAAAAAgUAAAAQcFBheW1lbnRXYXZlbGV0cwUAAAAMcEZpbGxlZFRvdGFsBAAAABNmaWxsYWJsZU9yZGVyQW1vdW50CQEAAAASY29udmVydFdhdmVzVG9Cb25kAAAAAgUAAAANcmVtYWluZWRUb3RhbAUAAAAVcHJpY2VXYXZlc0J5Qm9uZENlbnRzBAAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQJAQAAABJjb252ZXJ0Qm9uZFRvV2F2ZXMAAAACBQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAABVwcmljZVdhdmVzQnlCb25kQ2VudHMEAAAAFW5iVG9rZW5zU2VsbENvbmRpdGlvbgkAAGcAAAACCQAAawAAAAMFAAAAB2RlZmljaXQAAAAAAAAAAGQFAAAADm5ldXRyaW5vU3VwcGx5BQAAAARwUm9pAwkBAAAAASEAAAABBQAAABVuYlRva2Vuc1NlbGxDb25kaXRpb24JAAACAAAAAQkAASwAAAACAgAAABNpbm5hcHJvcHJpYXRlIHJvaTogCQABpAAAAAEFAAAABHBSb2kDCQAAAAAAAAIFAAAAG3RvdGFsT3JkZXJXYXZlbGV0ZXNSZXF1aXJlZAAAAAAAAAAAAAkAAAIAAAABAgAAAB9jYW5ub3QgZmlsbCBvcmRlciBhdCB0aGUgbW9tZW50BAAAAA5jaGFuZ2VXYXZlbGV0cwkAAGUAAAACBQAAAA1yZW1haW5lZFRvdGFsBQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQEAAAADHdyaXRlU2V0RGF0YQMFAAAADGluc3RhbnRPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyUHJpY2VLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgUAAAAGcFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJUb3RhbEtleQAAAAEFAAAAC3BGaXJzdE9yZGVyBQAAABBwUGF5bWVudFdhdmVsZXRzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQZ2V0T3JkZXJPd25lcktleQAAAAEFAAAAC3BGaXJzdE9yZGVyCQACWAAAAAEIBQAAABFvcmRlck93bmVyQWRkcmVzcwAAAAVieXRlcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVySGVpZ2h0S2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABmhlaWdodAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABkZJTExFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACAgAAABlkZWJ1Z19vcmRlcl9jdXJyZW50UHJpY2VfBQAAAAtwRmlyc3RPcmRlcgUAAAAMY3VycmVudFByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0Um9pQnlPcmRlcklkS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABHBSb2kFAAAAA25pbAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAFmdldE9yZGVyRmlsbGVkVG90YWxLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgkAAGQAAAACBQAAAAxwRmlsbGVkVG90YWwFAAAAG3RvdGFsT3JkZXJXYXZlbGV0ZXNSZXF1aXJlZAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAALcEZpcnN0T3JkZXIFAAAABkZJTExFRAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGdldE9yZGVyVG90YWxLZXkAAAABBQAAAAtwRmlyc3RPcmRlcgUAAAAQcFBheW1lbnRXYXZlbGV0cwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldFByZXZPcmRlcktleQAAAAEFAAAACnBOZXh0T3JkZXICAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANRmlyc3RPcmRlcktleQUAAAAKcE5leHRPcmRlcgUAAAADbmlsCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQUAAAAMd3JpdGVTZXREYXRhCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEW9yZGVyT3duZXJBZGRyZXNzBQAAABNmaWxsYWJsZU9yZGVyQW1vdW50BQAAAAtib25kQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABt0b3RhbE9yZGVyV2F2ZWxldGVzUmVxdWlyZWQFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARb3JkZXJPd25lckFkZHJlc3MFAAAADmNoYW5nZVdhdmVsZXRzBQAAAAR1bml0BQAAAANuaWwBAAAAF2ludGVybmFsQWRkQnV5Qm9uZE9yZGVyAAAABQAAAANyb2kAAAAFcHJpY2UAAAAJcHJldk9yZGVyAAAAA2ludgAAAAxpbnN0YW50T3JkZXIEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAADaW52AAAAB3BheW1lbnQEAAAACm5ld09yZGVySWQJAAJYAAAAAQgFAAAAA2ludgAAAA10cmFuc2FjdGlvbklkAwUAAAAJaXNCbG9ja2VkCQAAAgAAAAECAAAAWWNvbnRyYWN0IGlzIGJsb2NrZWQgYnkgRU1FUkdFTkNZIFNIVVRET1dOIGFjdGlvbnMgdW50aWwgcmVhY3RpdmF0aW9uIGJ5IGVtZXJnZW5jeSBvcmFjbGVzAwkAAGYAAAACBQAAAA1NSU5PUkRFUlRPVEFMCAUAAAADcG10AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAICAAAAF21pbiBvcmRlciB0b3RhbCBlcXVhbHMgCQABpAAAAAEFAAAADU1JTk9SREVSVE9UQUwDCQAAZgAAAAIFAAAAA3JvaQUAAAAGTUFYUk9JCQAAAgAAAAECAAAAF21heCBzZXRPcmRlciBST0kgaXMgOTUlAwMJAABmAAAAAgUAAAAHZGVmaWNpdAAAAAAAAAAAAAkAAGYAAAACAAAAAAAAAAAABQAAAANyb2kHCQAAAgAAAAECAAAAMmNhbid0IHBsYWNlIG9yZGVyIHdpdGggbmVnYXRpdmUgcm9pIGR1cmluZyBkZWZpY2l0AwkAAGYAAAACCQEAAAABLQAAAAEFAAAABk1BWFJPSQUAAAADcm9pCQAAAgAAAAECAAAAGG1pbiBzZXRPcmRlciBST0kgaXMgLTk1JQMJAAAAAAAAAgUAAAADcm9pAAAAAAAAAAAACQAAAgAAAAECAAAAHHJvaSBzaG91bGQgbm90IGJlIGVxdWFsIHRvIDADCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAgAAAAECAAAAEmNhbiB1c2Ugd2F2ZXMgb25seQMJAQAAAAIhPQAAAAIJAQAAAA1nZXRPcmRlck93bmVyAAAAAQUAAAAKbmV3T3JkZXJJZAIAAAAACQAAAgAAAAECAAAADG9yZGVyIGV4aXN0cwMDCQEAAAACIT0AAAACBQAAAAlwcmV2T3JkZXICAAAAAAkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAJcHJldk9yZGVyBQAAAANORVcHCQAAAgAAAAECAAAAHHByZXYgb3JkZXIgc3RhdHVzIGlzIG5vdCBuZXcEAAAAGWlzTmV3T3JkZXJBdEZpcnN0UG9zaXRpb24JAAAAAAAAAgUAAAAJcHJldk9yZGVyAgAAAAAEAAAABW93bmVyCQAEJQAAAAEIBQAAAANpbnYAAAAGY2FsbGVyBAAAAAluZXh0T3JkZXIDBQAAABlpc05ld09yZGVyQXRGaXJzdFBvc2l0aW9uBQAAAApmaXJzdE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAJcHJldk9yZGVyBAAAAAxuZXh0T3JkZXJSb2kJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAAluZXh0T3JkZXIEAAAAEGlzTmV4dE9yZGVyRXJyb3IDAwkBAAAAAiE9AAAAAgUAAAAJbmV4dE9yZGVyAgAAAAAJAABnAAAAAgUAAAADcm9pBQAAAAxuZXh0T3JkZXJSb2kHBgcEAAAADHByZXZPcmRlclJvaQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEmdldFJvaUJ5T3JkZXJJZEtleQAAAAEFAAAACXByZXZPcmRlcgQAAAAQaXNQcmV2T3JkZXJFcnJvcgMDCQEAAAACIT0AAAACBQAAAAlwcmV2T3JkZXICAAAAAAkAAGYAAAACBQAAAAxwcmV2T3JkZXJSb2kFAAAAA3JvaQcGBwMDBQAAABBpc05leHRPcmRlckVycm9yBgUAAAAQaXNQcmV2T3JkZXJFcnJvcgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAB9pbnZhbGlkIG9yZGVyIGlzUHJldk9yZGVyRXJyb3I6CQABpQAAAAEFAAAAEGlzUHJldk9yZGVyRXJyb3ICAAAAEiBpc05leHRPcmRlckVycm9yOgkAAaUAAAABBQAAABBpc05leHRPcmRlckVycm9yAwMFAAAAGWlzTmV3T3JkZXJBdEZpcnN0UG9zaXRpb24FAAAADGluc3RhbnRPcmRlcgcJAQAAABBpbnRlcm5hbFNlbGxC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AAEFAAAAB29yZGVySWQDBQAAAAlpc0Jsb2NrZWQJAAACAAAAAQIAAABZY29udHJhY3QgaXMgYmxvY2tlZCBieSBFTUVSR0VOQ1kgU0hVVERPV04gYWN0aW9ucyB1bnRpbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQEAAAACIT0AAAACBQAAAAVvd25lcgUAAAAGY2FsbGVyCQAAAgAAAAECAAAAEXBlcm1pc3Npb24gZGVuaWVkAwkBAAAAAiE9AAAAAgkBAAAADmdldE9yZGVyU3RhdHVzAAAAAQUAAAAHb3JkZXJJZAUAAAADTkVXCQAAAgAAAAECAAAAFGludmFsaWQgb3JkZXIgc3RhdHVzCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAANRmlyc3RPcmRlcktleQMJAAAAAAAAAgUAAAAKZmlyc3RPcmRlcgUAAAAHb3JkZXJJZAUAAAAJbmV4dE9yZGVyBQAAAApmaXJzdE9yZGVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAPZ2V0TmV4dE9yZGVyS2V5AAAAAQUAAAAJcHJldk9yZGVyBQAAAAluZXh0T3JkZXIJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRQcmV2T3JkZXJLZXkAAAABBQAAAAluZXh0T3JkZXIFAAAACXByZXZPcmRlcgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEWdldE9yZGVyU3RhdHVzS2V5AAAAAQUAAAAHb3JkZXJJZAUAAAAIQ0FOQ0VMRUQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAACHNlbGxCb25kAAAAAAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFljb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsIHJlYWN0aXZhdGlvbiBieSBlbWVyZ2VuY3kgb3JhY2xlcwMJAAAAAAAAAgUAAAAKZmlyc3RPcmRlcgIAAAAACQAAAgAAAAECAAAAD2VtcHR5IG9yZGVyYm9vawQAAAAJbmV4dE9yZGVyCQEAAAAMZ2V0TmV4dE9yZGVyAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAALZmlsbGVkVG90YWwJAQAAABNnZXRPcmRlckZpbGxlZFRvdGFsAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAAKb3JkZXJQcmljZQkBAAAADWdldE9yZGVyUHJpY2UAAAABBQAAAApmaXJzdE9yZGVyBAAAAANyb2kJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABJnZXRSb2lCeU9yZGVySWRLZXkAAAABBQAAAApmaXJzdE9yZGVyBAAAAA9wYXltZW50V2F2ZWxldHMJAQAAAA1nZXRPcmRlclRvdGFsAAAAAQUAAAAKZmlyc3RPcmRlcgQAAAARb3JkZXJPd25lckFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAANZ2V0T3JkZXJPd25lcgAAAAEFAAAACmZpcnN0T3JkZXIJAQAAABBpbnRlcm5hbFNlbGxCb25kAAAACAUAAAAKZmlyc3RPcmRlcgUAAAAJbmV4dE9yZGVyBQAAAAtmaWxsZWRUb3RhbAUAAAADcm9pBQAAAApvcmRlclByaWNlBQAAAA9wYXltZW50V2F2ZWxldHMFAAAAEW9yZGVyT3duZXJBZGRyZXNzBwAAAAFpAQAAAB91cGRhdGVSZXNlcnZlc0FuZE5ldXRyaW5vU3VwcGx5AAAAAAoBAAAAFmdldE51bWJlckJ5S2V5SW50ZXJuYWwAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAADaWR4CQEAAAAWZ2V0TnVtYmVyQnlLZXlJbnRlcm5hbAAAAAECAAAAInVwZGF0ZVJlc2VydmVzQW5kTmV1dHJpbm9TdXBwbHlJZHgEAAAABm5ld0lkeAkAAGQAAAACBQAAAANpZHgAAAAAAAAAAAEJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAInVwZGF0ZVJlc2VydmVzQW5kTmV1dHJpbm9TdXBwbHlJZHgFAAAABm5ld0lkeAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHcmVzZXJ2ZQUAAAAHcmVzZXJ2ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAObmV1dHJpbm9TdXBwbHkFAAAADm5ldXRyaW5vU3VwcGx5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAdkZWZpY2l0BQAAAAdkZWZpY2l0BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAABBwdWJLZXlBZG1pbnNMaXN0CQAETAAAAAICAAAALEQ5NlQ1VW9MN0UyRkVSYUV3b3Y5RnJ4OFhGVlBOR3FaNFR5RGlXdm4xdXJKCQAETAAAAAICAAAALEZrMnpnYnJSQThLeXRUVk1WeTZEZjVpNHRURXNLYXFnNnliaDZ4NkhlaGpqCQAETAAAAAICAAAALDM3ZjF5RTU0RnlNS3dFa2c0MTNwZXE1R2J6ZTlzQmF2QVNWZVRZYlFMVHZKCQAETAAAAAICAAAALDVXUlhGU2p3Y1RiTmZLY0pzOFpxWG1TU1dZc1NWSlV0TXZNcVpqNWhINE5jBQAAAANuaWwEAAAABWNvdW50CQAAZAAAAAIJAABkAAAAAgkAAGQAAAACAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAACAAAAAAAAAAABAAAAAAAAAAAAAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAMJAAJZAAAAAQkAAZEAAAACBQAAABBwdWJLZXlBZG1pbnNMaXN0AAAAAAAAAAADAAAAAAAAAAACAAAAAAAAAAAACQAAZwAAAAIFAAAABWNvdW50AAAAAAAAAAADYUxMwg==", "chainId": 84, "height": 1046298, "spentComplexity": 0 } View: original | compacted Prev: CZb67Fu4ggXPe11dM6ASLZpWn2y6kssQacF7NnDKixMa Next: 6i85PSkkiV176ba2hSiiK5mpvnGdB1MqEGgnBLMTZgKo Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func a (b) = { | |
5 | 5 | let c = getInteger(this, b) | |
6 | 6 | if ($isInstanceOf(c, "Int")) | |
7 | 7 | then { | |
8 | 8 | let d = c | |
9 | 9 | d | |
10 | 10 | } | |
11 | 11 | else 0 | |
12 | 12 | } | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | func e (b) = { | |
16 | 16 | let c = getString(this, b) | |
17 | 17 | if ($isInstanceOf(c, "String")) | |
18 | 18 | then { | |
19 | 19 | let d = c | |
20 | 20 | d | |
21 | 21 | } | |
22 | 22 | else "" | |
23 | 23 | } | |
24 | 24 | ||
25 | 25 | ||
26 | 26 | func f (g,b) = { | |
27 | 27 | let c = getBoolean(g, b) | |
28 | 28 | if ($isInstanceOf(c, "Boolean")) | |
29 | 29 | then { | |
30 | 30 | let d = c | |
31 | 31 | d | |
32 | 32 | } | |
33 | 33 | else false | |
34 | 34 | } | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | func h (g,b) = { | |
38 | 38 | let c = getString(g, b) | |
39 | 39 | if ($isInstanceOf(c, "String")) | |
40 | 40 | then { | |
41 | 41 | let d = c | |
42 | 42 | d | |
43 | 43 | } | |
44 | 44 | else "" | |
45 | 45 | } | |
46 | 46 | ||
47 | 47 | ||
48 | 48 | func i (g,b) = { | |
49 | 49 | let c = getInteger(g, b) | |
50 | 50 | if ($isInstanceOf(c, "Int")) | |
51 | 51 | then { | |
52 | 52 | let d = c | |
53 | 53 | d | |
54 | 54 | } | |
55 | 55 | else 0 | |
56 | 56 | } | |
57 | 57 | ||
58 | 58 | ||
59 | 59 | let j = 100000000 | |
60 | 60 | ||
61 | 61 | let k = 1000000 | |
62 | 62 | ||
63 | 63 | let l = (10 * j) | |
64 | 64 | ||
65 | 65 | let m = 95 | |
66 | 66 | ||
67 | 67 | let n = "canceled" | |
68 | 68 | ||
69 | 69 | let o = "new" | |
70 | 70 | ||
71 | 71 | let p = "filled" | |
72 | 72 | ||
73 | 73 | let q = "neutrino_contract" | |
74 | 74 | ||
75 | 75 | let r = "price" | |
76 | 76 | ||
77 | 77 | let s = "bond_asset_id" | |
78 | 78 | ||
79 | 79 | let t = "neutrino_asset_id" | |
80 | 80 | ||
81 | 81 | let u = "control_contract" | |
82 | 82 | ||
83 | 83 | let v = "balance_lock_" | |
84 | 84 | ||
85 | 85 | let w = (v + "waves") | |
86 | 86 | ||
87 | 87 | let x = (v + "neutrino") | |
88 | 88 | ||
89 | 89 | let y = "liquidation_contract" | |
90 | 90 | ||
91 | 91 | let z = "order_first" | |
92 | 92 | ||
93 | 93 | func A (B) = ("debug_order_roi_" + B) | |
94 | 94 | ||
95 | 95 | ||
96 | 96 | func C (B) = ("order_price_" + B) | |
97 | 97 | ||
98 | 98 | ||
99 | 99 | func D (B) = ("order_total_" + B) | |
100 | 100 | ||
101 | 101 | ||
102 | 102 | func E (B) = ("order_owner_" + B) | |
103 | 103 | ||
104 | 104 | ||
105 | 105 | func F (B) = ("order_height_" + B) | |
106 | 106 | ||
107 | 107 | ||
108 | 108 | func G (B) = ("order_status_" + B) | |
109 | 109 | ||
110 | 110 | ||
111 | 111 | func H (B) = ("order_filled_total_" + B) | |
112 | 112 | ||
113 | 113 | ||
114 | 114 | func I (B) = ("order_prev_" + B) | |
115 | 115 | ||
116 | 116 | ||
117 | 117 | func J (B) = ("order_next_" + B) | |
118 | 118 | ||
119 | 119 | ||
120 | 120 | func K (L,M) = fraction(fraction(L, 100, M), j, k) | |
121 | 121 | ||
122 | 122 | ||
123 | 123 | func N (L,M) = fraction(fraction(L, M, 100), k, j) | |
124 | 124 | ||
125 | 125 | ||
126 | 126 | func O (L,M) = N(L, M) | |
127 | 127 | ||
128 | 128 | ||
129 | 129 | func P (L,M) = K(L, M) | |
130 | 130 | ||
131 | 131 | ||
132 | 132 | let Q = Address(base58'3MxUeE9rS9G3ap3kSrw67vkjYyTL3QLJnk3') | |
133 | 133 | ||
134 | 134 | let R = Address(base58'3MzosTW6DBBjpRwTZUWFhZo6UFW1yrmfdtB') | |
135 | 135 | ||
136 | 136 | let S = Address(base58'3N1SXpSHeCeqSewbXS79otbnmP89uKUkWyf') | |
137 | 137 | ||
138 | 138 | let T = base58'EHLhLVDUufqQytiAjBHzPhsPZgqsX6XfSCrVdxYeC4QN' | |
139 | 139 | ||
140 | 140 | let U = base58'91QmVf3hZQJeUX11nurBX76Quf94kQgVMDesqALsjQFN' | |
141 | 141 | ||
142 | 142 | let V = f(R, "is_blocked") | |
143 | 143 | ||
144 | 144 | let W = i(R, r) | |
145 | 145 | ||
146 | 146 | let X = i(Q, x) | |
147 | 147 | ||
148 | 148 | let Y = (wavesBalance(Q) - i(Q, w)) | |
149 | 149 | ||
150 | 150 | let Z = (((X + extract(assetInfo(T)).quantity) - assetBalance(Q, T)) - assetBalance(S, T)) | |
151 | 151 | ||
152 | 152 | let aa = (Z - N(Y, W)) | |
153 | 153 | ||
154 | 154 | let ab = e(z) | |
155 | 155 | ||
156 | 156 | func ac (ad) = a(C(ad)) | |
157 | 157 | ||
158 | 158 | ||
159 | 159 | func ae (ad) = a(D(ad)) | |
160 | 160 | ||
161 | 161 | ||
162 | 162 | func af (ad) = e(E(ad)) | |
163 | 163 | ||
164 | 164 | ||
165 | 165 | func ag (ad) = e(G(ad)) | |
166 | 166 | ||
167 | 167 | ||
168 | 168 | func ah (ad) = a(H(ad)) | |
169 | 169 | ||
170 | 170 | ||
171 | 171 | func ai (ad) = e(I(ad)) | |
172 | 172 | ||
173 | 173 | ||
174 | 174 | func aj (ad) = e(J(ad)) | |
175 | 175 | ||
176 | 176 | ||
177 | 177 | func ak (B,al,am,an,ao,M) = [DataEntry(C(B), M), DataEntry(D(B), al), DataEntry(E(B), am), DataEntry(F(B), height), DataEntry(G(B), an), DataEntry(("debug_order_currentPrice_" + B), W), DataEntry(A(B), ao)] | |
178 | 178 | ||
179 | 179 | ||
180 | 180 | func ap (aq,ar,as,at,au,av,aw,ax) = { | |
181 | 181 | let ay = fraction((100 + at), W, 100) | |
182 | 182 | let az = (av - as) | |
183 | 183 | let aA = O(az, ay) | |
184 | 184 | let aB = P(aA, ay) | |
185 | 185 | let aC = (fraction(aa, 100, Z) >= at) | |
186 | 186 | if (!(aC)) | |
187 | 187 | then throw(("innapropriate roi: " + toString(at))) | |
188 | 188 | else if ((aB == 0)) | |
189 | 189 | then throw("cannot fill order at the moment") | |
190 | 190 | else { | |
191 | 191 | let aD = (az - aB) | |
192 | 192 | let aE = if (ax) | |
193 | 193 | then [DataEntry(C(aq), au), DataEntry(D(aq), av), DataEntry(E(aq), toBase58String(aw.bytes)), DataEntry(F(aq), height), DataEntry(G(aq), p), DataEntry(("debug_order_currentPrice_" + aq), W), DataEntry(A(aq), at)] | |
194 | 194 | else [DataEntry(H(aq), (as + aB)), DataEntry(G(aq), p), DataEntry(D(aq), av), DataEntry(I(ar), ""), DataEntry(z, ar)] | |
195 | 195 | ScriptResult(WriteSet(aE), TransferSet([ScriptTransfer(aw, aA, U), ScriptTransfer(Q, aB, unit), ScriptTransfer(aw, aD, unit)])) | |
196 | 196 | } | |
197 | 197 | } | |
198 | 198 | ||
199 | 199 | ||
200 | 200 | func aF (ao,M,aG,aH,ax) = { | |
201 | 201 | let aI = extract(aH.payment) | |
202 | 202 | let aJ = toBase58String(aH.transactionId) | |
203 | 203 | if (V) | |
204 | 204 | then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles") | |
205 | 205 | else if ((l > aI.amount)) | |
206 | 206 | then throw(("min order total equals " + toString(l))) | |
207 | 207 | else if ((ao > m)) | |
208 | 208 | then throw("max setOrder ROI is 95%") | |
209 | 209 | else if (if ((aa > 0)) | |
210 | 210 | then (0 > ao) | |
211 | 211 | else false) | |
212 | 212 | then throw("can't place order with negative roi during deficit") | |
213 | 213 | else if ((-(m) > ao)) | |
214 | 214 | then throw("min setOrder ROI is -95%") | |
215 | 215 | else if ((ao == 0)) | |
216 | 216 | then throw("roi should not be equal to 0") | |
217 | 217 | else if (isDefined(aI.assetId)) | |
218 | 218 | then throw("can use waves only") | |
219 | 219 | else if ((af(aJ) != "")) | |
220 | 220 | then throw("order exists") | |
221 | 221 | else if (if ((aG != "")) | |
222 | 222 | then (ag(aG) != o) | |
223 | 223 | else false) | |
224 | 224 | then throw("prev order status is not new") | |
225 | 225 | else { | |
226 | 226 | let aK = (aG == "") | |
227 | 227 | let am = toString(aH.caller) | |
228 | 228 | let aL = if (aK) | |
229 | 229 | then ab | |
230 | 230 | else aj(aG) | |
231 | 231 | let aM = a(A(aL)) | |
232 | 232 | let aN = if (if ((aL != "")) | |
233 | 233 | then (ao >= aM) | |
234 | 234 | else false) | |
235 | 235 | then true | |
236 | 236 | else false | |
237 | 237 | let aO = a(A(aG)) | |
238 | 238 | let aP = if (if ((aG != "")) | |
239 | 239 | then (aO > ao) | |
240 | 240 | else false) | |
241 | 241 | then true | |
242 | 242 | else false | |
243 | 243 | if (if (aN) | |
244 | 244 | then true | |
245 | 245 | else aP) | |
246 | 246 | then throw(((("invalid order isPrevOrderError:" + toString(aP)) + " isNextOrderError:") + toString(aN))) | |
247 | 247 | else if (if (aK) | |
248 | 248 | then ax | |
249 | 249 | else false) | |
250 | 250 | then ap(aJ, aL, 0, ao, M, aI.amount, aH.caller, true) | |
251 | 251 | else if (ax) | |
252 | 252 | then throw("Instant order couldn't be added into waiting queue") | |
253 | 253 | else WriteSet([DataEntry(I(aJ), aG), DataEntry(J(aJ), aL), DataEntry(J(aG), if ((aG == "")) | |
254 | 254 | then "" | |
255 | 255 | else aJ), DataEntry(I(aL), if ((aL == "")) | |
256 | 256 | then "" | |
257 | 257 | else aJ), DataEntry(z, if (if ((ab == "")) | |
258 | 258 | then true | |
259 | 259 | else (ab == aL)) | |
260 | 260 | then aJ | |
261 | 261 | else ab), ak(aJ, aI.amount, am, o, ao, M)]) | |
262 | 262 | } | |
263 | 263 | } | |
264 | 264 | ||
265 | 265 | ||
266 | 266 | @Callable(aQ) | |
267 | 267 | func instantBuyNsbtOrFail (ao) = { | |
268 | 268 | let aI = extract(aQ.payment) | |
269 | 269 | let ay = fraction((100 + ao), W, 100) | |
270 | 270 | let M = ((100 * 100) / ay) | |
271 | 271 | aF(ao, M, "", aQ, true) | |
272 | 272 | } | |
273 | 273 | ||
274 | 274 | ||
275 | 275 | ||
276 | 276 | @Callable(aQ) | |
277 | 277 | func addBuyBondOrder (M,aG) = { | |
278 | 278 | let aI = extract(aQ.payment) | |
279 | 279 | let ay = fraction(100, 100, M) | |
280 | 280 | let ao = fraction((ay - W), 100, W) | |
281 | 281 | if ((0 >= M)) | |
282 | 282 | then throw("price less zero") | |
283 | 283 | else aF(ao, M, aG, aQ, false) | |
284 | 284 | } | |
285 | 285 | ||
286 | 286 | ||
287 | 287 | ||
288 | 288 | @Callable(aQ) | |
289 | 289 | func cancelOrder (B) = { | |
290 | 290 | let am = af(B) | |
291 | 291 | let L = (ae(B) - ah(B)) | |
292 | 292 | let aR = toString(aQ.caller) | |
293 | 293 | let aL = aj(B) | |
294 | 294 | let aG = ai(B) | |
295 | 295 | if (V) | |
296 | 296 | then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles") | |
297 | 297 | else if ((am != aR)) | |
298 | 298 | then throw("permission denied") | |
299 | 299 | else if ((ag(B) != o)) | |
300 | 300 | then throw("invalid order status") | |
301 | 301 | else ScriptResult(WriteSet([DataEntry(z, if ((ab == B)) | |
302 | 302 | then aL | |
303 | 303 | else ab), DataEntry(J(aG), aL), DataEntry(I(aL), aG), DataEntry(G(B), n)]), TransferSet([ScriptTransfer(aQ.caller, L, unit)])) | |
304 | 304 | } | |
305 | 305 | ||
306 | 306 | ||
307 | 307 | ||
308 | 308 | @Callable(aQ) | |
309 | 309 | func sellBond () = if (V) | |
310 | 310 | then throw("contract is blocked by EMERGENCY SHUTDOWN actions until reactivation by emergency oracles") | |
311 | 311 | else if ((ab == "")) | |
312 | 312 | then throw("empty orderbook") | |
313 | 313 | else { | |
314 | 314 | let aL = aj(ab) | |
315 | 315 | let aS = ah(ab) | |
316 | 316 | let aT = ac(ab) | |
317 | 317 | let ao = a(A(ab)) | |
318 | 318 | let aU = ae(ab) | |
319 | 319 | let aw = Address(fromBase58String(af(ab))) | |
320 | 320 | ap(ab, aL, aS, ao, aT, aU, aw, false) | |
321 | 321 | } | |
322 | 322 | ||
323 | 323 | ||
324 | 324 | ||
325 | 325 | @Callable(aQ) | |
326 | 326 | func updateReservesAndNeutrinoSupply () = { | |
327 | 327 | func aV (b) = { | |
328 | 328 | let c = getInteger(this, b) | |
329 | 329 | if ($isInstanceOf(c, "Int")) | |
330 | 330 | then { | |
331 | 331 | let d = c | |
332 | 332 | d | |
333 | 333 | } | |
334 | 334 | else 0 | |
335 | 335 | } | |
336 | 336 | ||
337 | 337 | let aW = aV("updateReservesAndNeutrinoSupplyIdx") | |
338 | 338 | let aX = (aW + 1) | |
339 | 339 | WriteSet([DataEntry("updateReservesAndNeutrinoSupplyIdx", aX), DataEntry("reserve", Y), DataEntry("neutrinoSupply", Z), DataEntry("deficit", aa)]) | |
340 | 340 | } | |
341 | 341 | ||
342 | 342 | ||
343 | 343 | @Verifier(aY) | |
344 | 344 | func aZ () = { | |
345 | 345 | let ba = ["D96T5UoL7E2FERaEwov9Frx8XFVPNGqZ4TyDiWvn1urJ", "Fk2zgbrRA8KytTVMVy6Df5i4tTEsKaqg6ybh6x6Hehjj", "37f1yE54FyMKwEkg413peq5Gbze9sBavASVeTYbQLTvJ", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"] | |
346 | 346 | let bb = ((((if (sigVerify(aY.bodyBytes, aY.proofs[0], fromBase58String(ba[0]))) | |
347 | 347 | then 1 | |
348 | 348 | else 0) + (if (sigVerify(aY.bodyBytes, aY.proofs[1], fromBase58String(ba[1]))) | |
349 | 349 | then 1 | |
350 | 350 | else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[2], fromBase58String(ba[2]))) | |
351 | 351 | then 1 | |
352 | 352 | else 0)) + (if (sigVerify(aY.bodyBytes, aY.proofs[3], fromBase58String(ba[3]))) | |
353 | 353 | then 2 | |
354 | 354 | else 0)) | |
355 | 355 | (bb >= 3) | |
356 | 356 | } | |
357 | 357 |
github/deemru/w8io/169f3d6 42.15 ms ◑