tx · 435qVExo6v5rMJvrWBdSraNkoEGDYTuuaxcybCjD6kdf
3PPEo6YV7XpCFknum9FNVLQuCu3x7AogcJT: -0.01000000 Waves
2023.05.28 13:09 [3663216] smart account 3PPEo6YV7XpCFknum9FNVLQuCu3x7AogcJT > SELF 0.00000000 Waves
{
"type": 13,
"id": "435qVExo6v5rMJvrWBdSraNkoEGDYTuuaxcybCjD6kdf",
"fee": 1000000,
"feeAssetId": null,
"timestamp": 1685268669930,
"version": 2,
"chainId": 87,
"sender": "3PPEo6YV7XpCFknum9FNVLQuCu3x7AogcJT",
"senderPublicKey": "7kuQGHmvhzQW3ERxGyMrxfq3LuxHSJ6UdBZcuy498sf6",
"proofs": [
"5UAfawYiCKr6rb724q22TCGsekiwMsmubrJyXwgR2oNhokcsWzi1EXSCnLiMEiJ6Hai2MH7fq3XJu2chefk5y5vS"
],
"script": "base64:BgIfCAISBAoCCAgSAwoBARIFCgMICAgSBAoCCAESAwoBCB0ADWtfaW5pdGlhbGl6ZWQCDWtfaW5pdGlhbGl6ZWQAB2tfYWRtaW4CB2tfYWRtaW4ABmtfc3RlcAIGa19zdGVwAAxrX3F1b3RlQXNzZXQCDGtfcXVvdGVBc3NldAAMa19zcG90TWFya2V0AgxrX3Nwb3RNYXJrZXQAD2tfZnV0dXJlc01hcmtldAIPa19mdXR1cmVzTWFya2V0ABNrX21pbkluY3JlYXNlU3ByZWFkAhNrX21pbkluY3JlYXNlU3ByZWFkAA5rX3Bvc2l0aW9uTG9uZwIOa19wb3NpdGlvbkxvbmcAD2tfcG9zaXRpb25TaG9ydAIPa19wb3NpdGlvblNob3J0ABBrX3Bvc2l0aW9uU3ByZWFkAhBrX3Bvc2l0aW9uU3ByZWFkAA9rX3Bvc2l0aW9uTW9uZXkCD2tfcG9zaXRpb25Nb25leQAOa19wb3NpdGlvblNpemUCDmtfcG9zaXRpb25TaXplAAxERUNJTUFMX1VOSVQJAGgCAAEJAGgCCQBoAgkAaAIJAGgCCQBoAgAKAAoACgAKAAoACgEEZGl2ZAICX3gCX3kJAG4EBQJfeAUMREVDSU1BTF9VTklUBQJfeQUISEFMRkVWRU4BBG11bGQCAl94Al95CQBuBAUCX3gFAl95BQxERUNJTUFMX1VOSVQFCEhBTEZFVkVOAAlESVJfU0hPUlQAAgEOdG9Db21wb3NpdGVLZXkCBF9rZXkIX2FkZHJlc3MJAKwCAgkArAICBQRfa2V5AgFfBQhfYWRkcmVzcwEMYWRtaW5BZGRyZXNzAAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUHa19hZG1pbgENZ2V0UXVvdGVBc3NldAAJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUMa19xdW90ZUFzc2V0AQ1nZXRTcG90TWFya2V0AQZfYXNzZXQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAQ50b0NvbXBvc2l0ZUtleQIFDGtfc3BvdE1hcmtldAUGX2Fzc2V0ARBnZXRGdXR1cmVzTWFya2V0AQZfYXNzZXQJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAQ50b0NvbXBvc2l0ZUtleQIFD2tfZnV0dXJlc01hcmtldAUGX2Fzc2V0ARFtaW5JbmNyZWFzZVNwcmVhZAAJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFE2tfbWluSW5jcmVhc2VTcHJlYWQBC2dldFBvc2l0aW9uAQZfYXNzZXQECGxvbmdTaXplCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQ50b0NvbXBvc2l0ZUtleQIFDmtfcG9zaXRpb25Mb25nBQZfYXNzZXQAAAMJAAACBQhsb25nU2l6ZQAACQCWCgQAAAAAAAAAAAkAlgoEBQhsb25nU2l6ZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEOdG9Db21wb3NpdGVLZXkCBQ9rX3Bvc2l0aW9uU2hvcnQFBl9hc3NldAAACQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQ50b0NvbXBvc2l0ZUtleQIFEGtfcG9zaXRpb25TcHJlYWQFBl9hc3NldAAACQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQ50b0NvbXBvc2l0ZUtleQIFD2tfcG9zaXRpb25Nb25leQUGX2Fzc2V0AAABD2dldEFzc2V0QmFsYW5jZQEGX2Fzc2V0AwkAAAIFBl9hc3NldAIFV0FWRVMICQDvBwEFBHRoaXMHcmVndWxhcgkA8AcCBQR0aGlzCQDZBAEFBl9hc3NldAEKZ2V0QXNzZXRJZAEGX2Fzc2V0AwkAAAIFBl9hc3NldAIFV0FWRVMFBHVuaXQJANkEAQUGX2Fzc2V0AQlub3JtYWxpemUCB19hbW91bnQGX2Fzc2V0BAhkZWNpbWFscwMJAAACBQZfYXNzZXQCBVdBVkVTAAgICQEFdmFsdWUBCQDsBwEJANkEAQUGX2Fzc2V0CGRlY2ltYWxzAwkAAAIFCGRlY2ltYWxzAAgJAGkCBQdfYW1vdW50AGQDCQAAAgUIZGVjaW1hbHMABgUHX2Ftb3VudAkAAgECGkludmFsaWQgZGVjaW1hbHMgZm9yIGFzc2V0AQtkZU5vcm1hbGl6ZQIHX2Ftb3VudAZfYXNzZXQECGRlY2ltYWxzAwkAAAIFBl9hc3NldAIFV0FWRVMACAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQZfYXNzZXQIZGVjaW1hbHMDCQAAAgUIZGVjaW1hbHMACAkAaAIFB19hbW91bnQAZAMJAAACBQhkZWNpbWFscwAGBQdfYW1vdW50CQACAQIaSW52YWxpZCBkZWNpbWFscyBmb3IgYXNzZXQBDnVwZGF0ZVBvc2l0aW9uBQZfYXNzZXQMX25ld0xvbmdTaXplDV9uZXdTaG9ydFNpemUNX25ld0F2Z1NwcmVhZA5fbmV3TW9uZXlTcGVudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgUOa19wb3NpdGlvbkxvbmcFBl9hc3NldAUMX25ld0xvbmdTaXplCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOdG9Db21wb3NpdGVLZXkCBQ9rX3Bvc2l0aW9uU2hvcnQFBl9hc3NldAUNX25ld1Nob3J0U2l6ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDnRvQ29tcG9zaXRlS2V5AgUQa19wb3NpdGlvblNwcmVhZAUGX2Fzc2V0BQ1fbmV3QXZnU3ByZWFkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOdG9Db21wb3NpdGVLZXkCBQ9rX3Bvc2l0aW9uTW9uZXkFBl9hc3NldAUOX25ld01vbmV5U3BlbnQFA25pbAEOZGVsZXRlUG9zaXRpb24BBl9hc3NldAkAzAgCCQELRGVsZXRlRW50cnkBCQEOdG9Db21wb3NpdGVLZXkCBQ5rX3Bvc2l0aW9uTG9uZwUGX2Fzc2V0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQ50b0NvbXBvc2l0ZUtleQIFD2tfcG9zaXRpb25TaG9ydAUGX2Fzc2V0CQDMCAIJAQtEZWxldGVFbnRyeQEJAQ50b0NvbXBvc2l0ZUtleQIFEGtfcG9zaXRpb25TcHJlYWQFBl9hc3NldAkAzAgCCQELRGVsZXRlRW50cnkBCQEOdG9Db21wb3NpdGVLZXkCBQ9rX3Bvc2l0aW9uTW9uZXkFBl9hc3NldAUDbmlsBQFpAQppbml0aWFsaXplAgZfYWRtaW4LX3F1b3RlQXNzZXQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhlJbnZhbGlkIGluaXRpYWxpemUgcGFyYW1zCQDMCAIJAQtTdHJpbmdFbnRyeQIFB2tfYWRtaW4FBl9hZG1pbgkAzAgCCQELU3RyaW5nRW50cnkCBQxrX3F1b3RlQXNzZXQFC19xdW90ZUFzc2V0BQNuaWwBaQEOY2hhbmdlU2V0dGluZ3MBEl9taW5JbmNyZWFzZVNwcmVhZAMJAQIhPQIIBQFpBmNhbGxlcgkBDGFkbWluQWRkcmVzcwAJAAIBAh1JbnZhbGlkIGNoYW5nZVNldHRpbmdzIHBhcmFtcwkAzAgCCQEMSW50ZWdlckVudHJ5AgUTa19taW5JbmNyZWFzZVNwcmVhZAUSX21pbkluY3JlYXNlU3ByZWFkBQNuaWwBaQEJYWRkTWFya2V0AwZfYXNzZXQLX3Nwb3RNYXJrZXQOX2Z1dHVyZXNNYXJrZXQDCQECIT0CCAUBaQZjYWxsZXIJAQxhZG1pbkFkZHJlc3MACQACAQIYSW52YWxpZCBhZGRNYXJrZXQgcGFyYW1zCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ50b0NvbXBvc2l0ZUtleQIFDGtfc3BvdE1hcmtldAUGX2Fzc2V0BQtfc3BvdE1hcmtldAkAzAgCCQELU3RyaW5nRW50cnkCCQEOdG9Db21wb3NpdGVLZXkCBQ9rX2Z1dHVyZXNNYXJrZXQFBl9hc3NldAUOX2Z1dHVyZXNNYXJrZXQFA25pbAFpARBpbmNyZWFzZVBvc2l0aW9uAgZfYXNzZXQPX3F1b3RlQXNzZXRTdGVwBApxdW90ZUFzc2V0CQENZ2V0UXVvdGVBc3NldAAECnNwb3RNYXJrZXQJAQ1nZXRTcG90TWFya2V0AQUGX2Fzc2V0BAthc3NldEJlZm9yZQkBD2dldEFzc2V0QmFsYW5jZQEFBl9hc3NldAMJAAACBQthc3NldEJlZm9yZQULYXNzZXRCZWZvcmUEB2J1eVNwb3QJAPwHBAUKc3BvdE1hcmtldAIEc3dhcAkAzAgCAAAJAMwIAgUGX2Fzc2V0CQDMCAIJAKUIAQUEdGhpcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQpxdW90ZUFzc2V0BQ9fcXVvdGVBc3NldFN0ZXAFA25pbAMJAAACBQdidXlTcG90BQdidXlTcG90BAphc3NldEFmdGVyCQEPZ2V0QXNzZXRCYWxhbmNlAQUGX2Fzc2V0AwkAAAIFCmFzc2V0QWZ0ZXIFCmFzc2V0QWZ0ZXIEC2Fzc2V0Qm91Z2h0CQBlAgUKYXNzZXRBZnRlcgULYXNzZXRCZWZvcmUED2Fzc2V0Qm91Z2h0Tm9ybQkBCW5vcm1hbGl6ZQIFC2Fzc2V0Qm91Z2h0BQZfYXNzZXQEEGJ1eVByaWNlTm9ybUZhY3QJAQRkaXZkAgUPX3F1b3RlQXNzZXRTdGVwBQ9hc3NldEJvdWdodE5vcm0EDWZ1dHVyZXNNYXJrZXQJARBnZXRGdXR1cmVzTWFya2V0AQUGX2Fzc2V0BAxzaG9ydEZ1dHVyZXMJAPwHBAUNZnV0dXJlc01hcmtldAIQaW5jcmVhc2VQb3NpdGlvbgkAzAgCBQlESVJfU0hPUlQJAMwIAgUMREVDSU1BTF9VTklUCQDMCAIAAAkAzAgCAgAJAMwIAgIABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCnF1b3RlQXNzZXQFD19xdW90ZUFzc2V0U3RlcAUDbmlsAwkAAAIFDHNob3J0RnV0dXJlcwUMc2hvcnRGdXR1cmVzBAtwb3NpdGlvbktleQkArAICCQCsAgIJAKUIAQUEdGhpcwIBXwkApAMBBQlESVJfU0hPUlQED3Bvc2l0aW9uRnVsbEtleQkBDnRvQ29tcG9zaXRlS2V5AgUOa19wb3NpdGlvblNpemUFC3Bvc2l0aW9uS2V5BA5hc3NldFNob3J0Tm9ybQkBAS0BCQERQGV4dHJOYXRpdmUoMTA1MCkCBQ1mdXR1cmVzTWFya2V0BQ9wb3NpdGlvbkZ1bGxLZXkEEnNob3J0UHJpY2VOb3JtRmFjdAkBBGRpdmQCBQ9fcXVvdGVBc3NldFN0ZXAFDmFzc2V0U2hvcnROb3JtBApzcHJlYWRGYWN0CQBlAgUMREVDSU1BTF9VTklUCQEEZGl2ZAIFEGJ1eVByaWNlTm9ybUZhY3QFEnNob3J0UHJpY2VOb3JtRmFjdAQJbWluU3ByZWFkCQERbWluSW5jcmVhc2VTcHJlYWQAAwkAZgIFCnNwcmVhZEZhY3QFCW1pblNwcmVhZAQLJHQwNjAzMDYxMDAJAQtnZXRQb3NpdGlvbgEFBl9hc3NldAQIbG9uZ1NpemUIBQskdDA2MDMwNjEwMAJfMQQJc2hvcnRTaXplCAULJHQwNjAzMDYxMDACXzIECWF2Z1NwcmVhZAgFCyR0MDYwMzA2MTAwAl8zBAptb25leVNwZW50CAULJHQwNjAzMDYxMDACXzQEC25ld0xvbmdTaXplCQBkAgUIbG9uZ1NpemUFD2Fzc2V0Qm91Z2h0Tm9ybQQMbmV3U2hvcnRTaXplCQBkAgUJc2hvcnRTaXplBQ5hc3NldFNob3J0Tm9ybQQMbmV3QXZnU3ByZWFkCQEEZGl2ZAIJAGQCCQEEbXVsZAIFCWF2Z1NwcmVhZAkAZAIFCGxvbmdTaXplBQlzaG9ydFNpemUJAQRtdWxkAgUKc3ByZWFkRmFjdAkAZAIFD2Fzc2V0Qm91Z2h0Tm9ybQUOYXNzZXRTaG9ydE5vcm0JAGQCCQBkAgkAZAIFCGxvbmdTaXplBQlzaG9ydFNpemUFD2Fzc2V0Qm91Z2h0Tm9ybQUOYXNzZXRTaG9ydE5vcm0EDW5ld01vbmV5U3BlbnQJAGQCBQptb25leVNwZW50CQBoAgUPX3F1b3RlQXNzZXRTdGVwAAIJAQ51cGRhdGVQb3NpdGlvbgUFBl9hc3NldAULbmV3TG9uZ1NpemUFDG5ld1Nob3J0U2l6ZQUMbmV3QXZnU3ByZWFkBQ1uZXdNb25leVNwZW50BARkYXRhCQDMCAIJAKQDAQUPYXNzZXRCb3VnaHROb3JtCQDMCAIJAKQDAQUQYnV5UHJpY2VOb3JtRmFjdAkAzAgCCQCkAwEFDmFzc2V0U2hvcnROb3JtCQDMCAIJAKQDAQUSc2hvcnRQcmljZU5vcm1GYWN0CQDMCAIJAKQDAQUKc3ByZWFkRmFjdAkAzAgCCQCkAwEFCW1pblNwcmVhZAUDbmlsCQACAQkArAICAhBJbnZhbGlkIHNwcmVhZDogCQC5CQIFBGRhdGECASwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQENY2xvc2VQb3NpdGlvbgEGX2Fzc2V0BApxdW90ZUFzc2V0CQENZ2V0UXVvdGVBc3NldAAEDXF1b3RlQXNzZXRTdHIJANgEAQUKcXVvdGVBc3NldAQKc3BvdE1hcmtldAkBDWdldFNwb3RNYXJrZXQBBQZfYXNzZXQECyR0MDcwNzI3MTQyCQELZ2V0UG9zaXRpb24BBQZfYXNzZXQECGxvbmdTaXplCAULJHQwNzA3MjcxNDICXzEECXNob3J0U2l6ZQgFCyR0MDcwNzI3MTQyAl8yBAlhdmdTcHJlYWQIBQskdDA3MDcyNzE0MgJfMwQKbW9uZXlTcGVudAgFCyR0MDcwNzI3MTQyAl80BBBxdW90ZUFzc2V0QmVmb3JlCQEPZ2V0QXNzZXRCYWxhbmNlAQUNcXVvdGVBc3NldFN0cgMJAAACBRBxdW90ZUFzc2V0QmVmb3JlBRBxdW90ZUFzc2V0QmVmb3JlBAhzZWxsU3BvdAkA/AcEBQpzcG90TWFya2V0AgRzd2FwCQDMCAIAAAkAzAgCBQ1xdW90ZUFzc2V0U3RyCQDMCAIJAKUIAQUEdGhpcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEKZ2V0QXNzZXRJZAEFBl9hc3NldAkBC2RlTm9ybWFsaXplAgUIbG9uZ1NpemUFBl9hc3NldAUDbmlsAwkAAAIFCHNlbGxTcG90BQhzZWxsU3BvdAQPcXVvdGVBc3NldEFmdGVyCQEPZ2V0QXNzZXRCYWxhbmNlAQUNcXVvdGVBc3NldFN0cgMJAAACBQ9xdW90ZUFzc2V0QWZ0ZXIFD3F1b3RlQXNzZXRBZnRlcgQMYXNzZXRTb2xkRm9yCQBlAgUPcXVvdGVBc3NldEFmdGVyBRBxdW90ZUFzc2V0QmVmb3JlBBBhc3NldFNvbGRGb3JOb3JtCQEJbm9ybWFsaXplAgUMYXNzZXRTb2xkRm9yBQ1xdW90ZUFzc2V0U3RyBBFzZWxsUHJpY2VOb3JtRmFjdAkBBGRpdmQCBRBhc3NldFNvbGRGb3JOb3JtBQhsb25nU2l6ZQQNZnV0dXJlc01hcmtldAkBEGdldEZ1dHVyZXNNYXJrZXQBBQZfYXNzZXQEEXF1b3RlQXNzZXRCZWZvcmUyCQEPZ2V0QXNzZXRCYWxhbmNlAQUNcXVvdGVBc3NldFN0cgMJAAACBRFxdW90ZUFzc2V0QmVmb3JlMgURcXVvdGVBc3NldEJlZm9yZTIEEWNsb3NlU2hvcnRGdXR1cmVzCQD8BwQFDWZ1dHVyZXNNYXJrZXQCDWNsb3NlUG9zaXRpb24JAMwIAgUJc2hvcnRTaXplCQDMCAIFCURJUl9TSE9SVAkAzAgCAAAJAMwIAgcJAMwIAgIABQNuaWwFA25pbAMJAAACBRFjbG9zZVNob3J0RnV0dXJlcwURY2xvc2VTaG9ydEZ1dHVyZXMEEHF1b3RlQXNzZXRBZnRlcjIJAQ9nZXRBc3NldEJhbGFuY2UBBQ1xdW90ZUFzc2V0U3RyAwkAAAIFEHF1b3RlQXNzZXRBZnRlcjIFEHF1b3RlQXNzZXRBZnRlcjIEDnNob3J0Q2xvc2VkRm9yCQBlAgUQcXVvdGVBc3NldEFmdGVyMgURcXVvdGVBc3NldEJlZm9yZTIEEnNob3J0UHJpY2VOb3JtRmFjdAkBBGRpdmQCBQ5zaG9ydENsb3NlZEZvcgUJc2hvcnRTaXplBAhtb25leUdvdAkAZAIFDnNob3J0Q2xvc2VkRm9yBQxhc3NldFNvbGRGb3IDCQBmAgUIbW9uZXlHb3QFCm1vbmV5U3BlbnQJAQ5kZWxldGVQb3NpdGlvbgEFBl9hc3NldAQEZGF0YQkAzAgCCQCkAwEFEGFzc2V0U29sZEZvck5vcm0JAMwIAgkApAMBBRFzZWxsUHJpY2VOb3JtRmFjdAkAzAgCCQCkAwEFDnNob3J0Q2xvc2VkRm9yCQDMCAIJAKQDAQUSc2hvcnRQcmljZU5vcm1GYWN0BQNuaWwJAAIBCQCsAgICGkludmFsaWQgc3ByZWFkIGZvciBjbG9zZTogCQC5CQIFBGRhdGECASwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAiDcng==",
"height": 3663216,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 4PPDzhWH9E1T3Bhwmg6inSGe2BqMt1ssvJqPgTWkQ4vz
Next: 4ys7oSUFgxcDsjzHNdXzfrNnDbnBGK1A2dCeLeeYqxfb
Diff:
Old | New | | Differences |
---|
21 | 21 | | |
---|
22 | 22 | | let j = "k_positionSpread" |
---|
23 | 23 | | |
---|
24 | | - | let k = "k_positionSize" |
---|
| 24 | + | let k = "k_positionMoney" |
---|
25 | 25 | | |
---|
26 | | - | let l = (1 * (((((10 * 10) * 10) * 10) * 10) * 10)) |
---|
| 26 | + | let l = "k_positionSize" |
---|
27 | 27 | | |
---|
28 | | - | func m (n,o) = fraction(n, l, o, HALFEVEN) |
---|
| 28 | + | let m = (1 * (((((10 * 10) * 10) * 10) * 10) * 10)) |
---|
| 29 | + | |
---|
| 30 | + | func n (o,p) = fraction(o, m, p, HALFEVEN) |
---|
29 | 31 | | |
---|
30 | 32 | | |
---|
31 | | - | func p (n,o) = fraction(n, o, l, HALFEVEN) |
---|
| 33 | + | func q (o,p) = fraction(o, p, m, HALFEVEN) |
---|
32 | 34 | | |
---|
33 | 35 | | |
---|
34 | | - | let q = 2 |
---|
| 36 | + | let r = 2 |
---|
35 | 37 | | |
---|
36 | | - | func r (s,t) = ((s + "_") + t) |
---|
| 38 | + | func s (t,u) = ((t + "_") + u) |
---|
37 | 39 | | |
---|
38 | 40 | | |
---|
39 | | - | func u () = addressFromStringValue(getStringValue(this, b)) |
---|
| 41 | + | func v () = addressFromStringValue(getStringValue(this, b)) |
---|
40 | 42 | | |
---|
41 | 43 | | |
---|
42 | | - | func v () = fromBase58String(getStringValue(this, d)) |
---|
| 44 | + | func w () = fromBase58String(getStringValue(this, d)) |
---|
43 | 45 | | |
---|
44 | 46 | | |
---|
45 | | - | func w (x) = addressFromStringValue(getStringValue(this, r(e, x))) |
---|
| 47 | + | func x (y) = addressFromStringValue(getStringValue(this, s(e, y))) |
---|
46 | 48 | | |
---|
47 | 49 | | |
---|
48 | | - | func y (x) = addressFromStringValue(getStringValue(this, r(f, x))) |
---|
| 50 | + | func z (y) = addressFromStringValue(getStringValue(this, s(f, y))) |
---|
49 | 51 | | |
---|
50 | 52 | | |
---|
51 | | - | func z () = getIntegerValue(this, g) |
---|
| 53 | + | func A () = getIntegerValue(this, g) |
---|
52 | 54 | | |
---|
53 | 55 | | |
---|
54 | | - | func A (x) = { |
---|
55 | | - | let B = valueOrElse(getInteger(this, r(h, x)), 0) |
---|
56 | | - | if ((B == 0)) |
---|
57 | | - | then $Tuple3(0, 0, 0) |
---|
58 | | - | else $Tuple3(B, valueOrElse(getInteger(this, r(i, x)), 0), valueOrElse(getInteger(this, r(j, x)), 0)) |
---|
| 56 | + | func B (y) = { |
---|
| 57 | + | let C = valueOrElse(getInteger(this, s(h, y)), 0) |
---|
| 58 | + | if ((C == 0)) |
---|
| 59 | + | then $Tuple4(0, 0, 0, 0) |
---|
| 60 | + | else $Tuple4(C, valueOrElse(getInteger(this, s(i, y)), 0), valueOrElse(getInteger(this, s(j, y)), 0), valueOrElse(getInteger(this, s(k, y)), 0)) |
---|
59 | 61 | | } |
---|
60 | 62 | | |
---|
61 | 63 | | |
---|
62 | | - | func C (x) = if ((x == "WAVES")) |
---|
| 64 | + | func D (y) = if ((y == "WAVES")) |
---|
63 | 65 | | then wavesBalance(this).regular |
---|
64 | | - | else assetBalance(this, fromBase58String(x)) |
---|
| 66 | + | else assetBalance(this, fromBase58String(y)) |
---|
65 | 67 | | |
---|
66 | 68 | | |
---|
67 | | - | func D (x) = if ((x == "WAVES")) |
---|
| 69 | + | func E (y) = if ((y == "WAVES")) |
---|
68 | 70 | | then unit |
---|
69 | | - | else fromBase58String(x) |
---|
| 71 | + | else fromBase58String(y) |
---|
70 | 72 | | |
---|
71 | 73 | | |
---|
72 | | - | func E (F,x) = { |
---|
73 | | - | let G = if ((x == "WAVES")) |
---|
| 74 | + | func F (G,y) = { |
---|
| 75 | + | let H = if ((y == "WAVES")) |
---|
74 | 76 | | then 8 |
---|
75 | | - | else value(assetInfo(fromBase58String(x))).decimals |
---|
76 | | - | if ((G == 8)) |
---|
77 | | - | then (F / 100) |
---|
78 | | - | else if ((G == 6)) |
---|
79 | | - | then F |
---|
| 77 | + | else value(assetInfo(fromBase58String(y))).decimals |
---|
| 78 | + | if ((H == 8)) |
---|
| 79 | + | then (G / 100) |
---|
| 80 | + | else if ((H == 6)) |
---|
| 81 | + | then G |
---|
80 | 82 | | else throw("Invalid decimals for asset") |
---|
81 | 83 | | } |
---|
82 | 84 | | |
---|
83 | 85 | | |
---|
84 | | - | func H (F,x) = { |
---|
85 | | - | let G = if ((x == "WAVES")) |
---|
| 86 | + | func I (G,y) = { |
---|
| 87 | + | let H = if ((y == "WAVES")) |
---|
86 | 88 | | then 8 |
---|
87 | | - | else value(assetInfo(fromBase58String(x))).decimals |
---|
88 | | - | if ((G == 8)) |
---|
89 | | - | then (F * 100) |
---|
90 | | - | else if ((G == 6)) |
---|
91 | | - | then F |
---|
| 89 | + | else value(assetInfo(fromBase58String(y))).decimals |
---|
| 90 | + | if ((H == 8)) |
---|
| 91 | + | then (G * 100) |
---|
| 92 | + | else if ((H == 6)) |
---|
| 93 | + | then G |
---|
92 | 94 | | else throw("Invalid decimals for asset") |
---|
93 | 95 | | } |
---|
94 | 96 | | |
---|
95 | 97 | | |
---|
96 | | - | func I (x,J,K,L) = [IntegerEntry(r(h, x), J), IntegerEntry(r(i, x), K), IntegerEntry(r(j, x), L)] |
---|
| 98 | + | func J (y,K,L,M,N) = [IntegerEntry(s(h, y), K), IntegerEntry(s(i, y), L), IntegerEntry(s(j, y), M), IntegerEntry(s(k, y), N)] |
---|
97 | 99 | | |
---|
98 | 100 | | |
---|
99 | | - | func M (x) = [DeleteEntry(r(h, x)), DeleteEntry(r(i, x)), DeleteEntry(r(j, x))] |
---|
| 101 | + | func O (y) = [DeleteEntry(s(h, y)), DeleteEntry(s(i, y)), DeleteEntry(s(j, y)), DeleteEntry(s(k, y))] |
---|
100 | 102 | | |
---|
101 | 103 | | |
---|
102 | | - | @Callable(N) |
---|
103 | | - | func initialize (O,P) = if ((N.caller != this)) |
---|
| 104 | + | @Callable(P) |
---|
| 105 | + | func initialize (Q,R) = if ((P.caller != this)) |
---|
104 | 106 | | then throw("Invalid initialize params") |
---|
105 | | - | else [StringEntry(b, O), StringEntry(d, P)] |
---|
| 107 | + | else [StringEntry(b, Q), StringEntry(d, R)] |
---|
106 | 108 | | |
---|
107 | 109 | | |
---|
108 | 110 | | |
---|
109 | | - | @Callable(N) |
---|
110 | | - | func changeSettings (Q) = if ((N.caller != u())) |
---|
| 111 | + | @Callable(P) |
---|
| 112 | + | func changeSettings (S) = if ((P.caller != v())) |
---|
111 | 113 | | then throw("Invalid changeSettings params") |
---|
112 | | - | else [IntegerEntry(g, Q)] |
---|
| 114 | + | else [IntegerEntry(g, S)] |
---|
113 | 115 | | |
---|
114 | 116 | | |
---|
115 | 117 | | |
---|
116 | | - | @Callable(N) |
---|
117 | | - | func addMarket (x,R,S) = if ((N.caller != u())) |
---|
| 118 | + | @Callable(P) |
---|
| 119 | + | func addMarket (y,T,U) = if ((P.caller != v())) |
---|
118 | 120 | | then throw("Invalid addMarket params") |
---|
119 | | - | else [StringEntry(r(e, x), R), StringEntry(r(f, x), S)] |
---|
| 121 | + | else [StringEntry(s(e, y), T), StringEntry(s(f, y), U)] |
---|
120 | 122 | | |
---|
121 | 123 | | |
---|
122 | 124 | | |
---|
123 | | - | @Callable(N) |
---|
124 | | - | func increasePosition (x,T) = { |
---|
125 | | - | let U = v() |
---|
126 | | - | let V = w(x) |
---|
127 | | - | let W = C(x) |
---|
128 | | - | if ((W == W)) |
---|
| 125 | + | @Callable(P) |
---|
| 126 | + | func increasePosition (y,V) = { |
---|
| 127 | + | let W = w() |
---|
| 128 | + | let X = x(y) |
---|
| 129 | + | let Y = D(y) |
---|
| 130 | + | if ((Y == Y)) |
---|
129 | 131 | | then { |
---|
130 | | - | let X = invoke(V, "swap", [0, x, toString(this)], [AttachedPayment(U, T)]) |
---|
131 | | - | if ((X == X)) |
---|
| 132 | + | let Z = invoke(X, "swap", [0, y, toString(this)], [AttachedPayment(W, V)]) |
---|
| 133 | + | if ((Z == Z)) |
---|
132 | 134 | | then { |
---|
133 | | - | let Y = C(x) |
---|
134 | | - | if ((Y == Y)) |
---|
| 135 | + | let aa = D(y) |
---|
| 136 | + | if ((aa == aa)) |
---|
135 | 137 | | then { |
---|
136 | | - | let Z = (Y - W) |
---|
137 | | - | let aa = E(Z, x) |
---|
138 | | - | let ab = m(T, aa) |
---|
139 | | - | let ac = y(x) |
---|
140 | | - | let ad = invoke(ac, "increasePosition", [q, l, 0, "", ""], [AttachedPayment(U, T)]) |
---|
141 | | - | if ((ad == ad)) |
---|
| 138 | + | let ab = (aa - Y) |
---|
| 139 | + | let ac = F(ab, y) |
---|
| 140 | + | let ad = n(V, ac) |
---|
| 141 | + | let ae = z(y) |
---|
| 142 | + | let af = invoke(ae, "increasePosition", [r, m, 0, "", ""], [AttachedPayment(W, V)]) |
---|
| 143 | + | if ((af == af)) |
---|
142 | 144 | | then { |
---|
143 | | - | let ae = ((toString(this) + "_") + toString(q)) |
---|
144 | | - | let af = r(k, ae) |
---|
145 | | - | let ag = -(getIntegerValue(ac, af)) |
---|
146 | | - | let ah = m(T, ag) |
---|
147 | | - | let ai = (l - m(ab, ah)) |
---|
148 | | - | let aj = z() |
---|
149 | | - | if ((ai > aj)) |
---|
| 145 | + | let ag = ((toString(this) + "_") + toString(r)) |
---|
| 146 | + | let ah = s(l, ag) |
---|
| 147 | + | let ai = -(getIntegerValue(ae, ah)) |
---|
| 148 | + | let aj = n(V, ai) |
---|
| 149 | + | let ak = (m - n(ad, aj)) |
---|
| 150 | + | let al = A() |
---|
| 151 | + | if ((ak > al)) |
---|
150 | 152 | | then { |
---|
151 | | - | let ak = A(x) |
---|
152 | | - | let B = ak._1 |
---|
153 | | - | let al = ak._2 |
---|
154 | | - | let am = ak._3 |
---|
155 | | - | let an = (B + aa) |
---|
156 | | - | let ao = (al + ag) |
---|
157 | | - | let ap = m((p(am, (B + al)) + p(ai, (aa + ag))), (((B + al) + aa) + ag)) |
---|
158 | | - | I(x, an, ao, ap) |
---|
| 153 | + | let am = B(y) |
---|
| 154 | + | let C = am._1 |
---|
| 155 | + | let an = am._2 |
---|
| 156 | + | let ao = am._3 |
---|
| 157 | + | let ap = am._4 |
---|
| 158 | + | let aq = (C + ac) |
---|
| 159 | + | let ar = (an + ai) |
---|
| 160 | + | let as = n((q(ao, (C + an)) + q(ak, (ac + ai))), (((C + an) + ac) + ai)) |
---|
| 161 | + | let at = (ap + (V * 2)) |
---|
| 162 | + | J(y, aq, ar, as, at) |
---|
159 | 163 | | } |
---|
160 | 164 | | else { |
---|
161 | | - | let aq = [toString(aa), toString(ab), toString(ag), toString(ah), toString(ai), toString(aj)] |
---|
162 | | - | throw(("Invalid spread: " + makeString(aq, ","))) |
---|
| 165 | + | let au = [toString(ac), toString(ad), toString(ai), toString(aj), toString(ak), toString(al)] |
---|
| 166 | + | throw(("Invalid spread: " + makeString(au, ","))) |
---|
163 | 167 | | } |
---|
164 | 168 | | } |
---|
165 | 169 | | else throw("Strict value is not equal to itself.") |
---|
|
173 | 177 | | |
---|
174 | 178 | | |
---|
175 | 179 | | |
---|
176 | | - | @Callable(N) |
---|
177 | | - | func closePosition (x) = { |
---|
178 | | - | let U = v() |
---|
179 | | - | let ar = toBase58String(U) |
---|
180 | | - | let V = w(x) |
---|
181 | | - | let as = A(x) |
---|
182 | | - | let B = as._1 |
---|
183 | | - | let al = as._2 |
---|
184 | | - | let am = as._3 |
---|
185 | | - | let at = C(ar) |
---|
186 | | - | if ((at == at)) |
---|
| 180 | + | @Callable(P) |
---|
| 181 | + | func closePosition (y) = { |
---|
| 182 | + | let W = w() |
---|
| 183 | + | let av = toBase58String(W) |
---|
| 184 | + | let X = x(y) |
---|
| 185 | + | let aw = B(y) |
---|
| 186 | + | let C = aw._1 |
---|
| 187 | + | let an = aw._2 |
---|
| 188 | + | let ao = aw._3 |
---|
| 189 | + | let ap = aw._4 |
---|
| 190 | + | let ax = D(av) |
---|
| 191 | + | if ((ax == ax)) |
---|
187 | 192 | | then { |
---|
188 | | - | let au = invoke(V, "swap", [0, ar, toString(this)], [AttachedPayment(D(x), H(B, x))]) |
---|
189 | | - | if ((au == au)) |
---|
| 193 | + | let ay = invoke(X, "swap", [0, av, toString(this)], [AttachedPayment(E(y), I(C, y))]) |
---|
| 194 | + | if ((ay == ay)) |
---|
190 | 195 | | then { |
---|
191 | | - | let av = C(ar) |
---|
192 | | - | if ((av == av)) |
---|
| 196 | + | let az = D(av) |
---|
| 197 | + | if ((az == az)) |
---|
193 | 198 | | then { |
---|
194 | | - | let aw = (av - at) |
---|
195 | | - | let ax = E(aw, ar) |
---|
196 | | - | let ay = m(ax, B) |
---|
197 | | - | let ac = y(x) |
---|
198 | | - | let az = C(ar) |
---|
199 | | - | if ((az == az)) |
---|
| 199 | + | let aA = (az - ax) |
---|
| 200 | + | let aB = F(aA, av) |
---|
| 201 | + | let aC = n(aB, C) |
---|
| 202 | + | let ae = z(y) |
---|
| 203 | + | let aD = D(av) |
---|
| 204 | + | if ((aD == aD)) |
---|
200 | 205 | | then { |
---|
201 | | - | let aA = invoke(ac, "closePosition", [al, q, 0, false, ""], nil) |
---|
202 | | - | if ((aA == aA)) |
---|
| 206 | + | let aE = invoke(ae, "closePosition", [an, r, 0, false, ""], nil) |
---|
| 207 | + | if ((aE == aE)) |
---|
203 | 208 | | then { |
---|
204 | | - | let aB = C(ar) |
---|
205 | | - | if ((aB == aB)) |
---|
| 209 | + | let aF = D(av) |
---|
| 210 | + | if ((aF == aF)) |
---|
206 | 211 | | then { |
---|
207 | | - | let aC = (aB - az) |
---|
208 | | - | let ah = m(aC, al) |
---|
209 | | - | let ai = (l - m(ah, ay)) |
---|
210 | | - | if ((am > ai)) |
---|
211 | | - | then { |
---|
212 | | - | let aq = [toString(ax), toString(ay), toString(aC), toString(ah), toString(ai), toString(am)] |
---|
213 | | - | throw(("Valid spread for close: " + makeString(aq, ","))) |
---|
214 | | - | } |
---|
| 212 | + | let aG = (aF - aD) |
---|
| 213 | + | let aj = n(aG, an) |
---|
| 214 | + | let aH = (aG + aA) |
---|
| 215 | + | if ((aH > ap)) |
---|
| 216 | + | then O(y) |
---|
215 | 217 | | else { |
---|
216 | | - | let aq = [toString(ax), toString(ay), toString(aC), toString(ah), toString(ai), toString(am)] |
---|
217 | | - | throw(("Invalid spread for close: " + makeString(aq, ","))) |
---|
| 218 | + | let au = [toString(aB), toString(aC), toString(aG), toString(aj)] |
---|
| 219 | + | throw(("Invalid spread for close: " + makeString(au, ","))) |
---|
218 | 220 | | } |
---|
219 | 221 | | } |
---|
220 | 222 | | else throw("Strict value is not equal to itself.") |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 6 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = "k_initialized" |
---|
5 | 5 | | |
---|
6 | 6 | | let b = "k_admin" |
---|
7 | 7 | | |
---|
8 | 8 | | let c = "k_step" |
---|
9 | 9 | | |
---|
10 | 10 | | let d = "k_quoteAsset" |
---|
11 | 11 | | |
---|
12 | 12 | | let e = "k_spotMarket" |
---|
13 | 13 | | |
---|
14 | 14 | | let f = "k_futuresMarket" |
---|
15 | 15 | | |
---|
16 | 16 | | let g = "k_minIncreaseSpread" |
---|
17 | 17 | | |
---|
18 | 18 | | let h = "k_positionLong" |
---|
19 | 19 | | |
---|
20 | 20 | | let i = "k_positionShort" |
---|
21 | 21 | | |
---|
22 | 22 | | let j = "k_positionSpread" |
---|
23 | 23 | | |
---|
24 | | - | let k = "k_positionSize" |
---|
| 24 | + | let k = "k_positionMoney" |
---|
25 | 25 | | |
---|
26 | | - | let l = (1 * (((((10 * 10) * 10) * 10) * 10) * 10)) |
---|
| 26 | + | let l = "k_positionSize" |
---|
27 | 27 | | |
---|
28 | | - | func m (n,o) = fraction(n, l, o, HALFEVEN) |
---|
| 28 | + | let m = (1 * (((((10 * 10) * 10) * 10) * 10) * 10)) |
---|
| 29 | + | |
---|
| 30 | + | func n (o,p) = fraction(o, m, p, HALFEVEN) |
---|
29 | 31 | | |
---|
30 | 32 | | |
---|
31 | | - | func p (n,o) = fraction(n, o, l, HALFEVEN) |
---|
| 33 | + | func q (o,p) = fraction(o, p, m, HALFEVEN) |
---|
32 | 34 | | |
---|
33 | 35 | | |
---|
34 | | - | let q = 2 |
---|
| 36 | + | let r = 2 |
---|
35 | 37 | | |
---|
36 | | - | func r (s,t) = ((s + "_") + t) |
---|
| 38 | + | func s (t,u) = ((t + "_") + u) |
---|
37 | 39 | | |
---|
38 | 40 | | |
---|
39 | | - | func u () = addressFromStringValue(getStringValue(this, b)) |
---|
| 41 | + | func v () = addressFromStringValue(getStringValue(this, b)) |
---|
40 | 42 | | |
---|
41 | 43 | | |
---|
42 | | - | func v () = fromBase58String(getStringValue(this, d)) |
---|
| 44 | + | func w () = fromBase58String(getStringValue(this, d)) |
---|
43 | 45 | | |
---|
44 | 46 | | |
---|
45 | | - | func w (x) = addressFromStringValue(getStringValue(this, r(e, x))) |
---|
| 47 | + | func x (y) = addressFromStringValue(getStringValue(this, s(e, y))) |
---|
46 | 48 | | |
---|
47 | 49 | | |
---|
48 | | - | func y (x) = addressFromStringValue(getStringValue(this, r(f, x))) |
---|
| 50 | + | func z (y) = addressFromStringValue(getStringValue(this, s(f, y))) |
---|
49 | 51 | | |
---|
50 | 52 | | |
---|
51 | | - | func z () = getIntegerValue(this, g) |
---|
| 53 | + | func A () = getIntegerValue(this, g) |
---|
52 | 54 | | |
---|
53 | 55 | | |
---|
54 | | - | func A (x) = { |
---|
55 | | - | let B = valueOrElse(getInteger(this, r(h, x)), 0) |
---|
56 | | - | if ((B == 0)) |
---|
57 | | - | then $Tuple3(0, 0, 0) |
---|
58 | | - | else $Tuple3(B, valueOrElse(getInteger(this, r(i, x)), 0), valueOrElse(getInteger(this, r(j, x)), 0)) |
---|
| 56 | + | func B (y) = { |
---|
| 57 | + | let C = valueOrElse(getInteger(this, s(h, y)), 0) |
---|
| 58 | + | if ((C == 0)) |
---|
| 59 | + | then $Tuple4(0, 0, 0, 0) |
---|
| 60 | + | else $Tuple4(C, valueOrElse(getInteger(this, s(i, y)), 0), valueOrElse(getInteger(this, s(j, y)), 0), valueOrElse(getInteger(this, s(k, y)), 0)) |
---|
59 | 61 | | } |
---|
60 | 62 | | |
---|
61 | 63 | | |
---|
62 | | - | func C (x) = if ((x == "WAVES")) |
---|
| 64 | + | func D (y) = if ((y == "WAVES")) |
---|
63 | 65 | | then wavesBalance(this).regular |
---|
64 | | - | else assetBalance(this, fromBase58String(x)) |
---|
| 66 | + | else assetBalance(this, fromBase58String(y)) |
---|
65 | 67 | | |
---|
66 | 68 | | |
---|
67 | | - | func D (x) = if ((x == "WAVES")) |
---|
| 69 | + | func E (y) = if ((y == "WAVES")) |
---|
68 | 70 | | then unit |
---|
69 | | - | else fromBase58String(x) |
---|
| 71 | + | else fromBase58String(y) |
---|
70 | 72 | | |
---|
71 | 73 | | |
---|
72 | | - | func E (F,x) = { |
---|
73 | | - | let G = if ((x == "WAVES")) |
---|
| 74 | + | func F (G,y) = { |
---|
| 75 | + | let H = if ((y == "WAVES")) |
---|
74 | 76 | | then 8 |
---|
75 | | - | else value(assetInfo(fromBase58String(x))).decimals |
---|
76 | | - | if ((G == 8)) |
---|
77 | | - | then (F / 100) |
---|
78 | | - | else if ((G == 6)) |
---|
79 | | - | then F |
---|
| 77 | + | else value(assetInfo(fromBase58String(y))).decimals |
---|
| 78 | + | if ((H == 8)) |
---|
| 79 | + | then (G / 100) |
---|
| 80 | + | else if ((H == 6)) |
---|
| 81 | + | then G |
---|
80 | 82 | | else throw("Invalid decimals for asset") |
---|
81 | 83 | | } |
---|
82 | 84 | | |
---|
83 | 85 | | |
---|
84 | | - | func H (F,x) = { |
---|
85 | | - | let G = if ((x == "WAVES")) |
---|
| 86 | + | func I (G,y) = { |
---|
| 87 | + | let H = if ((y == "WAVES")) |
---|
86 | 88 | | then 8 |
---|
87 | | - | else value(assetInfo(fromBase58String(x))).decimals |
---|
88 | | - | if ((G == 8)) |
---|
89 | | - | then (F * 100) |
---|
90 | | - | else if ((G == 6)) |
---|
91 | | - | then F |
---|
| 89 | + | else value(assetInfo(fromBase58String(y))).decimals |
---|
| 90 | + | if ((H == 8)) |
---|
| 91 | + | then (G * 100) |
---|
| 92 | + | else if ((H == 6)) |
---|
| 93 | + | then G |
---|
92 | 94 | | else throw("Invalid decimals for asset") |
---|
93 | 95 | | } |
---|
94 | 96 | | |
---|
95 | 97 | | |
---|
96 | | - | func I (x,J,K,L) = [IntegerEntry(r(h, x), J), IntegerEntry(r(i, x), K), IntegerEntry(r(j, x), L)] |
---|
| 98 | + | func J (y,K,L,M,N) = [IntegerEntry(s(h, y), K), IntegerEntry(s(i, y), L), IntegerEntry(s(j, y), M), IntegerEntry(s(k, y), N)] |
---|
97 | 99 | | |
---|
98 | 100 | | |
---|
99 | | - | func M (x) = [DeleteEntry(r(h, x)), DeleteEntry(r(i, x)), DeleteEntry(r(j, x))] |
---|
| 101 | + | func O (y) = [DeleteEntry(s(h, y)), DeleteEntry(s(i, y)), DeleteEntry(s(j, y)), DeleteEntry(s(k, y))] |
---|
100 | 102 | | |
---|
101 | 103 | | |
---|
102 | | - | @Callable(N) |
---|
103 | | - | func initialize (O,P) = if ((N.caller != this)) |
---|
| 104 | + | @Callable(P) |
---|
| 105 | + | func initialize (Q,R) = if ((P.caller != this)) |
---|
104 | 106 | | then throw("Invalid initialize params") |
---|
105 | | - | else [StringEntry(b, O), StringEntry(d, P)] |
---|
| 107 | + | else [StringEntry(b, Q), StringEntry(d, R)] |
---|
106 | 108 | | |
---|
107 | 109 | | |
---|
108 | 110 | | |
---|
109 | | - | @Callable(N) |
---|
110 | | - | func changeSettings (Q) = if ((N.caller != u())) |
---|
| 111 | + | @Callable(P) |
---|
| 112 | + | func changeSettings (S) = if ((P.caller != v())) |
---|
111 | 113 | | then throw("Invalid changeSettings params") |
---|
112 | | - | else [IntegerEntry(g, Q)] |
---|
| 114 | + | else [IntegerEntry(g, S)] |
---|
113 | 115 | | |
---|
114 | 116 | | |
---|
115 | 117 | | |
---|
116 | | - | @Callable(N) |
---|
117 | | - | func addMarket (x,R,S) = if ((N.caller != u())) |
---|
| 118 | + | @Callable(P) |
---|
| 119 | + | func addMarket (y,T,U) = if ((P.caller != v())) |
---|
118 | 120 | | then throw("Invalid addMarket params") |
---|
119 | | - | else [StringEntry(r(e, x), R), StringEntry(r(f, x), S)] |
---|
| 121 | + | else [StringEntry(s(e, y), T), StringEntry(s(f, y), U)] |
---|
120 | 122 | | |
---|
121 | 123 | | |
---|
122 | 124 | | |
---|
123 | | - | @Callable(N) |
---|
124 | | - | func increasePosition (x,T) = { |
---|
125 | | - | let U = v() |
---|
126 | | - | let V = w(x) |
---|
127 | | - | let W = C(x) |
---|
128 | | - | if ((W == W)) |
---|
| 125 | + | @Callable(P) |
---|
| 126 | + | func increasePosition (y,V) = { |
---|
| 127 | + | let W = w() |
---|
| 128 | + | let X = x(y) |
---|
| 129 | + | let Y = D(y) |
---|
| 130 | + | if ((Y == Y)) |
---|
129 | 131 | | then { |
---|
130 | | - | let X = invoke(V, "swap", [0, x, toString(this)], [AttachedPayment(U, T)]) |
---|
131 | | - | if ((X == X)) |
---|
| 132 | + | let Z = invoke(X, "swap", [0, y, toString(this)], [AttachedPayment(W, V)]) |
---|
| 133 | + | if ((Z == Z)) |
---|
132 | 134 | | then { |
---|
133 | | - | let Y = C(x) |
---|
134 | | - | if ((Y == Y)) |
---|
| 135 | + | let aa = D(y) |
---|
| 136 | + | if ((aa == aa)) |
---|
135 | 137 | | then { |
---|
136 | | - | let Z = (Y - W) |
---|
137 | | - | let aa = E(Z, x) |
---|
138 | | - | let ab = m(T, aa) |
---|
139 | | - | let ac = y(x) |
---|
140 | | - | let ad = invoke(ac, "increasePosition", [q, l, 0, "", ""], [AttachedPayment(U, T)]) |
---|
141 | | - | if ((ad == ad)) |
---|
| 138 | + | let ab = (aa - Y) |
---|
| 139 | + | let ac = F(ab, y) |
---|
| 140 | + | let ad = n(V, ac) |
---|
| 141 | + | let ae = z(y) |
---|
| 142 | + | let af = invoke(ae, "increasePosition", [r, m, 0, "", ""], [AttachedPayment(W, V)]) |
---|
| 143 | + | if ((af == af)) |
---|
142 | 144 | | then { |
---|
143 | | - | let ae = ((toString(this) + "_") + toString(q)) |
---|
144 | | - | let af = r(k, ae) |
---|
145 | | - | let ag = -(getIntegerValue(ac, af)) |
---|
146 | | - | let ah = m(T, ag) |
---|
147 | | - | let ai = (l - m(ab, ah)) |
---|
148 | | - | let aj = z() |
---|
149 | | - | if ((ai > aj)) |
---|
| 145 | + | let ag = ((toString(this) + "_") + toString(r)) |
---|
| 146 | + | let ah = s(l, ag) |
---|
| 147 | + | let ai = -(getIntegerValue(ae, ah)) |
---|
| 148 | + | let aj = n(V, ai) |
---|
| 149 | + | let ak = (m - n(ad, aj)) |
---|
| 150 | + | let al = A() |
---|
| 151 | + | if ((ak > al)) |
---|
150 | 152 | | then { |
---|
151 | | - | let ak = A(x) |
---|
152 | | - | let B = ak._1 |
---|
153 | | - | let al = ak._2 |
---|
154 | | - | let am = ak._3 |
---|
155 | | - | let an = (B + aa) |
---|
156 | | - | let ao = (al + ag) |
---|
157 | | - | let ap = m((p(am, (B + al)) + p(ai, (aa + ag))), (((B + al) + aa) + ag)) |
---|
158 | | - | I(x, an, ao, ap) |
---|
| 153 | + | let am = B(y) |
---|
| 154 | + | let C = am._1 |
---|
| 155 | + | let an = am._2 |
---|
| 156 | + | let ao = am._3 |
---|
| 157 | + | let ap = am._4 |
---|
| 158 | + | let aq = (C + ac) |
---|
| 159 | + | let ar = (an + ai) |
---|
| 160 | + | let as = n((q(ao, (C + an)) + q(ak, (ac + ai))), (((C + an) + ac) + ai)) |
---|
| 161 | + | let at = (ap + (V * 2)) |
---|
| 162 | + | J(y, aq, ar, as, at) |
---|
159 | 163 | | } |
---|
160 | 164 | | else { |
---|
161 | | - | let aq = [toString(aa), toString(ab), toString(ag), toString(ah), toString(ai), toString(aj)] |
---|
162 | | - | throw(("Invalid spread: " + makeString(aq, ","))) |
---|
| 165 | + | let au = [toString(ac), toString(ad), toString(ai), toString(aj), toString(ak), toString(al)] |
---|
| 166 | + | throw(("Invalid spread: " + makeString(au, ","))) |
---|
163 | 167 | | } |
---|
164 | 168 | | } |
---|
165 | 169 | | else throw("Strict value is not equal to itself.") |
---|
166 | 170 | | } |
---|
167 | 171 | | else throw("Strict value is not equal to itself.") |
---|
168 | 172 | | } |
---|
169 | 173 | | else throw("Strict value is not equal to itself.") |
---|
170 | 174 | | } |
---|
171 | 175 | | else throw("Strict value is not equal to itself.") |
---|
172 | 176 | | } |
---|
173 | 177 | | |
---|
174 | 178 | | |
---|
175 | 179 | | |
---|
176 | | - | @Callable(N) |
---|
177 | | - | func closePosition (x) = { |
---|
178 | | - | let U = v() |
---|
179 | | - | let ar = toBase58String(U) |
---|
180 | | - | let V = w(x) |
---|
181 | | - | let as = A(x) |
---|
182 | | - | let B = as._1 |
---|
183 | | - | let al = as._2 |
---|
184 | | - | let am = as._3 |
---|
185 | | - | let at = C(ar) |
---|
186 | | - | if ((at == at)) |
---|
| 180 | + | @Callable(P) |
---|
| 181 | + | func closePosition (y) = { |
---|
| 182 | + | let W = w() |
---|
| 183 | + | let av = toBase58String(W) |
---|
| 184 | + | let X = x(y) |
---|
| 185 | + | let aw = B(y) |
---|
| 186 | + | let C = aw._1 |
---|
| 187 | + | let an = aw._2 |
---|
| 188 | + | let ao = aw._3 |
---|
| 189 | + | let ap = aw._4 |
---|
| 190 | + | let ax = D(av) |
---|
| 191 | + | if ((ax == ax)) |
---|
187 | 192 | | then { |
---|
188 | | - | let au = invoke(V, "swap", [0, ar, toString(this)], [AttachedPayment(D(x), H(B, x))]) |
---|
189 | | - | if ((au == au)) |
---|
| 193 | + | let ay = invoke(X, "swap", [0, av, toString(this)], [AttachedPayment(E(y), I(C, y))]) |
---|
| 194 | + | if ((ay == ay)) |
---|
190 | 195 | | then { |
---|
191 | | - | let av = C(ar) |
---|
192 | | - | if ((av == av)) |
---|
| 196 | + | let az = D(av) |
---|
| 197 | + | if ((az == az)) |
---|
193 | 198 | | then { |
---|
194 | | - | let aw = (av - at) |
---|
195 | | - | let ax = E(aw, ar) |
---|
196 | | - | let ay = m(ax, B) |
---|
197 | | - | let ac = y(x) |
---|
198 | | - | let az = C(ar) |
---|
199 | | - | if ((az == az)) |
---|
| 199 | + | let aA = (az - ax) |
---|
| 200 | + | let aB = F(aA, av) |
---|
| 201 | + | let aC = n(aB, C) |
---|
| 202 | + | let ae = z(y) |
---|
| 203 | + | let aD = D(av) |
---|
| 204 | + | if ((aD == aD)) |
---|
200 | 205 | | then { |
---|
201 | | - | let aA = invoke(ac, "closePosition", [al, q, 0, false, ""], nil) |
---|
202 | | - | if ((aA == aA)) |
---|
| 206 | + | let aE = invoke(ae, "closePosition", [an, r, 0, false, ""], nil) |
---|
| 207 | + | if ((aE == aE)) |
---|
203 | 208 | | then { |
---|
204 | | - | let aB = C(ar) |
---|
205 | | - | if ((aB == aB)) |
---|
| 209 | + | let aF = D(av) |
---|
| 210 | + | if ((aF == aF)) |
---|
206 | 211 | | then { |
---|
207 | | - | let aC = (aB - az) |
---|
208 | | - | let ah = m(aC, al) |
---|
209 | | - | let ai = (l - m(ah, ay)) |
---|
210 | | - | if ((am > ai)) |
---|
211 | | - | then { |
---|
212 | | - | let aq = [toString(ax), toString(ay), toString(aC), toString(ah), toString(ai), toString(am)] |
---|
213 | | - | throw(("Valid spread for close: " + makeString(aq, ","))) |
---|
214 | | - | } |
---|
| 212 | + | let aG = (aF - aD) |
---|
| 213 | + | let aj = n(aG, an) |
---|
| 214 | + | let aH = (aG + aA) |
---|
| 215 | + | if ((aH > ap)) |
---|
| 216 | + | then O(y) |
---|
215 | 217 | | else { |
---|
216 | | - | let aq = [toString(ax), toString(ay), toString(aC), toString(ah), toString(ai), toString(am)] |
---|
217 | | - | throw(("Invalid spread for close: " + makeString(aq, ","))) |
---|
| 218 | + | let au = [toString(aB), toString(aC), toString(aG), toString(aj)] |
---|
| 219 | + | throw(("Invalid spread for close: " + makeString(au, ","))) |
---|
218 | 220 | | } |
---|
219 | 221 | | } |
---|
220 | 222 | | else throw("Strict value is not equal to itself.") |
---|
221 | 223 | | } |
---|
222 | 224 | | else throw("Strict value is not equal to itself.") |
---|
223 | 225 | | } |
---|
224 | 226 | | else throw("Strict value is not equal to itself.") |
---|
225 | 227 | | } |
---|
226 | 228 | | else throw("Strict value is not equal to itself.") |
---|
227 | 229 | | } |
---|
228 | 230 | | else throw("Strict value is not equal to itself.") |
---|
229 | 231 | | } |
---|
230 | 232 | | else throw("Strict value is not equal to itself.") |
---|
231 | 233 | | } |
---|
232 | 234 | | |
---|
233 | 235 | | |
---|