tx · 9gwefKYkoqpQpkqcHvpyBDFMCV7LaU4z1H5QBsaEqdiX 3PPod6TWkaqUd5Hx2CkM236PFPreqLu1nhN: -0.00700000 Waves 2022.09.18 00:25 [3299118] smart account 3PPod6TWkaqUd5Hx2CkM236PFPreqLu1nhN > SELF 0.00000000 Waves
{ "type": 13, "id": "9gwefKYkoqpQpkqcHvpyBDFMCV7LaU4z1H5QBsaEqdiX", "fee": 700000, "feeAssetId": null, "timestamp": 1663449981195, "version": 2, "chainId": 87, "sender": "3PPod6TWkaqUd5Hx2CkM236PFPreqLu1nhN", "senderPublicKey": "5XJeDoDVZrQ5rX8EcMWwMUHpYWs6CuAWoNgEn5rA8wgv", "proofs": [ "3LaxP4xHg8AoPRWxZPptbWb6mg3jJFrW1M6oBMubPuXqd3LqJUSu3hWg4BZ6YWFqr4BNbrpd6F9k1qwArhvLojey" ], "script": "base64:BgIhCAISBQoDCAEIEgQKAggBEgMKAQgSAwoBCBIECgIICBIAGgAEVVNETgEgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEACmZlZUFkZHJlc3MJAQdBZGRyZXNzAQEaAVcfqkivNjk8ZqY49VHF/62O5PcNLqNyO/oACW1pbkFtb3VudACAreIEAAxmZWVOdW1lcmF0b3IABQAOZmVlRGVub21pbmF0b3IABQEQZ2V0U3RhcnRCbG9ja0tleQEHZXZlbnRJZAkArAICBQdldmVudElkAgxfc3RhcnRfYmxvY2sBDmdldEVuZEJsb2NrS2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCCl9lbmRfYmxvY2sBDmdldEZpbmlzaEF0S2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCEF9maW5pc2hfYXRfYmxvY2sBF2dldEFuc3dlckRhcHBBZGRyZXNzS2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCDF9hbnN3ZXJfZGFwcAEXZ2V0QW5zd2VyRnVuY0FkZHJlc3NLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIMX2Fuc3dlcl9mdW5jAQxnZXRSZXN1bHRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIHX3Jlc3VsdAEIZ2V0SWRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIDX2lkAQ1nZXRBbnN3ZXJOS2V5AgdldmVudElkAW4JAKwCAgkArAICBQdldmVudElkAghfYW5zd2VyXwkApAMBBQFuARJnZXRBbnN3ZXJzQ291bnRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAIOX2Fuc3dlcnNfY291bnQBDGdldFN0YXR1c0tleQEHZXZlbnRJZAkArAICBQdldmVudElkAgdfc3RhdHVzAQpnZXREZXNjS2V5AQdldmVudElkCQCsAgIFB2V2ZW50SWQCDF9kZXNjcmlwdGlvbgERZ2V0VG90YWxBbW91bnRLZXkBB2V2ZW50SWQJAKwCAgUHZXZlbnRJZAINX3RvdGFsX2Ftb3VudAENZ2V0QW1vdW50TktleQIHZXZlbnRJZAFuCQCsAgIJAKwCAgkArAICBQdldmVudElkAgFfCQCkAwEFAW4CB19hbW91bnQBE2dldEFtb3VudEFkZHJlc3NLZXkCB2V2ZW50SWQHYWRkcmVzcwkArAICCQCsAgIJAKwCAgUHZXZlbnRJZAIBXwUHYWRkcmVzcwIHX2Ftb3VudAETZ2V0Q2hvaWNlQWRkcmVzc0tleQIHZXZlbnRJZAdhZGRyZXNzCQCsAgIJAKwCAgkArAICBQdldmVudElkAgFfBQdhZGRyZXNzAgdfY2hvaWNlARtnZXRBbHJlYWR5Q2xhaW1lZEFkZHJlc3NLZXkCB2V2ZW50SWQHYWRkcmVzcwkArAICCQCsAgIJAKwCAgUHZXZlbnRJZAIBXwUHYWRkcmVzcwIQX2FscmVhZHlfY2xhaW1lZAEPZ2V0QW5zd2VyUmVzdWx0AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBeAUHJG1hdGNoMAUBeAQBdAUHJG1hdGNoMAkAAgECBCNlcnIBCWdldFN0YXR1cwEHZXZlbnRJZAQGc3RhdHVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQxnZXRTdGF0dXNLZXkBBQdldmVudElkAgEjAwMJAAACBQZzdGF0dXMCCGZpbmlzaGVkBgkAAAIFBnN0YXR1cwIBIwUGc3RhdHVzBAhmaW5pc2hBdAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwkBDmdldEZpbmlzaEF0S2V5AQUHZXZlbnRJZAQKc3RhcnRCbG9jawkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwkBEGdldFN0YXJ0QmxvY2tLZXkBBQdldmVudElkBAhlbmRCbG9jawkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwkBDmdldEVuZEJsb2NrS2V5AQUHZXZlbnRJZAMDCQBnAgUGaGVpZ2h0BQpzdGFydEJsb2NrCQBnAgUIZW5kQmxvY2sFBmhlaWdodAcCBmFjdGl2ZQMDCQBmAgUGaGVpZ2h0BQhlbmRCbG9jawkAZwIFCGZpbmlzaEF0BQZoZWlnaHQHAgR3YWl0AwkAZgIFBmhlaWdodAUIZmluaXNoQXQCCGZpbmlzaGVkCQACAQIOdW5rbm93biBzdGF0dXMBB2lzQWRtaW4BBmNhbGxlcgMJAAACBQZjYWxsZXIFBHRoaXMGBwENcmVnaXN0ZXJFdmVudAcEdHhpZARkZXNjCnN0YXJ0QmxvY2sIZW5kQmxvY2sIZmluaXNoQXQLY2hlY2tlckRhcHALY2hlY2tlckZ1bmMEB2V2ZW50SWQFBHR4aWQEDGFuc3dlclJlc3VsdAkBD2dldEFuc3dlclJlc3VsdAEJAPwHBAUEdGhpcwIFY2hlY2sJAMwIAgULY2hlY2tlckRhcHAJAMwIAgULY2hlY2tlckZ1bmMFA25pbAUDbmlsAwkAAAIFDGFuc3dlclJlc3VsdAUMYW5zd2VyUmVzdWx0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEQZ2V0U3RhcnRCbG9ja0tleQEFB2V2ZW50SWQFCnN0YXJ0QmxvY2sJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5nZXRFbmRCbG9ja0tleQEFB2V2ZW50SWQFCGVuZEJsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOZ2V0RmluaXNoQXRLZXkBBQdldmVudElkBQhmaW5pc2hBdAkAzAgCCQELU3RyaW5nRW50cnkCCQEXZ2V0QW5zd2VyRGFwcEFkZHJlc3NLZXkBBQdldmVudElkBQtjaGVja2VyRGFwcAkAzAgCCQELU3RyaW5nRW50cnkCCQEXZ2V0QW5zd2VyRnVuY0FkZHJlc3NLZXkBBQdldmVudElkBQtjaGVja2VyRnVuYwkAzAgCCQELU3RyaW5nRW50cnkCCQEKZ2V0RGVzY0tleQEFB2V2ZW50SWQFBGRlc2MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGdldFN0YXR1c0tleQEFB2V2ZW50SWQCBmFjdGl2ZQkAzAgCCQELU3RyaW5nRW50cnkCCQEIZ2V0SWRLZXkBBQdldmVudElkBQdldmVudElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1nZXRBbnN3ZXJOS2V5AgUHZXZlbnRJZAABAgJOTwkAzAgCCQELU3RyaW5nRW50cnkCCQENZ2V0QW5zd2VyTktleQIFB2V2ZW50SWQAAgIDWUVTCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQESZ2V0QW5zd2Vyc0NvdW50S2V5AQUHZXZlbnRJZAACCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEMZ2V0UmVzdWx0S2V5AQUHZXZlbnRJZAABBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEGNoZWNrRXZlbnRBbnN3ZXIBB2V2ZW50SWQFA25pbAYBaQETc2ltcGxlUmVnaXN0ZXJFdmVudAMEZGVzYwpzdGFydEJsb2NrC2NoZWNrZXJGdW5jAwkBASEBCQEHaXNBZG1pbgEIBQFpBmNhbGxlcgkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBAR0eGlkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQECGVuZEJsb2NrCQBkAgUKc3RhcnRCbG9jawCgCwQIZmluaXNoQXQJAGQCBQhlbmRCbG9jawCgCwQLY2hlY2tlckRhcHAJAKUIAQUEdGhpcwkBDXJlZ2lzdGVyRXZlbnQHBQR0eGlkBQRkZXNjBQpzdGFydEJsb2NrBQhlbmRCbG9jawUIZmluaXNoQXQFC2NoZWNrZXJEYXBwBQtjaGVja2VyRnVuYwFpAQZjaG9pY2UCB2V2ZW50SWQGY2hvaWNlBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQFY2hlY2sJAPwHBAUEdGhpcwILY2hlY2tSZXN1bHQJAMwIAgUHZXZlbnRJZAUDbmlsBQNuaWwDCQAAAgUFY2hlY2sFBWNoZWNrBAZzdGF0dXMJAQlnZXRTdGF0dXMBBQdldmVudElkAwkAAAIFBnN0YXR1cwIGYWN0aXZlAwMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFBFVTRE4HBAZhbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AwkAZgIFCW1pbkFtb3VudAUGYW1vdW50CQACAQIbYW1vdW50IGlzIGxlc3MgdGhhbiBhbGxvd2VkBAxhbnN3ZXJzQ291bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJARJnZXRBbnN3ZXJzQ291bnRLZXkBBQdldmVudElkAwMJAAACBQZjaG9pY2UAAAYJAGYCBQZjaG9pY2UFDGFuc3dlcnNDb3VudAkAAgECEWNob2ljZSBpcyBpbnZhbGlkBAxjdXJyZW50VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBEWdldFRvdGFsQW1vdW50S2V5AQUHZXZlbnRJZAAABAtjaG9pY2VUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQENZ2V0QW1vdW50TktleQIFB2V2ZW50SWQFBmNob2ljZQAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQERZ2V0VG90YWxBbW91bnRLZXkBBQdldmVudElkCQBkAgUMY3VycmVudFRvdGFsBQZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ1nZXRBbW91bnROS2V5AgUHZXZlbnRJZAUGY2hvaWNlCQBkAgULY2hvaWNlVG90YWwFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE2dldENob2ljZUFkZHJlc3NLZXkCBQdldmVudElkBQdhZGRyZXNzBQZjaG9pY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARNnZXRBbW91bnRBZGRyZXNzS2V5AgUHZXZlbnRJZAUHYWRkcmVzcwUGYW1vdW50BQNuaWwJAAIBAgtCYWQgcGF5bWVudAkAAgECD1lvdSBjYW5gdCBkbyBpdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVjbGFpbQEHZXZlbnRJZAQHYWRkcmVzcwgFAWkGY2FsbGVyBAZzdGF0dXMJAQlnZXRTdGF0dXMBBQdldmVudElkAwkAAAIFBnN0YXR1cwIIZmluaXNoZWQEC3RvdGFsQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzCQERZ2V0VG90YWxBbW91bnRLZXkBBQdldmVudElkBANmZWUJAGsDBQt0b3RhbEFtb3VudAUMZmVlTnVtZXJhdG9yBQ5mZWVEZW5vbWluYXRvcgQHcmV3YXJkcwkAZQIFC3RvdGFsQW1vdW50BQNmZWUDCQAAAgUHYWRkcmVzcwUKZmVlQWRkcmVzcwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQpmZWVBZGRyZXNzBQNmZWUFBFVTRE4FA25pbAQOYWxyZWFkeUNsYWltZWQJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwkBG2dldEFscmVhZHlDbGFpbWVkQWRkcmVzc0tleQIFB2V2ZW50SWQJAKUIAQUHYWRkcmVzcwcDBQ5hbHJlYWR5Q2xhaW1lZAkAAgECFlJld2FyZCBhbHJlYWR5IGNsYWltZWQEDWFkZHJlc3NDaG9pY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJARNnZXRDaG9pY2VBZGRyZXNzS2V5AgUHZXZlbnRJZAkApQgBBQdhZGRyZXNzBAZyZXN1bHQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAQxnZXRSZXN1bHRLZXkBBQdldmVudElkBAtjaG9pY2VUb3RhbAkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwkBDWdldEFtb3VudE5LZXkCBQdldmVudElkBQZyZXN1bHQEDWFkZHJlc3NBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJARNnZXRBbW91bnRBZGRyZXNzS2V5AgUHZXZlbnRJZAkApQgBBQdhZGRyZXNzAwkAAAIFDWFkZHJlc3NDaG9pY2UFBnJlc3VsdAQNYWRkcmVzc1Jld2FyZAkAawMFB3Jld2FyZHMFDWFkZHJlc3NBbW91bnQFC2Nob2ljZVRvdGFsCQDMCAIJAQxCb29sZWFuRW50cnkCCQETZ2V0Q2hvaWNlQWRkcmVzc0tleQIFB2V2ZW50SWQJAKUIAQUHYWRkcmVzcwYJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUHYWRkcmVzcwUNYWRkcmVzc1Jld2FyZAUEVVNETgUDbmlsCQACAQIUU29tZXRoaW5nIHdlbnQgd3JvbmcJAAIBAg9Zb3UgY2FuYHQgZG8gaXQBaQELY2hlY2tSZXN1bHQBB2V2ZW50SWQEBnN0YXR1cwkBCWdldFN0YXR1cwEFB2V2ZW50SWQDCQAAAgUGc3RhdHVzAgZhY3RpdmUEC2NoZWNrZXJEYXBwCQCdCAIFBHRoaXMJARdnZXRBbnN3ZXJEYXBwQWRkcmVzc0tleQEFB2V2ZW50SWQEC2NoZWNrZXJGdW5jCQCdCAIFBHRoaXMJARdnZXRBbnN3ZXJGdW5jQWRkcmVzc0tleQEFB2V2ZW50SWQEDWN1cnJlbnRSZXN1bHQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMJAQxnZXRSZXN1bHRLZXkBBQdldmVudElkBAxhbnN3ZXJSZXN1bHQJAQ9nZXRBbnN3ZXJSZXN1bHQBCQD8BwQFBHRoaXMCBWNoZWNrCQDMCAIFC2NoZWNrZXJEYXBwCQDMCAIFC2NoZWNrZXJGdW5jBQNuaWwFA25pbAMJAAACBQxhbnN3ZXJSZXN1bHQFDGFuc3dlclJlc3VsdAMJAQIhPQIFDGFuc3dlclJlc3VsdAUNY3VycmVudFJlc3VsdAkAzAgCCQELU3RyaW5nRW50cnkCCQEMZ2V0U3RhdHVzS2V5AQUHZXZlbnRJZAIIZmluaXNoZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQxnZXRSZXN1bHRLZXkBBQdldmVudElkBQxhbnN3ZXJSZXN1bHQFA25pbAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIQRXZlbnQgbm90IGFjdGl2ZQFpAQVjaGVjawIEZGFwcAhmdW5jdGlvbgMJAQIhPQIFBHRoaXMIBQFpBmNhbGxlcgkAAgECEG9ubHkgbWFpbiBjYW4gZG8EDGFuc3dlclJlc3VsdAkBD2dldEFuc3dlclJlc3VsdAEJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUEZGFwcAUIZnVuY3Rpb24FA25pbAUDbmlsCQCUCgIFA25pbAUMYW5zd2VyUmVzdWx0AWkBEWNoZWNrVmlyZXNWZXN0aW5nAAMJAQIhPQIFBHRoaXMIBQFpBmNhbGxlcgkAAgECEG9ubHkgbWFpbiBjYW4gZG8EDm9wVmlyZXNBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBAiMzUDJySkdmYjVNYmVpdlpOU3FkVm1zRDFZMk16OHk2SnIzWgQIZW5hYmxlZDAJAQt2YWx1ZU9yRWxzZQIJAJsIAgUOb3BWaXJlc0FkZHJlc3MCDXN5c3RlbV9wYXVzZWQGBAhlbmFibGVkMQkBC3ZhbHVlT3JFbHNlAgkAmwgCBQ5vcFZpcmVzQWRkcmVzcwIlb3BfbGlxdWlkYW9fYWxsX3dpdGhkcmF3VmVzdGVkX3BhdXNlZAYECGVuYWJsZWQyCQELdmFsdWVPckVsc2UCCQCbCAIFDm9wVmlyZXNBZGRyZXNzAipvcF9saXF1aWRhb19hbGxfd2l0aGRyYXdWZXN0ZWRfdXNkbl9wYXVzZWQGAwMDBQhlbmFibGVkMAUIZW5hYmxlZDEHBQhlbmFibGVkMgcJAJQKAgUDbmlsAAIJAJQKAgUDbmlsAAEA0mPChA==", "height": 3299118, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9essiegU7N7Nwxr6sx9WLTfte3eHBPLWXoVA9ppxmQCy Next: 6okKDWdfJ2Do89MwDMMBaut4WXbzUcpjugGWRoZ4iTGp Diff:
Old | New | Differences | |
---|---|---|---|
120 | 120 | then throw("only admin can do") | |
121 | 121 | else { | |
122 | 122 | let L = toBase58String(R.transactionId) | |
123 | - | let H = (G + | |
124 | - | let F = (H + | |
123 | + | let H = (G + 1440) | |
124 | + | let F = (H + 1440) | |
125 | 125 | let N = toString(this) | |
126 | 126 | K(L, M, G, H, F, N, O) | |
127 | 127 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
5 | 5 | ||
6 | 6 | let b = Address(base58'3P4pKfj9UZHqj6pb18921oSftYuQw35gExR') | |
7 | 7 | ||
8 | 8 | let c = 10000000 | |
9 | 9 | ||
10 | 10 | let d = 5 | |
11 | 11 | ||
12 | 12 | let e = 5 | |
13 | 13 | ||
14 | 14 | func f (g) = (g + "_start_block") | |
15 | 15 | ||
16 | 16 | ||
17 | 17 | func h (g) = (g + "_end_block") | |
18 | 18 | ||
19 | 19 | ||
20 | 20 | func i (g) = (g + "_finish_at_block") | |
21 | 21 | ||
22 | 22 | ||
23 | 23 | func j (g) = (g + "_answer_dapp") | |
24 | 24 | ||
25 | 25 | ||
26 | 26 | func k (g) = (g + "_answer_func") | |
27 | 27 | ||
28 | 28 | ||
29 | 29 | func l (g) = (g + "_result") | |
30 | 30 | ||
31 | 31 | ||
32 | 32 | func m (g) = (g + "_id") | |
33 | 33 | ||
34 | 34 | ||
35 | 35 | func n (g,o) = ((g + "_answer_") + toString(o)) | |
36 | 36 | ||
37 | 37 | ||
38 | 38 | func p (g) = (g + "_answers_count") | |
39 | 39 | ||
40 | 40 | ||
41 | 41 | func q (g) = (g + "_status") | |
42 | 42 | ||
43 | 43 | ||
44 | 44 | func r (g) = (g + "_description") | |
45 | 45 | ||
46 | 46 | ||
47 | 47 | func s (g) = (g + "_total_amount") | |
48 | 48 | ||
49 | 49 | ||
50 | 50 | func t (g,o) = (((g + "_") + toString(o)) + "_amount") | |
51 | 51 | ||
52 | 52 | ||
53 | 53 | func u (g,v) = (((g + "_") + v) + "_amount") | |
54 | 54 | ||
55 | 55 | ||
56 | 56 | func w (g,v) = (((g + "_") + v) + "_choice") | |
57 | 57 | ||
58 | 58 | ||
59 | 59 | func x (g,v) = (((g + "_") + v) + "_already_claimed") | |
60 | 60 | ||
61 | 61 | ||
62 | 62 | func y (z) = { | |
63 | 63 | let A = z | |
64 | 64 | if ($isInstanceOf(A, "Int")) | |
65 | 65 | then { | |
66 | 66 | let B = A | |
67 | 67 | B | |
68 | 68 | } | |
69 | 69 | else { | |
70 | 70 | let C = A | |
71 | 71 | throw("#err") | |
72 | 72 | } | |
73 | 73 | } | |
74 | 74 | ||
75 | 75 | ||
76 | 76 | func D (g) = { | |
77 | 77 | let E = valueOrElse(getString(this, q(g)), "#") | |
78 | 78 | if (if ((E == "finished")) | |
79 | 79 | then true | |
80 | 80 | else (E == "#")) | |
81 | 81 | then E | |
82 | 82 | else { | |
83 | 83 | let F = getIntegerValue(this, i(g)) | |
84 | 84 | let G = getIntegerValue(this, f(g)) | |
85 | 85 | let H = getIntegerValue(this, h(g)) | |
86 | 86 | if (if ((height >= G)) | |
87 | 87 | then (H >= height) | |
88 | 88 | else false) | |
89 | 89 | then "active" | |
90 | 90 | else if (if ((height > H)) | |
91 | 91 | then (F >= height) | |
92 | 92 | else false) | |
93 | 93 | then "wait" | |
94 | 94 | else if ((height > F)) | |
95 | 95 | then "finished" | |
96 | 96 | else throw("unknown status") | |
97 | 97 | } | |
98 | 98 | } | |
99 | 99 | ||
100 | 100 | ||
101 | 101 | func I (J) = if ((J == this)) | |
102 | 102 | then true | |
103 | 103 | else false | |
104 | 104 | ||
105 | 105 | ||
106 | 106 | func K (L,M,G,H,F,N,O) = { | |
107 | 107 | let g = L | |
108 | 108 | let P = y(invoke(this, "check", [N, O], nil)) | |
109 | 109 | if ((P == P)) | |
110 | 110 | then [IntegerEntry(f(g), G), IntegerEntry(h(g), H), IntegerEntry(i(g), F), StringEntry(j(g), N), StringEntry(k(g), O), StringEntry(r(g), M), StringEntry(q(g), "active"), StringEntry(m(g), g), StringEntry(n(g, 1), "NO"), StringEntry(n(g, 2), "YES"), IntegerEntry(p(g), 2), IntegerEntry(l(g), 1)] | |
111 | 111 | else throw("Strict value is not equal to itself.") | |
112 | 112 | } | |
113 | 113 | ||
114 | 114 | ||
115 | 115 | func Q (g) = nil | |
116 | 116 | ||
117 | 117 | ||
118 | 118 | @Callable(R) | |
119 | 119 | func simpleRegisterEvent (M,G,O) = if (!(I(R.caller))) | |
120 | 120 | then throw("only admin can do") | |
121 | 121 | else { | |
122 | 122 | let L = toBase58String(R.transactionId) | |
123 | - | let H = (G + | |
124 | - | let F = (H + | |
123 | + | let H = (G + 1440) | |
124 | + | let F = (H + 1440) | |
125 | 125 | let N = toString(this) | |
126 | 126 | K(L, M, G, H, F, N, O) | |
127 | 127 | } | |
128 | 128 | ||
129 | 129 | ||
130 | 130 | ||
131 | 131 | @Callable(R) | |
132 | 132 | func choice (g,S) = { | |
133 | 133 | let v = toString(R.caller) | |
134 | 134 | let T = invoke(this, "checkResult", [g], nil) | |
135 | 135 | if ((T == T)) | |
136 | 136 | then { | |
137 | 137 | let E = D(g) | |
138 | 138 | if ((E == "active")) | |
139 | 139 | then if (if ((size(R.payments) == 1)) | |
140 | 140 | then (R.payments[0].assetId == a) | |
141 | 141 | else false) | |
142 | 142 | then { | |
143 | 143 | let U = R.payments[0].amount | |
144 | 144 | if ((c > U)) | |
145 | 145 | then throw("amount is less than allowed") | |
146 | 146 | else { | |
147 | 147 | let V = getIntegerValue(this, p(g)) | |
148 | 148 | if (if ((S == 0)) | |
149 | 149 | then true | |
150 | 150 | else (S > V)) | |
151 | 151 | then throw("choice is invalid") | |
152 | 152 | else { | |
153 | 153 | let W = valueOrElse(getInteger(this, s(g)), 0) | |
154 | 154 | let X = valueOrElse(getInteger(this, t(g, S)), 0) | |
155 | 155 | [IntegerEntry(s(g), (W + U)), IntegerEntry(t(g, S), (X + U)), IntegerEntry(w(g, v), S), IntegerEntry(u(g, v), U)] | |
156 | 156 | } | |
157 | 157 | } | |
158 | 158 | } | |
159 | 159 | else throw("Bad payment") | |
160 | 160 | else throw("You can`t do it") | |
161 | 161 | } | |
162 | 162 | else throw("Strict value is not equal to itself.") | |
163 | 163 | } | |
164 | 164 | ||
165 | 165 | ||
166 | 166 | ||
167 | 167 | @Callable(R) | |
168 | 168 | func claim (g) = { | |
169 | 169 | let v = R.caller | |
170 | 170 | let E = D(g) | |
171 | 171 | if ((E == "finished")) | |
172 | 172 | then { | |
173 | 173 | let Y = getIntegerValue(this, s(g)) | |
174 | 174 | let Z = fraction(Y, d, e) | |
175 | 175 | let aa = (Y - Z) | |
176 | 176 | if ((v == b)) | |
177 | 177 | then [ScriptTransfer(b, Z, a)] | |
178 | 178 | else { | |
179 | 179 | let ab = valueOrElse(getBoolean(this, x(g, toString(v))), false) | |
180 | 180 | if (ab) | |
181 | 181 | then throw("Reward already claimed") | |
182 | 182 | else { | |
183 | 183 | let ac = getIntegerValue(this, w(g, toString(v))) | |
184 | 184 | let ad = getIntegerValue(this, l(g)) | |
185 | 185 | let X = getIntegerValue(this, t(g, ad)) | |
186 | 186 | let ae = getIntegerValue(this, u(g, toString(v))) | |
187 | 187 | if ((ac == ad)) | |
188 | 188 | then { | |
189 | 189 | let af = fraction(aa, ae, X) | |
190 | 190 | [BooleanEntry(w(g, toString(v)), true), ScriptTransfer(v, af, a)] | |
191 | 191 | } | |
192 | 192 | else throw("Something went wrong") | |
193 | 193 | } | |
194 | 194 | } | |
195 | 195 | } | |
196 | 196 | else throw("You can`t do it") | |
197 | 197 | } | |
198 | 198 | ||
199 | 199 | ||
200 | 200 | ||
201 | 201 | @Callable(R) | |
202 | 202 | func checkResult (g) = { | |
203 | 203 | let E = D(g) | |
204 | 204 | if ((E == "active")) | |
205 | 205 | then { | |
206 | 206 | let N = getString(this, j(g)) | |
207 | 207 | let O = getString(this, k(g)) | |
208 | 208 | let ag = getIntegerValue(this, l(g)) | |
209 | 209 | let P = y(invoke(this, "check", [N, O], nil)) | |
210 | 210 | if ((P == P)) | |
211 | 211 | then if ((P != ag)) | |
212 | 212 | then [StringEntry(q(g), "finished"), IntegerEntry(l(g), P)] | |
213 | 213 | else nil | |
214 | 214 | else throw("Strict value is not equal to itself.") | |
215 | 215 | } | |
216 | 216 | else throw("Event not active") | |
217 | 217 | } | |
218 | 218 | ||
219 | 219 | ||
220 | 220 | ||
221 | 221 | @Callable(R) | |
222 | 222 | func check (ah,ai) = if ((this != R.caller)) | |
223 | 223 | then throw("only main can do") | |
224 | 224 | else { | |
225 | 225 | let P = y(invoke(addressFromStringValue(ah), ai, nil, nil)) | |
226 | 226 | $Tuple2(nil, P) | |
227 | 227 | } | |
228 | 228 | ||
229 | 229 | ||
230 | 230 | ||
231 | 231 | @Callable(R) | |
232 | 232 | func checkViresVesting () = if ((this != R.caller)) | |
233 | 233 | then throw("only main can do") | |
234 | 234 | else { | |
235 | 235 | let aj = addressFromStringValue("3P2rJGfb5MbeivZNSqdVmsD1Y2Mz8y6Jr3Z") | |
236 | 236 | let ak = valueOrElse(getBoolean(aj, "system_paused"), true) | |
237 | 237 | let al = valueOrElse(getBoolean(aj, "op_liquidao_all_withdrawVested_paused"), true) | |
238 | 238 | let am = valueOrElse(getBoolean(aj, "op_liquidao_all_withdrawVested_usdn_paused"), true) | |
239 | 239 | if (if (if (ak) | |
240 | 240 | then al | |
241 | 241 | else false) | |
242 | 242 | then am | |
243 | 243 | else false) | |
244 | 244 | then $Tuple2(nil, 2) | |
245 | 245 | else $Tuple2(nil, 1) | |
246 | 246 | } | |
247 | 247 | ||
248 | 248 |
github/deemru/w8io/3ef1775 47.55 ms ◑