tx · 6Q7re2xxxF5Rt8FVpAmC3YQ443DEwJ9PzQfjKk4ZPdLJ

3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9:  -0.01000000 Waves

2024.03.26 15:55 [4100955] smart account 3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9 > SELF 0.00000000 Waves

{ "type": 13, "id": "6Q7re2xxxF5Rt8FVpAmC3YQ443DEwJ9PzQfjKk4ZPdLJ", "fee": 1000000, "feeAssetId": null, "timestamp": 1711457796730, "version": 2, "chainId": 87, "sender": "3PCxF4JryswYYp9mpUtE725wjTgvpBmp3M9", "senderPublicKey": "ABaPDrNzForWeg3KKG9KFKPWxuihEJxK9fjZ9nDfvE26", "proofs": [ "5wceDqLtubpuNfDaQrQLEyA4KXDmYzsk9pvqzS456MnZUcuh1TKoaGbsDL5drn2x9GYMd8EwinaGfQBvTUMQPJVg" ], "script": "base64:BgIdCAISAwoBBBIDCgEEEgMKAQESBAoCCAESABIAEgAcAAdpbnZva2VyCQEHQWRkcmVzcwEBGgFXGIkbJG0v4kSlsrku0GQjUC4p33Iw2jJZAAhVU0RUZGFwcAkBB0FkZHJlc3MBARoBV/vUnCdwV8wz3/ojSSJAuO9JsGyMCfRFeQAIVVNEQ2RhcHAJAQdBZGRyZXNzAQEaAVfPpo3ezb7Njd2/69fniUZAvbnmA3k/GHIACnplcm9CaWdJbnQJALYCAQAAAARiaWcwCQC2AgEAAAAEYmlnMQkAtgIBAAEABGJpZzIJALYCAQACAARiaWczCQC2AgEAAwAEYmlnNAkAtgIBAAQAC3dhdmVzU3RyaW5nAgVXQVZFUwAFQW11bHQCAzEwMAAVa2V5U2VsZWN0b3JJc1NodXRkb3duAhRzZWxlY3Rvcl9pc19zaHV0ZG93bgAEYW1JZAIsM2F5SDNQaFdNa2hGc3lTc1VWY0M4QnZGZjFReXhHQjVCWnVUUHlWdG1QNHYABHBySWQCLEc1V1dXenpWc1dSeXpHZjMyeG9qYm5mcDdnWGJXcmdxSlQ4UmNWV0VmTG1DAAFBAgQyMDAwABBrZXlUcmFkaW5nVm9sdW1lAh10b3RhbCB0cmFkaW5nIHZvbHVtZSBjZW50bGV0cwANa2V5SW52b2tlTmV4dAILaW52b2tlIG5leHQAA2ZlZQABAAhmZWVTY2FsZQCQTgACZDYAwIQ9AQ10cnlHZXRJbnRlZ2VyAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAmggCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABD2Fzc2V0SWRUb1N0cmluZwEFaW5wdXQDCQAAAgUFaW5wdXQFBHVuaXQFC3dhdmVzU3RyaW5nCQDYBAEJAQV2YWx1ZQEFBWlucHV0AQlhYnNCaWdJbnQBA3ZhbAMJAL8CAgUKemVyb0JpZ0ludAUDdmFsCQC+AgEFA3ZhbAUDdmFsAQ1nZXRBY2NCYWxhbmNlAQdhc3NldElkAwkAAAIFB2Fzc2V0SWQFBGFtSWQJAGQCCQDwBwIFBHRoaXMJANkEAQUHYXNzZXRJZAkBEUBleHRyTmF0aXZlKDEwNTApAgUIVVNEQ2RhcHAJAKwCAgIJVVNFUl9MUF9fCQClCAEFBHRoaXMJAGQCCQDwBwIFBHRoaXMJANkEAQUHYXNzZXRJZAkBEUBleHRyTmF0aXZlKDEwNTApAgUIVVNEVGRhcHAJAKwCAgIJVVNFUl9MUF9fCQClCAEFBHRoaXMBDHBhcnNlQXNzZXRJZAEFaW5wdXQDCQAAAgUFaW5wdXQFC3dhdmVzU3RyaW5nBQR1bml0CQDZBAEFBWlucHV0AQRnZXREAQJ4cAQDeHAwCQCRAwIFAnhwAAAEA3hwMQkAkQMCBQJ4cAABBAFzCQC3AgIFA3hwMAUDeHAxAwkAAAIFAXMFBGJpZzAFBGJpZzAEAWEJAQ1wYXJzZUludFZhbHVlAQUBQQQDYW5uCQBoAgUBYQACBAFwCQC8AgMFA3hwMAUDeHAxBQRiaWcxBAt4cDBfeHAxX25fbgkAvAIDBQFwBQRiaWc0BQRiaWcxBAVhbm5fcwkAvAIDCQC2AgEFA2FubgUBcwUEYmlnMQQFYW5uXzEJALYCAQkAZQIFA2FubgABCgEJY2FsY0ROZXh0AQFkBAJkZAkAvAIDBQFkBQFkBQRiaWcxBANkZGQJALwCAwUCZGQFAWQFBGJpZzEEAmRwCQC8AgMFA2RkZAUEYmlnMQULeHAwX3hwMV9uX24JALwCAwkAtwICBQVhbm5fcwkAvAIDBQJkcAUEYmlnMgUEYmlnMQUBZAkAtwICCQC8AgMFBWFubl8xBQFkBQRiaWcxCQC8AgMFBGJpZzMFAmRwBQRiaWcxCgEEY2FsYwIDYWNjAWkDCAUDYWNjAl8yBQNhY2MEAWQIBQNhY2MCXzEEBWROZXh0CQEJY2FsY0ROZXh0AQUBZAQIZERpZmZSYXcJALgCAgUFZE5leHQJAQV2YWx1ZQEFAWQEBWREaWZmAwkAvwICBQRiaWcwBQhkRGlmZlJhdwkAvgIBBQhkRGlmZlJhdwUIZERpZmZSYXcDCQDAAgIFBGJpZzEFBWREaWZmCQCUCgIFBWROZXh0BgkAlAoCBQVkTmV4dAcEA2FycgkAzAgCAAAJAMwIAgABCQDMCAIAAgkAzAgCAAMJAMwIAgAECQDMCAIABQkAzAgCAAYJAMwIAgAHCQDMCAIACAkAzAgCAAkJAMwIAgAKCQDMCAIACwkAzAgCAAwJAMwIAgANCQDMCAIADgkAzAgCAA8JAMwIAgAQBQNuaWwECyR0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MAkAmwgCBQR0aGlzAgtpc19zaHV0ZG93bgMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAF4BQckbWF0Y2gwBQF4BwcBaQEIc2h1dGRvd24BCHNodXRkb3duAwkAAAIIBQFpBmNhbGxlcgUEdGhpcwkAzAgCCQEMQm9vbGVhbkVudHJ5AgILaXNfc2h1dGRvd24FCHNodXRkb3duBQNuaWwJAAIBAgphZG1pbiBvbmx5AWkBEHNodXRkb3duU2VsZWN0b3IBCHNodXRkb3duAwkAAAIIBQFpBmNhbGxlcgUEdGhpcwkAzAgCCQEMQm9vbGVhbkVudHJ5AgUVa2V5U2VsZWN0b3JJc1NodXRkb3duBQhzaHV0ZG93bgUDbmlsCQACAQIKYWRtaW4gb25seQFpAQRzd2FwAQxhbW91bnRPdXRNaW4DAwkAAAIJAQppc1NodXRkb3duAAYJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBARoBV44d5lHKOCPOw5HDxFaL1YPTb4hW/zbdCwcJAAIBAhRjb250cmFjdCBpcyBzaHV0ZG93bgQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAECGFtb3VudEluAwkAZgIJAGkCBQJkNgAKCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAAgECC21pbmltdW0gMC4xCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQNZmVlUG9vbEFtb3VudAkAawMFCGFtb3VudEluBQNmZWUFCGZlZVNjYWxlBA1jbGVhbkFtb3VudEluCQBlAgUIYW1vdW50SW4FDWZlZVBvb2xBbW91bnQEB2Fzc2V0SW4DAwkAAAIJAQ9hc3NldElkVG9TdHJpbmcBCAUDcG10B2Fzc2V0SWQFBGFtSWQGCQAAAgkBD2Fzc2V0SWRUb1N0cmluZwEIBQNwbXQHYXNzZXRJZAUEcHJJZAkBD2Fzc2V0SWRUb1N0cmluZwEIBQNwbXQHYXNzZXRJZAkAAgECDndyb25nIGFzc2V0IGlkBAlpc1JldmVyc2UDCQAAAgUHYXNzZXRJbgUEYW1JZAcGBAhBc3NldE91dAMJAAACBQdhc3NldEluBQRhbUlkBQRwcklkBQRhbUlkBAskdDA2MDkwNjQ3MAMJAAACBQlpc1JldmVyc2UHBAhhc3NldE91dAUEcHJJZAQTcG9vbEFtb3VudEluQmFsYW5jZQkAtwICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEYW1JZAkAtgIBBQ1jbGVhbkFtb3VudEluCQCUCgIFCGFzc2V0T3V0BRNwb29sQW1vdW50SW5CYWxhbmNlBAhhc3NldE91dAUEYW1JZAQTcG9vbEFtb3VudEluQmFsYW5jZQkAtwICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAkAtgIBBQ1jbGVhbkFtb3VudEluCQCUCgIFCGFzc2V0T3V0BRNwb29sQW1vdW50SW5CYWxhbmNlBAhhc3NldE91dAgFCyR0MDYwOTA2NDcwAl8xBBNwb29sQW1vdW50SW5CYWxhbmNlCAULJHQwNjA5MDY0NzACXzIEAnhwAwkAAAIFCWlzUmV2ZXJzZQcJAMwIAgkAuAICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEYW1JZAkAtgIBCAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAzAgCCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAUDbmlsCQDMCAIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQDMCAIJALgCAgkAtgIBCQENZ2V0QWNjQmFsYW5jZQEFBHBySWQJALYCAQgJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQFA25pbAQBRAkBBGdldEQBBQJ4cAQBeQkBBGdldFkDBQlpc1JldmVyc2UFAUQJALYCAQAABAJkeQkAuAICCQC4AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQhBc3NldE91dAUBeQkAtgIBAAEEC3RvdGFsR2V0UmF3CQCWAwEJAMwIAgAACQDMCAIJAKADAQUCZHkFA25pbAQIY2hlY2tNaW4DCQBnAgULdG90YWxHZXRSYXcFDGFtb3VudE91dE1pbgYJAAIBAixFeGNoYW5nZSByZXN1bHQgaXMgZmV3ZXIgY29pbnMgdGhhbiBleHBlY3RlZAMJAAACBQhjaGVja01pbgUIY2hlY2tNaW4EBW5ld1hwAwkAAAIFCWlzUmV2ZXJzZQcJAMwIAgkAtwICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEYW1JZAkAtgIBBQ1mZWVQb29sQW1vdW50CQDMCAIJALgCAgkAtgIBCQENZ2V0QWNjQmFsYW5jZQEFBHBySWQFAmR5BQNuaWwJAMwIAgkAuAICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEYW1JZAUCZHkJAMwIAgkAtwICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAkAtgIBBQ1mZWVQb29sQW1vdW50BQNuaWwEBG5ld0QJAQRnZXREAQUFbmV3WHAEBmNoZWNrRAMJAMACAgUEbmV3RAUBRAYJAAIBAhRuZXcgRCBpcyBmZXdlciBlcnJvcgMJAAACBQZjaGVja0QFBmNoZWNrRAQHdW5zdGFrZQMJAAACBQhBc3NldE91dAUEYW1JZAMJAGYCBQt0b3RhbEdldFJhdwkA8AcCBQR0aGlzASAmayw0f5EMiLgWXB633gaEsrOhJTNLbYg6Ch9lNW5viwkA/AcEBQhVU0RDZGFwcAIHdW5zdGFrZQkAzAgCCQBlAgULdG90YWxHZXRSYXcJAPAHAgUEdGhpcwEgJmssNH+RDIi4Flwet94GhLKzoSUzS22IOgofZTVub4sFA25pbAUDbmlsBQR1bml0AwkAZgIFC3RvdGFsR2V0UmF3CQDwBwIFBHRoaXMBIOAG/jNgURmsDaH0/Lr83+C6nyVqY4hD5jTlJpTwnV8PCQD8BwQFCFVTRFRkYXBwAgd1bnN0YWtlCQDMCAIJAGUCBQt0b3RhbEdldFJhdwkA8AcCBQR0aGlzASDgBv4zYFEZrA2h9Py6/N/gup8lamOIQ+Y05SaU8J1fDwUDbmlsBQNuaWwFBHVuaXQDCQAAAgUHdW5zdGFrZQUHdW5zdGFrZQQFc3Rha2UDCQAAAgUIQXNzZXRPdXQFBGFtSWQJAPwHBAUIVVNEVGRhcHACBXN0YWtlBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJANkEAQUEcHJJZAkA8AcCBQR0aGlzCQDZBAEFBHBySWQFA25pbAkA/AcEBQhVU0RDZGFwcAIFc3Rha2UFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBBQRhbUlkCQDwBwIFBHRoaXMJANkEAQUEYW1JZAUDbmlsAwkAAAIFBXN0YWtlBQVzdGFrZQQIc2VsZWN0b3IDCQAAAgkAmwgCBQR0aGlzBRVrZXlTZWxlY3RvcklzU2h1dGRvd24GBQR1bml0AwkAAAIJARFAZXh0ck5hdGl2ZSgxMDUwKQIFB2ludm9rZXIFDWtleUludm9rZU5leHQARgkA/AcEBQR0aGlzAghjbGFpbUFsbAUDbmlsBQNuaWwJAPwHBAUHaW52b2tlcgIIc2VsZWN0b3IFA25pbAUDbmlsAwkAAAIFCHNlbGVjdG9yBQhzZWxlY3RvcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3RvdGFsR2V0UmF3CQEMcGFyc2VBc3NldElkAQUIYXNzZXRPdXQJAMwIAgkBDEludGVnZXJFbnRyeQIFEGtleVRyYWRpbmdWb2x1bWUJAGQCBQhhbW91bnRJbgkBDXRyeUdldEludGVnZXICBQR0aGlzBRBrZXlUcmFkaW5nVm9sdW1lBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIcmVhZFN3YXACB0Fzc2V0SW4IQW1vdW50SW4DAwkAAAIJAQppc1NodXRkb3duAAYJAQIhPQIIBQFpBmNhbGxlcgkBB0FkZHJlc3MBARoBV44d5lHKOCPOw5HDxFaL1YPTb4hW/zbdCwcJAAIBAhRjb250cmFjdCBpcyBzaHV0ZG93bgQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAECGFtb3VudEluAwkAZgIJAGkCBQJkNgAKCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAAgECC21pbmltdW0gMC4xCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQNZmVlUG9vbEFtb3VudAkAawMFCGFtb3VudEluBQNmZWUFCGZlZVNjYWxlBA1jbGVhbkFtb3VudEluCQBlAgUIYW1vdW50SW4FDWZlZVBvb2xBbW91bnQEB2Fzc2V0SW4DAwkAAAIJAQ9hc3NldElkVG9TdHJpbmcBCAUDcG10B2Fzc2V0SWQFBGFtSWQGCQAAAgkBD2Fzc2V0SWRUb1N0cmluZwEIBQNwbXQHYXNzZXRJZAUEcHJJZAkBD2Fzc2V0SWRUb1N0cmluZwEIBQNwbXQHYXNzZXRJZAkAAgECDndyb25nIGFzc2V0IGlkBAlpc1JldmVyc2UDCQAAAgUHYXNzZXRJbgUEYW1JZAcGBAhBc3NldE91dAMJAAACBQdhc3NldEluBQRhbUlkBQRwcklkBQRhbUlkBAskdDA5MzIwOTcwMAMJAAACBQlpc1JldmVyc2UHBAhhc3NldE91dAUEcHJJZAQTcG9vbEFtb3VudEluQmFsYW5jZQkAtwICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEYW1JZAkAtgIBBQ1jbGVhbkFtb3VudEluCQCUCgIFCGFzc2V0T3V0BRNwb29sQW1vdW50SW5CYWxhbmNlBAhhc3NldE91dAUEYW1JZAQTcG9vbEFtb3VudEluQmFsYW5jZQkAtwICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAkAtgIBBQ1jbGVhbkFtb3VudEluCQCUCgIFCGFzc2V0T3V0BRNwb29sQW1vdW50SW5CYWxhbmNlBAhhc3NldE91dAgFCyR0MDkzMjA5NzAwAl8xBBNwb29sQW1vdW50SW5CYWxhbmNlCAULJHQwOTMyMDk3MDACXzIEAnhwAwkAAAIFCWlzUmV2ZXJzZQcJAMwIAgkAuAICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEYW1JZAkAtgIBCAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAkAzAgCCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAUDbmlsCQDMCAIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQDMCAIJALgCAgkAtgIBCQENZ2V0QWNjQmFsYW5jZQEFBHBySWQJALYCAQgJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQFA25pbAQBRAkBBGdldEQBBQJ4cAQBeQkBBGdldFkDBQlpc1JldmVyc2UFAUQJALYCAQAABAJkeQkAuAICCQC4AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQhBc3NldE91dAUBeQkAtgIBAAEEC3RvdGFsR2V0UmF3CQCWAwEJAMwIAgAACQDMCAIJAKADAQUCZHkFA25pbAQFbmV3WHADCQAAAgUJaXNSZXZlcnNlBwkAzAgCCQC3AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQC2AgEFDWZlZVBvb2xBbW91bnQJAMwIAgkAuAICCQC2AgEJAQ1nZXRBY2NCYWxhbmNlAQUEcHJJZAUCZHkFA25pbAkAzAgCCQC4AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRhbUlkBQJkeQkAzAgCCQC3AgIJALYCAQkBDWdldEFjY0JhbGFuY2UBBQRwcklkCQC2AgEFDWZlZVBvb2xBbW91bnQFA25pbAQEbmV3RAkBBGdldEQBBQVuZXdYcAQGY2hlY2tEAwkAwAICBQRuZXdEBQFEBgkAAgECFG5ldyBEIGlzIGZld2VyIGVycm9yAwkAAAIFBmNoZWNrRAUGY2hlY2tECQDMCAIJAQtTdHJpbmdFbnRyeQICEGFzc2V0IGlkIHBheW1lbnQFB0Fzc2V0SW4JAMwIAgkBDEludGVnZXJFbnRyeQICC2Ftb3VudCBwYWlkBQhBbW91bnRJbgkAzAgCCQEMSW50ZWdlckVudHJ5AgIkYW1vdW50IHBhaWQgcm91bmRlZCB3aXRob3V0IGRlY2ltYWxzCQBpAgUIQW1vdW50SW4FAmQ2CQDMCAIJAQtTdHJpbmdFbnRyeQICE2Fzc2V0IGlkIHRvIHJlY2VpdmUFCEFzc2V0T3V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhFhbW91bnQgdG8gcmVjZWl2ZQULdG90YWxHZXRSYXcJAMwIAgkBDEludGVnZXJFbnRyeQICKmFtb3VudCB0byByZWNlaXZlIHJvdW5kZWQgd2l0aG91dCBkZWNpbWFscwkAaQIFC3RvdGFsR2V0UmF3BQJkNgkAzAgCCQEMSW50ZWdlckVudHJ5AgIFcHJpY2UJAGsDBQJkNgUIQW1vdW50SW4FC3RvdGFsR2V0UmF3BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMYmFsYW5jZV9pbmZvAAkAzAgCCQEMSW50ZWdlckVudHJ5AgIEVVNEQwkAaQIJAQ1nZXRBY2NCYWxhbmNlAQUEYW1JZAUCZDYJAMwIAgkBDEludGVnZXJFbnRyeQICBFVTRFQJAGkCCQENZ2V0QWNjQmFsYW5jZQEFBHBySWQFAmQ2CQDMCAIJAQxJbnRlZ2VyRW50cnkCAglVU0QgdG90YWwJAGkCCQBkAgkBDWdldEFjY0JhbGFuY2UBBQRhbUlkCQENZ2V0QWNjQmFsYW5jZQEFBHBySWQFAmQ2BQNuaWwBaQEIY2xhaW1BbGwAAwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkBAiE9AggFAWkGY2FsbGVyBQdpbnZva2VyBwkAAgECHGFjY2VzcyBvbmx5IGJ5IHByb2plY3Qgb3duZXIEBHVzZGMJAPwHBAUIVVNEQ2RhcHACCWNsYWltQWxsIAkAzAgCCQClCAEFBHRoaXMFA25pbAUDbmlsAwkAAAIFBHVzZGMFBHVzZGMEBHVzZHQJAPwHBAUIVVNEVGRhcHACCWNsYWltQWxsIAkAzAgCCQClCAEFBHRoaXMFA25pbAUDbmlsAwkAAAIFBHVzZHQFBHVzZHQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARRyZXNldF90cmFkaW5nX3ZvbHVtZQADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhxhY2Nlc3Mgb25seSBieSBwcm9qZWN0IG93bmVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlUcmFkaW5nVm9sdW1lAAAFA25pbADJGkP2", "height": 4100955, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EiCCoqeM1em1NnsWVDN9GPPKNxUEabcAQqpWyaKLhwqL Next: 7a8gL9DvZg9z73FRsScTchSZTBGZeoPkK7DDHhFXDwRE Diff:
OldNewDifferences
3333
3434 let p = "total trading volume centlets"
3535
36-let q = 1
36+let q = "invoke next"
3737
38-let r = 10000
38+let r = 1
3939
40-let s = 1000000
40+let s = 10000
4141
42-func t (u,v) = {
43- let w = getInteger(u, v)
44- if ($isInstanceOf(w, "Int"))
42+let t = 1000000
43+
44+func u (v,w) = {
45+ let x = getInteger(v, w)
46+ if ($isInstanceOf(x, "Int"))
4547 then {
46- let x = w
47- x
48+ let y = x
49+ y
4850 }
4951 else 0
5052 }
5153
5254
53-func y (z) = if ((z == unit))
55+func z (A) = if ((A == unit))
5456 then j
55- else toBase58String(value(z))
57+ else toBase58String(value(A))
5658
5759
58-func A (B) = if ((d > B))
59- then -(B)
60- else B
60+func B (C) = if ((d > C))
61+ then -(C)
62+ else C
6163
6264
63-func C (D) = if ((D == m))
64- then (assetBalance(this, fromBase58String(D)) + getIntegerValue(c, ("USER_LP__" + toString(this))))
65- else (assetBalance(this, fromBase58String(D)) + getIntegerValue(b, ("USER_LP__" + toString(this))))
65+func D (E) = if ((E == m))
66+ then (assetBalance(this, fromBase58String(E)) + getIntegerValue(c, ("USER_LP__" + toString(this))))
67+ else (assetBalance(this, fromBase58String(E)) + getIntegerValue(b, ("USER_LP__" + toString(this))))
6668
6769
68-func E (z) = if ((z == j))
70+func F (A) = if ((A == j))
6971 then unit
70- else fromBase58String(z)
72+ else fromBase58String(A)
7173
7274
73-func F (G) = {
74- let H = G[0]
75- let I = G[1]
76- let J = (H + I)
77- if ((J == e))
75+func G (H) = {
76+ let I = H[0]
77+ let J = H[1]
78+ let K = (I + J)
79+ if ((K == e))
7880 then e
7981 else {
80- let K = parseIntValue(o)
81- let L = (K * 2)
82- let M = fraction(H, I, f)
83- let N = fraction(M, i, f)
84- let O = fraction(toBigInt(L), J, f)
85- let P = toBigInt((L - 1))
86- func Q (R) = {
87- let S = fraction(R, R, f)
88- let T = fraction(S, R, f)
89- let U = fraction(T, f, N)
90- fraction((O + fraction(U, g, f)), R, (fraction(P, R, f) + fraction(h, U, f)))
82+ let L = parseIntValue(o)
83+ let M = (L * 2)
84+ let N = fraction(I, J, f)
85+ let O = fraction(N, i, f)
86+ let P = fraction(toBigInt(M), K, f)
87+ let Q = toBigInt((M - 1))
88+ func R (S) = {
89+ let T = fraction(S, S, f)
90+ let U = fraction(T, S, f)
91+ let V = fraction(U, f, O)
92+ fraction((P + fraction(V, g, f)), S, (fraction(Q, S, f) + fraction(h, V, f)))
9193 }
9294
93- func V (W,X) = if (W._2)
94- then W
95+ func W (X,Y) = if (X._2)
96+ then X
9597 else {
96- let R = W._1
97- let Y = Q(R)
98- let Z = (Y - value(R))
99- let aa = if ((e > Z))
100- then -(Z)
101- else Z
102- if ((f >= aa))
103- then $Tuple2(Y, true)
104- else $Tuple2(Y, false)
98+ let S = X._1
99+ let Z = R(S)
100+ let aa = (Z - value(S))
101+ let ab = if ((e > aa))
102+ then -(aa)
103+ else aa
104+ if ((f >= ab))
105+ then $Tuple2(Z, true)
106+ else $Tuple2(Z, false)
105107 }
106108
107- let ab = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
108- let ac = {
109- let ad = ab
110- let ae = size(ad)
111- let af = $Tuple2(J, false)
112- func ag (ah,ai) = if ((ai >= ae))
113- then ah
114- else V(ah, ad[ai])
109+ let ac = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
110+ let ad = {
111+ let ae = ac
112+ let af = size(ae)
113+ let ag = $Tuple2(K, false)
114+ func ah (ai,aj) = if ((aj >= af))
115+ then ai
116+ else W(ai, ae[aj])
115117
116- func aj (ah,ai) = if ((ai >= ae))
117- then ah
118+ func ak (ai,aj) = if ((aj >= af))
119+ then ai
118120 else throw("List size exceeds 17")
119121
120- aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
122+ ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
121123 }
122- let R = ac._1
123- let ak = ac._2
124- if (ak)
125- then R
126- else throw(("D calculation error, D = " + toString(R)))
124+ let S = ad._1
125+ let al = ad._2
126+ if (al)
127+ then S
128+ else throw(("D calculation error, D = " + toString(S)))
127129 }
128130 }
129131
130132
131-func al (am,an,ao) = {
132- let ap = g
133- let aq = parseBigIntValue(k)
134- let K = (parseBigIntValue(o) * aq)
135- let G = if ((am == false))
136- then [(toBigInt(C(m)) + ao), toBigInt(C(n))]
137- else [(toBigInt(C(n)) + ao), toBigInt(C(m))]
138- let ar = G[0]
139- let J = ar
140- let L = (K * ap)
141- let as = (((((an * an) / (ar * ap)) * an) * aq) / (L * ap))
142- let x = ((J + ((an * aq) / L)) - an)
143- func V (W,at) = {
144- let au = W
145- let av = au._1
146- let ak = au._2
147- if ((ak != unit))
148- then W
133+func am (an,ao,ap) = {
134+ let aq = g
135+ let ar = parseBigIntValue(k)
136+ let L = (parseBigIntValue(o) * ar)
137+ let H = if ((an == false))
138+ then [(toBigInt(D(m)) + ap), toBigInt(D(n))]
139+ else [(toBigInt(D(n)) + ap), toBigInt(D(m))]
140+ let as = H[0]
141+ let K = as
142+ let M = (L * aq)
143+ let at = (((((ao * ao) / (as * aq)) * ao) * ar) / (M * aq))
144+ let y = ((K + ((ao * ar) / M)) - ao)
145+ func W (X,au) = {
146+ let av = X
147+ let aw = av._1
148+ let al = av._2
149+ if ((al != unit))
150+ then X
149151 else {
150- let aw = (((av * av) + as) / ((g * av) + x))
151- let ax = A((aw - value(av)))
152- if ((f >= ax))
153- then $Tuple2(aw, at)
154- else $Tuple2(aw, unit)
152+ let ax = (((aw * aw) + at) / ((g * aw) + y))
153+ let ay = B((ax - value(aw)))
154+ if ((f >= ay))
155+ then $Tuple2(ax, au)
156+ else $Tuple2(ax, unit)
155157 }
156158 }
157159
158- let ab = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
159- let ay = {
160- let ad = ab
161- let ae = size(ad)
162- let af = $Tuple2(an, unit)
163- func ag (ah,ai) = if ((ai >= ae))
164- then ah
165- else V(ah, ad[ai])
160+ let ac = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
161+ let az = {
162+ let ae = ac
163+ let af = size(ae)
164+ let ag = $Tuple2(ao, unit)
165+ func ah (ai,aj) = if ((aj >= af))
166+ then ai
167+ else W(ai, ae[aj])
166168
167- func aj (ah,ai) = if ((ai >= ae))
168- then ah
169+ func ak (ai,aj) = if ((aj >= af))
170+ then ai
169171 else throw("List size exceeds 15")
170172
171- aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
173+ ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
172174 }
173- let av = ay._1
174- let ak = ay._2
175- if ((ak != unit))
176- then av
177- else throw(("Y calculation error, Y = " + toString(av)))
175+ let aw = az._1
176+ let al = az._2
177+ if ((al != unit))
178+ then aw
179+ else throw(("Y calculation error, Y = " + toString(aw)))
178180 }
179181
180182
181-func az () = {
182- let w = getBoolean(this, "is_shutdown")
183- if ($isInstanceOf(w, "Boolean"))
183+func aA () = {
184+ let x = getBoolean(this, "is_shutdown")
185+ if ($isInstanceOf(x, "Boolean"))
184186 then {
185- let ar = w
186- ar
187+ let as = x
188+ as
187189 }
188190 else false
189191 }
190192
191193
192-@Callable(X)
193-func shutdown (aA) = if ((X.caller == this))
194- then [BooleanEntry("is_shutdown", aA)]
194+@Callable(Y)
195+func shutdown (aB) = if ((Y.caller == this))
196+ then [BooleanEntry("is_shutdown", aB)]
195197 else throw("admin only")
196198
197199
198200
199-@Callable(X)
200-func shutdownSelector (aA) = if ((X.caller == this))
201- then [BooleanEntry(l, aA)]
201+@Callable(Y)
202+func shutdownSelector (aB) = if ((Y.caller == this))
203+ then [BooleanEntry(l, aB)]
202204 else throw("admin only")
203205
204206
205207
206-@Callable(X)
207-func swap (aB) = if (if ((az() == true))
208- then (X.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
208+@Callable(Y)
209+func swap (aC) = if (if ((aA() == true))
210+ then (Y.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
209211 else false)
210212 then throw("contract is shutdown")
211213 else {
212- let aC = value(X.payments[0])
213- let aD = if (((s / 10) > value(X.payments[0].amount)))
214+ let aD = value(Y.payments[0])
215+ let aE = if (((t / 10) > value(Y.payments[0].amount)))
214216 then throw("minimum 0.1")
215- else value(X.payments[0].amount)
216- let aE = fraction(aD, q, r)
217- let aF = (aD - aE)
218- let aG = if (if ((y(aC.assetId) == m))
217+ else value(Y.payments[0].amount)
218+ let aF = fraction(aE, r, s)
219+ let aG = (aE - aF)
220+ let aH = if (if ((z(aD.assetId) == m))
219221 then true
220- else (y(aC.assetId) == n))
221- then y(aC.assetId)
222+ else (z(aD.assetId) == n))
223+ then z(aD.assetId)
222224 else throw("wrong asset id")
223- let am = if ((aG == m))
225+ let an = if ((aH == m))
224226 then false
225227 else true
226- let aH = if ((aG == m))
228+ let aI = if ((aH == m))
227229 then n
228230 else m
229- let aI = if ((am == false))
231+ let aJ = if ((an == false))
230232 then {
231- let aJ = n
232- let ao = (toBigInt(C(m)) + toBigInt(aF))
233- $Tuple2(aJ, ao)
233+ let aK = n
234+ let ap = (toBigInt(D(m)) + toBigInt(aG))
235+ $Tuple2(aK, ap)
234236 }
235237 else {
236- let aJ = m
237- let ao = (toBigInt(C(n)) + toBigInt(aF))
238- $Tuple2(aJ, ao)
238+ let aK = m
239+ let ap = (toBigInt(D(n)) + toBigInt(aG))
240+ $Tuple2(aK, ap)
239241 }
240- let aJ = aI._1
241- let ao = aI._2
242- let G = if ((am == false))
243- then [(toBigInt(C(m)) - toBigInt(value(X.payments[0]).amount)), toBigInt(C(n))]
244- else [toBigInt(C(m)), (toBigInt(C(n)) - toBigInt(value(X.payments[0]).amount))]
245- let an = F(G)
246- let av = al(am, an, toBigInt(0))
247- let aK = ((toBigInt(C(aH)) - av) - toBigInt(1))
248- let aL = max([0, toInt(aK)])
249- let aM = if ((aL >= aB))
242+ let aK = aJ._1
243+ let ap = aJ._2
244+ let H = if ((an == false))
245+ then [(toBigInt(D(m)) - toBigInt(value(Y.payments[0]).amount)), toBigInt(D(n))]
246+ else [toBigInt(D(m)), (toBigInt(D(n)) - toBigInt(value(Y.payments[0]).amount))]
247+ let ao = G(H)
248+ let aw = am(an, ao, toBigInt(0))
249+ let aL = ((toBigInt(D(aI)) - aw) - toBigInt(1))
250+ let aM = max([0, toInt(aL)])
251+ let aN = if ((aM >= aC))
250252 then true
251253 else throw("Exchange result is fewer coins than expected")
252- if ((aM == aM))
254+ if ((aN == aN))
253255 then {
254- let aN = if ((am == false))
255- then [(toBigInt(C(m)) + toBigInt(aE)), (toBigInt(C(n)) - aK)]
256- else [(toBigInt(C(m)) - aK), (toBigInt(C(n)) + toBigInt(aE))]
257- let aO = F(aN)
258- let aP = if ((aO >= an))
256+ let aO = if ((an == false))
257+ then [(toBigInt(D(m)) + toBigInt(aF)), (toBigInt(D(n)) - aL)]
258+ else [(toBigInt(D(m)) - aL), (toBigInt(D(n)) + toBigInt(aF))]
259+ let aP = G(aO)
260+ let aQ = if ((aP >= ao))
259261 then true
260262 else throw("new D is fewer error")
261- if ((aP == aP))
263+ if ((aQ == aQ))
262264 then {
263- let aQ = if ((aH == m))
264- then if ((aL > assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v')))
265- then invoke(c, "unstake", [(aL - assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v'))], nil)
265+ let aR = if ((aI == m))
266+ then if ((aM > assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v')))
267+ then invoke(c, "unstake", [(aM - assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v'))], nil)
266268 else unit
267- else if ((aL > assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC')))
268- then invoke(b, "unstake", [(aL - assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC'))], nil)
269+ else if ((aM > assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC')))
270+ then invoke(b, "unstake", [(aM - assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC'))], nil)
269271 else unit
270- if ((aQ == aQ))
272+ if ((aR == aR))
271273 then {
272- let aR = if ((aH == m))
274+ let aS = if ((aI == m))
273275 then invoke(b, "stake", nil, [AttachedPayment(fromBase58String(n), assetBalance(this, fromBase58String(n)))])
274276 else invoke(c, "stake", nil, [AttachedPayment(fromBase58String(m), assetBalance(this, fromBase58String(m)))])
275- if ((aR == aR))
277+ if ((aS == aS))
276278 then {
277- let aS = if ((getBoolean(this, l) == true))
279+ let aT = if ((getBoolean(this, l) == true))
278280 then unit
279- else invoke(a, "selector", nil, nil)
280- if ((aS == aS))
281- then [ScriptTransfer(X.caller, aL, E(aJ)), IntegerEntry(p, (aD + t(this, p)))]
281+ else if ((getIntegerValue(a, q) == 70))
282+ then invoke(this, "claimAll", nil, nil)
283+ else invoke(a, "selector", nil, nil)
284+ if ((aT == aT))
285+ then [ScriptTransfer(Y.caller, aM, F(aK)), IntegerEntry(p, (aE + u(this, p)))]
282286 else throw("Strict value is not equal to itself.")
283287 }
284288 else throw("Strict value is not equal to itself.")
292296
293297
294298
295-@Callable(X)
296-func readSwap (aT,aU) = if (if ((az() == true))
297- then (X.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
299+@Callable(Y)
300+func readSwap (aU,aV) = if (if ((aA() == true))
301+ then (Y.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
298302 else false)
299303 then throw("contract is shutdown")
300304 else {
301- let aC = value(X.payments[0])
302- let aD = if (((s / 10) > value(X.payments[0].amount)))
305+ let aD = value(Y.payments[0])
306+ let aE = if (((t / 10) > value(Y.payments[0].amount)))
303307 then throw("minimum 0.1")
304- else value(X.payments[0].amount)
305- let aE = fraction(aD, q, r)
306- let aF = (aD - aE)
307- let aG = if (if ((y(aC.assetId) == m))
308+ else value(Y.payments[0].amount)
309+ let aF = fraction(aE, r, s)
310+ let aG = (aE - aF)
311+ let aH = if (if ((z(aD.assetId) == m))
308312 then true
309- else (y(aC.assetId) == n))
310- then y(aC.assetId)
313+ else (z(aD.assetId) == n))
314+ then z(aD.assetId)
311315 else throw("wrong asset id")
312- let am = if ((aG == m))
316+ let an = if ((aH == m))
313317 then false
314318 else true
315- let aH = if ((aG == m))
319+ let aI = if ((aH == m))
316320 then n
317321 else m
318- let aV = if ((am == false))
322+ let aW = if ((an == false))
319323 then {
320- let aJ = n
321- let ao = (toBigInt(C(m)) + toBigInt(aF))
322- $Tuple2(aJ, ao)
324+ let aK = n
325+ let ap = (toBigInt(D(m)) + toBigInt(aG))
326+ $Tuple2(aK, ap)
323327 }
324328 else {
325- let aJ = m
326- let ao = (toBigInt(C(n)) + toBigInt(aF))
327- $Tuple2(aJ, ao)
329+ let aK = m
330+ let ap = (toBigInt(D(n)) + toBigInt(aG))
331+ $Tuple2(aK, ap)
328332 }
329- let aJ = aV._1
330- let ao = aV._2
331- let G = if ((am == false))
332- then [(toBigInt(C(m)) - toBigInt(value(X.payments[0]).amount)), toBigInt(C(n))]
333- else [toBigInt(C(m)), (toBigInt(C(n)) - toBigInt(value(X.payments[0]).amount))]
334- let an = F(G)
335- let av = al(am, an, toBigInt(0))
336- let aK = ((toBigInt(C(aH)) - av) - toBigInt(1))
337- let aL = max([0, toInt(aK)])
338- let aN = if ((am == false))
339- then [(toBigInt(C(m)) + toBigInt(aE)), (toBigInt(C(n)) - aK)]
340- else [(toBigInt(C(m)) - aK), (toBigInt(C(n)) + toBigInt(aE))]
341- let aO = F(aN)
342- let aP = if ((aO >= an))
333+ let aK = aW._1
334+ let ap = aW._2
335+ let H = if ((an == false))
336+ then [(toBigInt(D(m)) - toBigInt(value(Y.payments[0]).amount)), toBigInt(D(n))]
337+ else [toBigInt(D(m)), (toBigInt(D(n)) - toBigInt(value(Y.payments[0]).amount))]
338+ let ao = G(H)
339+ let aw = am(an, ao, toBigInt(0))
340+ let aL = ((toBigInt(D(aI)) - aw) - toBigInt(1))
341+ let aM = max([0, toInt(aL)])
342+ let aO = if ((an == false))
343+ then [(toBigInt(D(m)) + toBigInt(aF)), (toBigInt(D(n)) - aL)]
344+ else [(toBigInt(D(m)) - aL), (toBigInt(D(n)) + toBigInt(aF))]
345+ let aP = G(aO)
346+ let aQ = if ((aP >= ao))
343347 then true
344348 else throw("new D is fewer error")
345- if ((aP == aP))
346- then [StringEntry("asset id payment", aT), IntegerEntry("amount paid", aU), IntegerEntry("amount paid rounded without decimals", (aU / s)), StringEntry("asset id to receive", aH), IntegerEntry("amount to receive", aL), IntegerEntry("amount to receive rounded without decimals", (aL / s)), IntegerEntry("price", fraction(s, aU, aL))]
349+ if ((aQ == aQ))
350+ then [StringEntry("asset id payment", aU), IntegerEntry("amount paid", aV), IntegerEntry("amount paid rounded without decimals", (aV / t)), StringEntry("asset id to receive", aI), IntegerEntry("amount to receive", aM), IntegerEntry("amount to receive rounded without decimals", (aM / t)), IntegerEntry("price", fraction(t, aV, aM))]
347351 else throw("Strict value is not equal to itself.")
348352 }
349353
350354
351355
352-@Callable(X)
353-func balance_info () = [IntegerEntry("USDC", (C(m) / s)), IntegerEntry("USDT", (C(n) / s)), IntegerEntry("USD total", ((C(m) + C(n)) / s))]
356+@Callable(Y)
357+func balance_info () = [IntegerEntry("USDC", (D(m) / t)), IntegerEntry("USDT", (D(n) / t)), IntegerEntry("USD total", ((D(m) + D(n)) / t))]
354358
355359
356360
357-@Callable(X)
358-func claimAll () = if (if ((X.caller != this))
359- then (X.caller != a)
361+@Callable(Y)
362+func claimAll () = if (if ((Y.caller != this))
363+ then (Y.caller != a)
360364 else false)
361365 then throw("access only by project owner")
362366 else {
363- let aW = invoke(c, "claimAll ", [toString(this)], nil)
364- if ((aW == aW))
367+ let aX = invoke(c, "claimAll ", [toString(this)], nil)
368+ if ((aX == aX))
365369 then {
366- let aX = invoke(b, "claimAll ", [toString(this)], nil)
367- if ((aX == aX))
370+ let aY = invoke(b, "claimAll ", [toString(this)], nil)
371+ if ((aY == aY))
368372 then nil
369373 else throw("Strict value is not equal to itself.")
370374 }
373377
374378
375379
376-@Callable(X)
377-func reset_trading_volume () = if ((X.caller != this))
380+@Callable(Y)
381+func reset_trading_volume () = if ((Y.caller != this))
378382 then throw("access only by project owner")
379383 else [IntegerEntry(p, 0)]
380384
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = Address(base58'3P4AdC9J6MzTEi2LL9xgQN8EimMnbk4d6Nt')
55
66 let b = Address(base58'3PQtT2o7g8HmcZLGodx4L7YDe7ngb26wjYk')
77
88 let c = Address(base58'3PLrr8LpfYjUadnEQ1ov61uMWHdMopUCNAm')
99
1010 let d = toBigInt(0)
1111
1212 let e = toBigInt(0)
1313
1414 let f = toBigInt(1)
1515
1616 let g = toBigInt(2)
1717
1818 let h = toBigInt(3)
1919
2020 let i = toBigInt(4)
2121
2222 let j = "WAVES"
2323
2424 let k = "100"
2525
2626 let l = "selector_is_shutdown"
2727
2828 let m = "3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v"
2929
3030 let n = "G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC"
3131
3232 let o = "2000"
3333
3434 let p = "total trading volume centlets"
3535
36-let q = 1
36+let q = "invoke next"
3737
38-let r = 10000
38+let r = 1
3939
40-let s = 1000000
40+let s = 10000
4141
42-func t (u,v) = {
43- let w = getInteger(u, v)
44- if ($isInstanceOf(w, "Int"))
42+let t = 1000000
43+
44+func u (v,w) = {
45+ let x = getInteger(v, w)
46+ if ($isInstanceOf(x, "Int"))
4547 then {
46- let x = w
47- x
48+ let y = x
49+ y
4850 }
4951 else 0
5052 }
5153
5254
53-func y (z) = if ((z == unit))
55+func z (A) = if ((A == unit))
5456 then j
55- else toBase58String(value(z))
57+ else toBase58String(value(A))
5658
5759
58-func A (B) = if ((d > B))
59- then -(B)
60- else B
60+func B (C) = if ((d > C))
61+ then -(C)
62+ else C
6163
6264
63-func C (D) = if ((D == m))
64- then (assetBalance(this, fromBase58String(D)) + getIntegerValue(c, ("USER_LP__" + toString(this))))
65- else (assetBalance(this, fromBase58String(D)) + getIntegerValue(b, ("USER_LP__" + toString(this))))
65+func D (E) = if ((E == m))
66+ then (assetBalance(this, fromBase58String(E)) + getIntegerValue(c, ("USER_LP__" + toString(this))))
67+ else (assetBalance(this, fromBase58String(E)) + getIntegerValue(b, ("USER_LP__" + toString(this))))
6668
6769
68-func E (z) = if ((z == j))
70+func F (A) = if ((A == j))
6971 then unit
70- else fromBase58String(z)
72+ else fromBase58String(A)
7173
7274
73-func F (G) = {
74- let H = G[0]
75- let I = G[1]
76- let J = (H + I)
77- if ((J == e))
75+func G (H) = {
76+ let I = H[0]
77+ let J = H[1]
78+ let K = (I + J)
79+ if ((K == e))
7880 then e
7981 else {
80- let K = parseIntValue(o)
81- let L = (K * 2)
82- let M = fraction(H, I, f)
83- let N = fraction(M, i, f)
84- let O = fraction(toBigInt(L), J, f)
85- let P = toBigInt((L - 1))
86- func Q (R) = {
87- let S = fraction(R, R, f)
88- let T = fraction(S, R, f)
89- let U = fraction(T, f, N)
90- fraction((O + fraction(U, g, f)), R, (fraction(P, R, f) + fraction(h, U, f)))
82+ let L = parseIntValue(o)
83+ let M = (L * 2)
84+ let N = fraction(I, J, f)
85+ let O = fraction(N, i, f)
86+ let P = fraction(toBigInt(M), K, f)
87+ let Q = toBigInt((M - 1))
88+ func R (S) = {
89+ let T = fraction(S, S, f)
90+ let U = fraction(T, S, f)
91+ let V = fraction(U, f, O)
92+ fraction((P + fraction(V, g, f)), S, (fraction(Q, S, f) + fraction(h, V, f)))
9193 }
9294
93- func V (W,X) = if (W._2)
94- then W
95+ func W (X,Y) = if (X._2)
96+ then X
9597 else {
96- let R = W._1
97- let Y = Q(R)
98- let Z = (Y - value(R))
99- let aa = if ((e > Z))
100- then -(Z)
101- else Z
102- if ((f >= aa))
103- then $Tuple2(Y, true)
104- else $Tuple2(Y, false)
98+ let S = X._1
99+ let Z = R(S)
100+ let aa = (Z - value(S))
101+ let ab = if ((e > aa))
102+ then -(aa)
103+ else aa
104+ if ((f >= ab))
105+ then $Tuple2(Z, true)
106+ else $Tuple2(Z, false)
105107 }
106108
107- let ab = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
108- let ac = {
109- let ad = ab
110- let ae = size(ad)
111- let af = $Tuple2(J, false)
112- func ag (ah,ai) = if ((ai >= ae))
113- then ah
114- else V(ah, ad[ai])
109+ let ac = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
110+ let ad = {
111+ let ae = ac
112+ let af = size(ae)
113+ let ag = $Tuple2(K, false)
114+ func ah (ai,aj) = if ((aj >= af))
115+ then ai
116+ else W(ai, ae[aj])
115117
116- func aj (ah,ai) = if ((ai >= ae))
117- then ah
118+ func ak (ai,aj) = if ((aj >= af))
119+ then ai
118120 else throw("List size exceeds 17")
119121
120- aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
122+ ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17)
121123 }
122- let R = ac._1
123- let ak = ac._2
124- if (ak)
125- then R
126- else throw(("D calculation error, D = " + toString(R)))
124+ let S = ad._1
125+ let al = ad._2
126+ if (al)
127+ then S
128+ else throw(("D calculation error, D = " + toString(S)))
127129 }
128130 }
129131
130132
131-func al (am,an,ao) = {
132- let ap = g
133- let aq = parseBigIntValue(k)
134- let K = (parseBigIntValue(o) * aq)
135- let G = if ((am == false))
136- then [(toBigInt(C(m)) + ao), toBigInt(C(n))]
137- else [(toBigInt(C(n)) + ao), toBigInt(C(m))]
138- let ar = G[0]
139- let J = ar
140- let L = (K * ap)
141- let as = (((((an * an) / (ar * ap)) * an) * aq) / (L * ap))
142- let x = ((J + ((an * aq) / L)) - an)
143- func V (W,at) = {
144- let au = W
145- let av = au._1
146- let ak = au._2
147- if ((ak != unit))
148- then W
133+func am (an,ao,ap) = {
134+ let aq = g
135+ let ar = parseBigIntValue(k)
136+ let L = (parseBigIntValue(o) * ar)
137+ let H = if ((an == false))
138+ then [(toBigInt(D(m)) + ap), toBigInt(D(n))]
139+ else [(toBigInt(D(n)) + ap), toBigInt(D(m))]
140+ let as = H[0]
141+ let K = as
142+ let M = (L * aq)
143+ let at = (((((ao * ao) / (as * aq)) * ao) * ar) / (M * aq))
144+ let y = ((K + ((ao * ar) / M)) - ao)
145+ func W (X,au) = {
146+ let av = X
147+ let aw = av._1
148+ let al = av._2
149+ if ((al != unit))
150+ then X
149151 else {
150- let aw = (((av * av) + as) / ((g * av) + x))
151- let ax = A((aw - value(av)))
152- if ((f >= ax))
153- then $Tuple2(aw, at)
154- else $Tuple2(aw, unit)
152+ let ax = (((aw * aw) + at) / ((g * aw) + y))
153+ let ay = B((ax - value(aw)))
154+ if ((f >= ay))
155+ then $Tuple2(ax, au)
156+ else $Tuple2(ax, unit)
155157 }
156158 }
157159
158- let ab = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
159- let ay = {
160- let ad = ab
161- let ae = size(ad)
162- let af = $Tuple2(an, unit)
163- func ag (ah,ai) = if ((ai >= ae))
164- then ah
165- else V(ah, ad[ai])
160+ let ac = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
161+ let az = {
162+ let ae = ac
163+ let af = size(ae)
164+ let ag = $Tuple2(ao, unit)
165+ func ah (ai,aj) = if ((aj >= af))
166+ then ai
167+ else W(ai, ae[aj])
166168
167- func aj (ah,ai) = if ((ai >= ae))
168- then ah
169+ func ak (ai,aj) = if ((aj >= af))
170+ then ai
169171 else throw("List size exceeds 15")
170172
171- aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
173+ ak(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ag, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
172174 }
173- let av = ay._1
174- let ak = ay._2
175- if ((ak != unit))
176- then av
177- else throw(("Y calculation error, Y = " + toString(av)))
175+ let aw = az._1
176+ let al = az._2
177+ if ((al != unit))
178+ then aw
179+ else throw(("Y calculation error, Y = " + toString(aw)))
178180 }
179181
180182
181-func az () = {
182- let w = getBoolean(this, "is_shutdown")
183- if ($isInstanceOf(w, "Boolean"))
183+func aA () = {
184+ let x = getBoolean(this, "is_shutdown")
185+ if ($isInstanceOf(x, "Boolean"))
184186 then {
185- let ar = w
186- ar
187+ let as = x
188+ as
187189 }
188190 else false
189191 }
190192
191193
192-@Callable(X)
193-func shutdown (aA) = if ((X.caller == this))
194- then [BooleanEntry("is_shutdown", aA)]
194+@Callable(Y)
195+func shutdown (aB) = if ((Y.caller == this))
196+ then [BooleanEntry("is_shutdown", aB)]
195197 else throw("admin only")
196198
197199
198200
199-@Callable(X)
200-func shutdownSelector (aA) = if ((X.caller == this))
201- then [BooleanEntry(l, aA)]
201+@Callable(Y)
202+func shutdownSelector (aB) = if ((Y.caller == this))
203+ then [BooleanEntry(l, aB)]
202204 else throw("admin only")
203205
204206
205207
206-@Callable(X)
207-func swap (aB) = if (if ((az() == true))
208- then (X.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
208+@Callable(Y)
209+func swap (aC) = if (if ((aA() == true))
210+ then (Y.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
209211 else false)
210212 then throw("contract is shutdown")
211213 else {
212- let aC = value(X.payments[0])
213- let aD = if (((s / 10) > value(X.payments[0].amount)))
214+ let aD = value(Y.payments[0])
215+ let aE = if (((t / 10) > value(Y.payments[0].amount)))
214216 then throw("minimum 0.1")
215- else value(X.payments[0].amount)
216- let aE = fraction(aD, q, r)
217- let aF = (aD - aE)
218- let aG = if (if ((y(aC.assetId) == m))
217+ else value(Y.payments[0].amount)
218+ let aF = fraction(aE, r, s)
219+ let aG = (aE - aF)
220+ let aH = if (if ((z(aD.assetId) == m))
219221 then true
220- else (y(aC.assetId) == n))
221- then y(aC.assetId)
222+ else (z(aD.assetId) == n))
223+ then z(aD.assetId)
222224 else throw("wrong asset id")
223- let am = if ((aG == m))
225+ let an = if ((aH == m))
224226 then false
225227 else true
226- let aH = if ((aG == m))
228+ let aI = if ((aH == m))
227229 then n
228230 else m
229- let aI = if ((am == false))
231+ let aJ = if ((an == false))
230232 then {
231- let aJ = n
232- let ao = (toBigInt(C(m)) + toBigInt(aF))
233- $Tuple2(aJ, ao)
233+ let aK = n
234+ let ap = (toBigInt(D(m)) + toBigInt(aG))
235+ $Tuple2(aK, ap)
234236 }
235237 else {
236- let aJ = m
237- let ao = (toBigInt(C(n)) + toBigInt(aF))
238- $Tuple2(aJ, ao)
238+ let aK = m
239+ let ap = (toBigInt(D(n)) + toBigInt(aG))
240+ $Tuple2(aK, ap)
239241 }
240- let aJ = aI._1
241- let ao = aI._2
242- let G = if ((am == false))
243- then [(toBigInt(C(m)) - toBigInt(value(X.payments[0]).amount)), toBigInt(C(n))]
244- else [toBigInt(C(m)), (toBigInt(C(n)) - toBigInt(value(X.payments[0]).amount))]
245- let an = F(G)
246- let av = al(am, an, toBigInt(0))
247- let aK = ((toBigInt(C(aH)) - av) - toBigInt(1))
248- let aL = max([0, toInt(aK)])
249- let aM = if ((aL >= aB))
242+ let aK = aJ._1
243+ let ap = aJ._2
244+ let H = if ((an == false))
245+ then [(toBigInt(D(m)) - toBigInt(value(Y.payments[0]).amount)), toBigInt(D(n))]
246+ else [toBigInt(D(m)), (toBigInt(D(n)) - toBigInt(value(Y.payments[0]).amount))]
247+ let ao = G(H)
248+ let aw = am(an, ao, toBigInt(0))
249+ let aL = ((toBigInt(D(aI)) - aw) - toBigInt(1))
250+ let aM = max([0, toInt(aL)])
251+ let aN = if ((aM >= aC))
250252 then true
251253 else throw("Exchange result is fewer coins than expected")
252- if ((aM == aM))
254+ if ((aN == aN))
253255 then {
254- let aN = if ((am == false))
255- then [(toBigInt(C(m)) + toBigInt(aE)), (toBigInt(C(n)) - aK)]
256- else [(toBigInt(C(m)) - aK), (toBigInt(C(n)) + toBigInt(aE))]
257- let aO = F(aN)
258- let aP = if ((aO >= an))
256+ let aO = if ((an == false))
257+ then [(toBigInt(D(m)) + toBigInt(aF)), (toBigInt(D(n)) - aL)]
258+ else [(toBigInt(D(m)) - aL), (toBigInt(D(n)) + toBigInt(aF))]
259+ let aP = G(aO)
260+ let aQ = if ((aP >= ao))
259261 then true
260262 else throw("new D is fewer error")
261- if ((aP == aP))
263+ if ((aQ == aQ))
262264 then {
263- let aQ = if ((aH == m))
264- then if ((aL > assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v')))
265- then invoke(c, "unstake", [(aL - assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v'))], nil)
265+ let aR = if ((aI == m))
266+ then if ((aM > assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v')))
267+ then invoke(c, "unstake", [(aM - assetBalance(this, base58'3ayH3PhWMkhFsySsUVcC8BvFf1QyxGB5BZuTPyVtmP4v'))], nil)
266268 else unit
267- else if ((aL > assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC')))
268- then invoke(b, "unstake", [(aL - assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC'))], nil)
269+ else if ((aM > assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC')))
270+ then invoke(b, "unstake", [(aM - assetBalance(this, base58'G5WWWzzVsWRyzGf32xojbnfp7gXbWrgqJT8RcVWEfLmC'))], nil)
269271 else unit
270- if ((aQ == aQ))
272+ if ((aR == aR))
271273 then {
272- let aR = if ((aH == m))
274+ let aS = if ((aI == m))
273275 then invoke(b, "stake", nil, [AttachedPayment(fromBase58String(n), assetBalance(this, fromBase58String(n)))])
274276 else invoke(c, "stake", nil, [AttachedPayment(fromBase58String(m), assetBalance(this, fromBase58String(m)))])
275- if ((aR == aR))
277+ if ((aS == aS))
276278 then {
277- let aS = if ((getBoolean(this, l) == true))
279+ let aT = if ((getBoolean(this, l) == true))
278280 then unit
279- else invoke(a, "selector", nil, nil)
280- if ((aS == aS))
281- then [ScriptTransfer(X.caller, aL, E(aJ)), IntegerEntry(p, (aD + t(this, p)))]
281+ else if ((getIntegerValue(a, q) == 70))
282+ then invoke(this, "claimAll", nil, nil)
283+ else invoke(a, "selector", nil, nil)
284+ if ((aT == aT))
285+ then [ScriptTransfer(Y.caller, aM, F(aK)), IntegerEntry(p, (aE + u(this, p)))]
282286 else throw("Strict value is not equal to itself.")
283287 }
284288 else throw("Strict value is not equal to itself.")
285289 }
286290 else throw("Strict value is not equal to itself.")
287291 }
288292 else throw("Strict value is not equal to itself.")
289293 }
290294 else throw("Strict value is not equal to itself.")
291295 }
292296
293297
294298
295-@Callable(X)
296-func readSwap (aT,aU) = if (if ((az() == true))
297- then (X.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
299+@Callable(Y)
300+func readSwap (aU,aV) = if (if ((aA() == true))
301+ then (Y.caller != Address(base58'3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk'))
298302 else false)
299303 then throw("contract is shutdown")
300304 else {
301- let aC = value(X.payments[0])
302- let aD = if (((s / 10) > value(X.payments[0].amount)))
305+ let aD = value(Y.payments[0])
306+ let aE = if (((t / 10) > value(Y.payments[0].amount)))
303307 then throw("minimum 0.1")
304- else value(X.payments[0].amount)
305- let aE = fraction(aD, q, r)
306- let aF = (aD - aE)
307- let aG = if (if ((y(aC.assetId) == m))
308+ else value(Y.payments[0].amount)
309+ let aF = fraction(aE, r, s)
310+ let aG = (aE - aF)
311+ let aH = if (if ((z(aD.assetId) == m))
308312 then true
309- else (y(aC.assetId) == n))
310- then y(aC.assetId)
313+ else (z(aD.assetId) == n))
314+ then z(aD.assetId)
311315 else throw("wrong asset id")
312- let am = if ((aG == m))
316+ let an = if ((aH == m))
313317 then false
314318 else true
315- let aH = if ((aG == m))
319+ let aI = if ((aH == m))
316320 then n
317321 else m
318- let aV = if ((am == false))
322+ let aW = if ((an == false))
319323 then {
320- let aJ = n
321- let ao = (toBigInt(C(m)) + toBigInt(aF))
322- $Tuple2(aJ, ao)
324+ let aK = n
325+ let ap = (toBigInt(D(m)) + toBigInt(aG))
326+ $Tuple2(aK, ap)
323327 }
324328 else {
325- let aJ = m
326- let ao = (toBigInt(C(n)) + toBigInt(aF))
327- $Tuple2(aJ, ao)
329+ let aK = m
330+ let ap = (toBigInt(D(n)) + toBigInt(aG))
331+ $Tuple2(aK, ap)
328332 }
329- let aJ = aV._1
330- let ao = aV._2
331- let G = if ((am == false))
332- then [(toBigInt(C(m)) - toBigInt(value(X.payments[0]).amount)), toBigInt(C(n))]
333- else [toBigInt(C(m)), (toBigInt(C(n)) - toBigInt(value(X.payments[0]).amount))]
334- let an = F(G)
335- let av = al(am, an, toBigInt(0))
336- let aK = ((toBigInt(C(aH)) - av) - toBigInt(1))
337- let aL = max([0, toInt(aK)])
338- let aN = if ((am == false))
339- then [(toBigInt(C(m)) + toBigInt(aE)), (toBigInt(C(n)) - aK)]
340- else [(toBigInt(C(m)) - aK), (toBigInt(C(n)) + toBigInt(aE))]
341- let aO = F(aN)
342- let aP = if ((aO >= an))
333+ let aK = aW._1
334+ let ap = aW._2
335+ let H = if ((an == false))
336+ then [(toBigInt(D(m)) - toBigInt(value(Y.payments[0]).amount)), toBigInt(D(n))]
337+ else [toBigInt(D(m)), (toBigInt(D(n)) - toBigInt(value(Y.payments[0]).amount))]
338+ let ao = G(H)
339+ let aw = am(an, ao, toBigInt(0))
340+ let aL = ((toBigInt(D(aI)) - aw) - toBigInt(1))
341+ let aM = max([0, toInt(aL)])
342+ let aO = if ((an == false))
343+ then [(toBigInt(D(m)) + toBigInt(aF)), (toBigInt(D(n)) - aL)]
344+ else [(toBigInt(D(m)) - aL), (toBigInt(D(n)) + toBigInt(aF))]
345+ let aP = G(aO)
346+ let aQ = if ((aP >= ao))
343347 then true
344348 else throw("new D is fewer error")
345- if ((aP == aP))
346- then [StringEntry("asset id payment", aT), IntegerEntry("amount paid", aU), IntegerEntry("amount paid rounded without decimals", (aU / s)), StringEntry("asset id to receive", aH), IntegerEntry("amount to receive", aL), IntegerEntry("amount to receive rounded without decimals", (aL / s)), IntegerEntry("price", fraction(s, aU, aL))]
349+ if ((aQ == aQ))
350+ then [StringEntry("asset id payment", aU), IntegerEntry("amount paid", aV), IntegerEntry("amount paid rounded without decimals", (aV / t)), StringEntry("asset id to receive", aI), IntegerEntry("amount to receive", aM), IntegerEntry("amount to receive rounded without decimals", (aM / t)), IntegerEntry("price", fraction(t, aV, aM))]
347351 else throw("Strict value is not equal to itself.")
348352 }
349353
350354
351355
352-@Callable(X)
353-func balance_info () = [IntegerEntry("USDC", (C(m) / s)), IntegerEntry("USDT", (C(n) / s)), IntegerEntry("USD total", ((C(m) + C(n)) / s))]
356+@Callable(Y)
357+func balance_info () = [IntegerEntry("USDC", (D(m) / t)), IntegerEntry("USDT", (D(n) / t)), IntegerEntry("USD total", ((D(m) + D(n)) / t))]
354358
355359
356360
357-@Callable(X)
358-func claimAll () = if (if ((X.caller != this))
359- then (X.caller != a)
361+@Callable(Y)
362+func claimAll () = if (if ((Y.caller != this))
363+ then (Y.caller != a)
360364 else false)
361365 then throw("access only by project owner")
362366 else {
363- let aW = invoke(c, "claimAll ", [toString(this)], nil)
364- if ((aW == aW))
367+ let aX = invoke(c, "claimAll ", [toString(this)], nil)
368+ if ((aX == aX))
365369 then {
366- let aX = invoke(b, "claimAll ", [toString(this)], nil)
367- if ((aX == aX))
370+ let aY = invoke(b, "claimAll ", [toString(this)], nil)
371+ if ((aY == aY))
368372 then nil
369373 else throw("Strict value is not equal to itself.")
370374 }
371375 else throw("Strict value is not equal to itself.")
372376 }
373377
374378
375379
376-@Callable(X)
377-func reset_trading_volume () = if ((X.caller != this))
380+@Callable(Y)
381+func reset_trading_volume () = if ((Y.caller != this))
378382 then throw("access only by project owner")
379383 else [IntegerEntry(p, 0)]
380384
381385

github/deemru/w8io/3ef1775 
182.13 ms