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