tx · 7fwdKZDFUwdE91XzWuwWaoYBDXXNTyU9zxYKDdkRUBhn

3N6LHjfGb6Fgcy7YsVcNxGyPTj49XbQAijq:  -0.01300000 Waves

2023.02.03 10:10 [2433121] smart account 3N6LHjfGb6Fgcy7YsVcNxGyPTj49XbQAijq > SELF 0.00000000 Waves

{ "type": 13, "id": "7fwdKZDFUwdE91XzWuwWaoYBDXXNTyU9zxYKDdkRUBhn", "fee": 1300000, "feeAssetId": null, "timestamp": 1675408301289, "version": 1, "sender": "3N6LHjfGb6Fgcy7YsVcNxGyPTj49XbQAijq", "senderPublicKey": "2u2wYYcVBQv43Cc71zkhHPPitkqgg6dqTZ3nUMvYJ1uq", "proofs": [ "4BXt34owmTmgaDDBU2rPdH9tXEPQJPYc9ctcdaMRgUwjznbYtpyZZcFrGpvBkvPnknvAjqskPjcoRK7hx6b8X79y" ], "script": "base64:BgIXCAISBQoDAQgIEgUKAwEICBIDCgEIEgAUAANTRVACAl9fAAhmZWVTY2FsZQkAtgIBAKCNBgEPZ2V0U3RyaW5nT3JGYWlsAQNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQR0aGlzBQNrZXkJAKwCAgIVTm8gZGF0YSBmb3IgdGhpcy5rZXk9BQNrZXkADHBvb2xEaXNhYmxlZAkAAgECDVBvb2wgZGlzYWJsZWQADHBvb2xOb3RFeGlzdAkAAgECEVBvb2wgaXMgbm90IGV4aXN0AA5zbGlwcGFnZVRvb0JpZwkAAgECE1NsaXBwYWdlIGlzIHRvbyBiaWcBE2tleU1hbmFnZXJQdWJsaWNLZXkAAhQlc19fbWFuYWdlclB1YmxpY0tleQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAhslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkBAmZjAAITJXNfX2ZhY3RvcnlDb250cmFjdAAPZmFjdG9yeUNvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQEPZ2V0U3RyaW5nT3JGYWlsAQkBAmZjAAEbZmVlTGlxdWlkaXR5Q29udHJhY3RBZGRyZXNzAAkAuQkCCQDMCAICAiVzCQDMCAICG2ZlZUxpcXVpZGl0eUNvbnRyYWN0QWRkcmVzcwUDbmlsBQNTRVABDGZlZUxpcXVpZGl0eQAJALkJAgkAzAgCAgIlcwkAzAgCAgxmZWVMaXF1aWRpdHkFA25pbAUDU0VQAQtwcm90b2NvbEZlZQAJALkJAgkAzAgCAgIlcwkAzAgCAgtwcm90b2NvbEZlZQUDbmlsBQNTRVABBWFzSW50AQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEBnZhbEludAUHJG1hdGNoMAUGdmFsSW50CQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50ARVkYXRhTWFwcGluZ1Bvb2xBc3NldHMCFmludGVybmFsQW1vdW50QXNzZXRTdHIVaW50ZXJuYWxQcmljZUFzc2V0U3RyCQC5CQIJAMwIAgIEJWQlZAkAzAgCCQCkAwEFFmludGVybmFsQW1vdW50QXNzZXRTdHIJAMwIAgkApAMBBRVpbnRlcm5hbFByaWNlQXNzZXRTdHIFA25pbAUDU0VQARZtYW5hZ2VyUHVibGljS2V5T3JVbml0AAQHJG1hdGNoMAkAoggBCQETa2V5TWFuYWdlclB1YmxpY0tleQADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAR1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAEByRtYXRjaDAJAKIIAQkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJANkEAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBCWlzTWFuYWdlcgEBaQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwCQAAAggFAWkPY2FsbGVyUHVibGljS2V5BQJwawMJAAECBQckbWF0Y2gwAgRVbml0CQAAAggFAWkGY2FsbGVyBQR0aGlzCQACAQILTWF0Y2ggZXJyb3IBC211c3RNYW5hZ2VyAQFpAwkBCWlzTWFuYWdlcgEFAWkGCQACAQIRcGVybWlzc2lvbiBkZW5pZWQBDWdldEFjY0JhbGFuY2UBB2Fzc2V0SWQDCQAAAgUHYXNzZXRJZAIFV0FWRVMICQDvBwEFBHRoaXMJYXZhaWxhYmxlCQDwBwIFBHRoaXMJANkEAQUHYXNzZXRJZAQBaQEVc3dhcENhbGN1bGF0ZVJFQURPTkxZAwhhbW91bnRJbgdhc3NldEluCGFzc2V0T3V0BAVwckZlZQkBBXZhbHVlAQkAnwgBCQELcHJvdG9jb2xGZWUABBFmZWVQcm90b2NvbEFtb3VudAkAvAIDCQC2AgEFCGFtb3VudEluCQC2AgEFBXByRmVlBQhmZWVTY2FsZQQSZmVlTGlxdWlkaXR5QW1vdW50CQC8AgMJALYCAQUIYW1vdW50SW4JALYCAQUFcHJGZWUFCGZlZVNjYWxlBA5hbW91bnRJblRvUG9vbAkAuAICCQC2AgEFCGFtb3VudEluBRFmZWVQcm90b2NvbEFtb3VudAQNY2xlYW5BbW91bnRJbgkAuAICBQ5hbW91bnRJblRvUG9vbAUSZmVlTGlxdWlkaXR5QW1vdW50BA1scE5vblJldmVyZXNlCQD8BwQFD2ZhY3RvcnlDb250cmFjdAIgZ2V0THBBc3NldEZyb21Qb29sQXNzZXRzUkVBRE9OTFkJAMwIAgUHYXNzZXRJbgkAzAgCBQhhc3NldE91dAUDbmlsBQNuaWwECWxwUmV2ZXJzZQkA/AcEBQ9mYWN0b3J5Q29udHJhY3QCIGdldExwQXNzZXRGcm9tUG9vbEFzc2V0c1JFQURPTkxZCQDMCAIFCGFzc2V0T3V0CQDMCAIFB2Fzc2V0SW4FA25pbAUDbmlsBAskdDAyNjQxMzEzMQMJAQIhPQIFDWxwTm9uUmV2ZXJlc2UFBHVuaXQECWlzUmV2ZXJzZQcEBHBvb2wKAAFACQD8BwQFD2ZhY3RvcnlDb250cmFjdAIhZ2V0UG9vbEFkZHJlc3NGcm9tTHBBc3NldFJFQURPTkxZCQDMCAIFDWxwTm9uUmV2ZXJlc2UFA25pbAUDbmlsAwkAAQIFAUACB0FkZHJlc3MFAUAJAAIBCQCsAgIJAAMBBQFAAhwgY291bGRuJ3QgYmUgY2FzdCB0byBBZGRyZXNzCQCUCgIFCWlzUmV2ZXJzZQUEcG9vbAMJAQIhPQIFCWxwUmV2ZXJzZQUEdW5pdAQJaXNSZXZlcnNlBgQEcG9vbAkA/AcEBQ9mYWN0b3J5Q29udHJhY3QCIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQkAzAgCBQlscFJldmVyc2UFA25pbAUDbmlsCQCUCgIFCWlzUmV2ZXJzZQUEcG9vbAUMcG9vbE5vdEV4aXN0BAlpc1JldmVyc2UIBQskdDAyNjQxMzEzMQJfMQQEcG9vbAgFCyR0MDI2NDEzMTMxAl8yBCBpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAoAAUAJAPwHBAUPZmFjdG9yeUNvbnRyYWN0Aihpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZFJFQURPTkxZCQDMCAIFBHBvb2wFA25pbAUDbmlsAwkAAQIFAUACB0Jvb2xlYW4FAUAJAAIBCQCsAgIJAAMBBQFAAhwgY291bGRuJ3QgYmUgY2FzdCB0byBCb29sZWFuBAVjaGVjawMFIGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkBgUMcG9vbERpc2FibGVkAwkAAAIFBWNoZWNrBQVjaGVjawQHcG9vbEFkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgUEcG9vbAIABANyZXMKAAFACQD8BwQFB3Bvb2xBZHICIWNhbGN1bGF0ZUFtb3VudE91dEZvclN3YXBSRUFET05MWQkAzAgCBQ1jbGVhbkFtb3VudEluCQDMCAIFCWlzUmV2ZXJzZQUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50CQCUCgIFA25pbAUDcmVzCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBHN3YXADDGFtb3VudE91dE1pbghhc3NldE91dAlhZGRyZXNzVG8EA3BtdAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAdhc3NldEluAwkAAAIIBQNwbXQHYXNzZXRJZAUEdW5pdAkAmwMBAgVXQVZFUwkBBXZhbHVlAQgFA3BtdAdhc3NldElkBAhhbW91bnRJbgkBBXZhbHVlAQgFA3BtdAZhbW91bnQEBXByRmVlCQEFdmFsdWUBCQCfCAEJAQtwcm90b2NvbEZlZQAEEWZlZVByb3RvY29sQW1vdW50CQC8AgMJALYCAQUIYW1vdW50SW4JALYCAQUFcHJGZWUFCGZlZVNjYWxlBBJmZWVMaXF1aWRpdHlBbW91bnQJALwCAwkAtgIBBQhhbW91bnRJbgkAtgIBBQVwckZlZQUIZmVlU2NhbGUEDmFtb3VudEluVG9Qb29sCQC4AgIJALYCAQUIYW1vdW50SW4FEWZlZVByb3RvY29sQW1vdW50BA1jbGVhbkFtb3VudEluCQC4AgIFDmFtb3VudEluVG9Qb29sBRJmZWVMaXF1aWRpdHlBbW91bnQEBmNoZWNrcwkAzAgCAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAIBAh5leGFjdGx5IDEgcGF5bWVudCBhcmUgZXhwZWN0ZWQFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQNbHBOb25SZXZlcmVzZQkA/AcEBQ9mYWN0b3J5Q29udHJhY3QCIGdldExwQXNzZXRGcm9tUG9vbEFzc2V0c1JFQURPTkxZCQDMCAIFB2Fzc2V0SW4JAMwIAgUIYXNzZXRPdXQFA25pbAUDbmlsBAlscFJldmVyc2UJAPwHBAUPZmFjdG9yeUNvbnRyYWN0AiBnZXRMcEFzc2V0RnJvbVBvb2xBc3NldHNSRUFET05MWQkAzAgCBQhhc3NldE91dAkAzAgCBQdhc3NldEluBQNuaWwFA25pbAQLJHQwNDU1MTUwNDEDCQECIT0CBQ1scE5vblJldmVyZXNlBQR1bml0BAlpc1JldmVyc2UHBARwb29sCgABQAkA/AcEBQ9mYWN0b3J5Q29udHJhY3QCIWdldFBvb2xBZGRyZXNzRnJvbUxwQXNzZXRSRUFET05MWQkAzAgCBQ1scE5vblJldmVyZXNlBQNuaWwFA25pbAMJAAECBQFAAgdBZGRyZXNzBQFACQACAQkArAICCQADAQUBQAIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQWRkcmVzcwkAlAoCBQlpc1JldmVyc2UFBHBvb2wDCQECIT0CBQlscFJldmVyc2UFBHVuaXQECWlzUmV2ZXJzZQYEBHBvb2wJAPwHBAUPZmFjdG9yeUNvbnRyYWN0AiFnZXRQb29sQWRkcmVzc0Zyb21McEFzc2V0UkVBRE9OTFkJAMwIAgUJbHBSZXZlcnNlBQNuaWwFA25pbAkAlAoCBQlpc1JldmVyc2UFBHBvb2wFDHBvb2xOb3RFeGlzdAQJaXNSZXZlcnNlCAULJHQwNDU1MTUwNDECXzEEBHBvb2wIBQskdDA0NTUxNTA0MQJfMgQgaXNQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQKAAFACQD8BwQFD2ZhY3RvcnlDb250cmFjdAIoaXNQb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWRSRUFET05MWQkAzAgCBQRwb29sBQNuaWwFA25pbAMJAAECBQFAAgdCb29sZWFuBQFACQACAQkArAICCQADAQUBQAIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgQFY2hlY2sDBSBpc1Bvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAYFDHBvb2xEaXNhYmxlZAMJAAACBQVjaGVjawUFY2hlY2sEB3Bvb2xBZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQt2YWx1ZU9yRWxzZQIFBHBvb2wCAAQDcmVzCgABQAkA/AcEBQdwb29sQWRyAiZjYWxjdWxhdGVBbW91bnRPdXRGb3JTd2FwQW5kU2VuZFRva2VucwkAzAgCBQ1jbGVhbkFtb3VudEluCQDMCAIFCWlzUmV2ZXJzZQkAzAgCBQxhbW91bnRPdXRNaW4JAMwIAgUJYWRkcmVzc1RvBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB2Fzc2V0SW4JAKADAQUOYW1vdW50SW5Ub1Bvb2wFA25pbAMJAAECBQFAAgdCb29sZWFuBQFACQACAQkArAICCQADAQUBQAIcIGNvdWxkbid0IGJlIGNhc3QgdG8gQm9vbGVhbgkAlAoCBQNuaWwFA3JlcwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQpzZXRNYW5hZ2VyARdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQQLY2hlY2tDYWxsZXIJAQttdXN0TWFuYWdlcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBBVjaGVja01hbmFnZXJQdWJsaWNLZXkJANkEAQUXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkDCQAAAgUVY2hlY2tNYW5hZ2VyUHVibGljS2V5BRVjaGVja01hbmFnZXJQdWJsaWNLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGmtleVBlbmRpbmdNYW5hZ2VyUHVibGljS2V5AAUXcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5jb25maXJtTWFuYWdlcgAEAnBtCQEdcGVuZGluZ01hbmFnZXJQdWJsaWNLZXlPclVuaXQABAVoYXNQTQMJAQlpc0RlZmluZWQBBQJwbQYJAAIBAhJubyBwZW5kaW5nIG1hbmFnZXIDCQAAAgUFaGFzUE0FBWhhc1BNBAdjaGVja1BNAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQkBBXZhbHVlAQUCcG0GCQACAQIbeW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFB2NoZWNrUE0FB2NoZWNrUE0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleU1hbmFnZXJQdWJsaWNLZXkACQDYBAEJAQV2YWx1ZQEFAnBtCQDMCAIJAQtEZWxldGVFbnRyeQEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAED3RhcmdldFB1YmxpY0tleQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwBQJwawMJAAECBQckbWF0Y2gwAgRVbml0CAUCdHgPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFD3RhcmdldFB1YmxpY0tleRToe7g=", "chainId": 84, "height": 2433121, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8fyTTicxNy8FUm7EdqywTq3einNg2xS3SFpygPNt2VnA Next: 3g5NcMPY9HAShJa14jcya7jbSGYd2nEV69qgeRrpajxG Diff:
OldNewDifferences
1414
1515 let g = throw("Slippage is too big")
1616
17-let h = throw("Test error here")
18-
19-func i () = "%s__managerPublicKey"
17+func h () = "%s__managerPublicKey"
2018
2119
22-func j () = "%s__pendingManagerPublicKey"
20+func i () = "%s__pendingManagerPublicKey"
2321
2422
25-func k () = "%s__factoryContract"
23+func j () = "%s__factoryContract"
2624
2725
28-let l = addressFromStringValue(c(k()))
26+let k = addressFromStringValue(c(j()))
2927
30-func m () = makeString(["%s", "feeLiquidityContractAddress"], a)
28+func l () = makeString(["%s", "feeLiquidityContractAddress"], a)
3129
3230
33-func n () = makeString(["%s", "feeLiquidity"], a)
31+func m () = makeString(["%s", "feeLiquidity"], a)
3432
3533
36-func o () = makeString(["%s", "protocolFee"], a)
34+func n () = makeString(["%s", "protocolFee"], a)
3735
3836
39-func p (q) = {
40- let r = q
41- if ($isInstanceOf(r, "Int"))
37+func o (p) = {
38+ let q = p
39+ if ($isInstanceOf(q, "Int"))
4240 then {
43- let s = r
44- s
41+ let r = q
42+ r
4543 }
4644 else throw("fail to cast into Int")
4745 }
4846
4947
50-func t (u,v) = makeString(["%d%d", toString(u), toString(v)], a)
48+func s (t,u) = makeString(["%d%d", toString(t), toString(u)], a)
5149
5250
53-func w () = {
54- let r = getString(i())
55- if ($isInstanceOf(r, "String"))
51+func v () = {
52+ let q = getString(h())
53+ if ($isInstanceOf(q, "String"))
5654 then {
57- let x = r
58- fromBase58String(x)
55+ let w = q
56+ fromBase58String(w)
5957 }
60- else if ($isInstanceOf(r, "Unit"))
58+ else if ($isInstanceOf(q, "Unit"))
6159 then unit
6260 else throw("Match error")
6361 }
6462
6563
66-func y () = {
67- let r = getString(j())
68- if ($isInstanceOf(r, "String"))
64+func x () = {
65+ let q = getString(i())
66+ if ($isInstanceOf(q, "String"))
6967 then {
70- let x = r
71- fromBase58String(x)
68+ let w = q
69+ fromBase58String(w)
7270 }
73- else if ($isInstanceOf(r, "Unit"))
71+ else if ($isInstanceOf(q, "Unit"))
7472 then unit
7573 else throw("Match error")
7674 }
7775
7876
79-func z (A) = {
80- let r = w()
81- if ($isInstanceOf(r, "ByteVector"))
77+func y (z) = {
78+ let q = v()
79+ if ($isInstanceOf(q, "ByteVector"))
8280 then {
83- let B = r
84- (A.callerPublicKey == B)
81+ let A = q
82+ (z.callerPublicKey == A)
8583 }
86- else if ($isInstanceOf(r, "Unit"))
87- then (A.caller == this)
84+ else if ($isInstanceOf(q, "Unit"))
85+ then (z.caller == this)
8886 else throw("Match error")
8987 }
9088
9189
92-func C (A) = if (z(A))
90+func B (z) = if (y(z))
9391 then true
9492 else throw("permission denied")
9593
9694
97-func D (E) = if ((E == "WAVES"))
95+func C (D) = if ((D == "WAVES"))
9896 then wavesBalance(this).available
99- else assetBalance(this, fromBase58String(E))
97+ else assetBalance(this, fromBase58String(D))
10098
10199
102-@Callable(A)
103-func swapCalculateREADONLY (F,G,H) = {
104- let I = value(getInteger(o()))
105- let J = fraction(toBigInt(F), toBigInt(I), b)
106- let K = fraction(toBigInt(F), toBigInt(I), b)
107- let L = (toBigInt(F) - J)
108- let M = (L - K)
109- let N = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [G, H], nil)
110- let O = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [H, G], nil)
111- let P = if ((N != unit))
100+@Callable(z)
101+func swapCalculateREADONLY (E,F,G) = {
102+ let H = value(getInteger(n()))
103+ let I = fraction(toBigInt(E), toBigInt(H), b)
104+ let J = fraction(toBigInt(E), toBigInt(H), b)
105+ let K = (toBigInt(E) - I)
106+ let L = (K - J)
107+ let M = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [F, G], nil)
108+ let N = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [G, F], nil)
109+ let O = if ((M != unit))
112110 then {
113- let Q = false
114- let R = {
115- let S = invoke(l, "getPoolAddressFromLpAssetREADONLY", [N], nil)
116- if ($isInstanceOf(S, "Address"))
117- then S
118- else throw(($getType(S) + " couldn't be cast to Address"))
111+ let P = false
112+ let Q = {
113+ let R = invoke(k, "getPoolAddressFromLpAssetREADONLY", [M], nil)
114+ if ($isInstanceOf(R, "Address"))
115+ then R
116+ else throw(($getType(R) + " couldn't be cast to Address"))
119117 }
120- $Tuple2(Q, R)
118+ $Tuple2(P, Q)
121119 }
122- else if ((O != unit))
120+ else if ((N != unit))
123121 then {
124- let Q = true
125- let R = invoke(l, "getPoolAddressFromLpAssetREADONLY", [O], nil)
126- $Tuple2(Q, R)
122+ let P = true
123+ let Q = invoke(k, "getPoolAddressFromLpAssetREADONLY", [N], nil)
124+ $Tuple2(P, Q)
127125 }
128- else h
129- let Q = P._1
130- let R = P._2
131- let T = {
132- let S = invoke(l, "isPoolOneTokenOperationsDisabledREADONLY", [R], nil)
133- if ($isInstanceOf(S, "Boolean"))
134- then S
135- else throw(($getType(S) + " couldn't be cast to Boolean"))
126+ else f
127+ let P = O._1
128+ let Q = O._2
129+ let S = {
130+ let R = invoke(k, "isPoolOneTokenOperationsDisabledREADONLY", [Q], nil)
131+ if ($isInstanceOf(R, "Boolean"))
132+ then R
133+ else throw(($getType(R) + " couldn't be cast to Boolean"))
136134 }
137- let U = if (T)
135+ let T = if (S)
138136 then true
139137 else e
140- if ((U == U))
138+ if ((T == T))
141139 then {
142- let V = addressFromStringValue(valueOrElse(R, ""))
143- let W = {
144- let S = invoke(V, "calculateAmountOutForSwapREADONLY", [M, Q], nil)
145- if ($isInstanceOf(S, "Int"))
146- then S
147- else throw(($getType(S) + " couldn't be cast to Int"))
140+ let U = addressFromStringValue(valueOrElse(Q, ""))
141+ let V = {
142+ let R = invoke(U, "calculateAmountOutForSwapREADONLY", [L, P], nil)
143+ if ($isInstanceOf(R, "Int"))
144+ then R
145+ else throw(($getType(R) + " couldn't be cast to Int"))
148146 }
149- $Tuple2(nil, W)
147+ $Tuple2(nil, V)
150148 }
151149 else throw("Strict value is not equal to itself.")
152150 }
153151
154152
155153
156-@Callable(A)
157-func swap (X,H,Y) = {
158- let Z = value(A.payments[0])
159- let G = if ((Z.assetId == unit))
154+@Callable(z)
155+func swap (W,G,X) = {
156+ let Y = value(z.payments[0])
157+ let F = if ((Y.assetId == unit))
160158 then toBytes("WAVES")
161- else value(Z.assetId)
162- let F = value(Z.amount)
163- let I = value(getInteger(o()))
164- let J = fraction(toBigInt(F), toBigInt(I), b)
165- let K = fraction(toBigInt(F), toBigInt(I), b)
166- let L = (toBigInt(F) - J)
167- let M = (L - K)
168- let aa = [if ((size(A.payments) == 1))
159+ else value(Y.assetId)
160+ let E = value(Y.amount)
161+ let H = value(getInteger(n()))
162+ let I = fraction(toBigInt(E), toBigInt(H), b)
163+ let J = fraction(toBigInt(E), toBigInt(H), b)
164+ let K = (toBigInt(E) - I)
165+ let L = (K - J)
166+ let Z = [if ((size(z.payments) == 1))
169167 then true
170168 else throw("exactly 1 payment are expected")]
171- if ((aa == aa))
169+ if ((Z == Z))
172170 then {
173- let N = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [G, H], nil)
174- let O = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [H, G], nil)
175- let ab = if ((N != unit))
171+ let M = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [F, G], nil)
172+ let N = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [G, F], nil)
173+ let aa = if ((M != unit))
176174 then {
177- let Q = false
178- let R = {
179- let S = invoke(l, "getPoolAddressFromLpAssetREADONLY", [N], nil)
180- if ($isInstanceOf(S, "Address"))
181- then S
182- else throw(($getType(S) + " couldn't be cast to Address"))
175+ let P = false
176+ let Q = {
177+ let R = invoke(k, "getPoolAddressFromLpAssetREADONLY", [M], nil)
178+ if ($isInstanceOf(R, "Address"))
179+ then R
180+ else throw(($getType(R) + " couldn't be cast to Address"))
183181 }
184- $Tuple2(Q, R)
182+ $Tuple2(P, Q)
185183 }
186- else if ((O != unit))
184+ else if ((N != unit))
187185 then {
188- let Q = true
189- let R = invoke(l, "getPoolAddressFromLpAssetREADONLY", [O], nil)
190- $Tuple2(Q, R)
186+ let P = true
187+ let Q = invoke(k, "getPoolAddressFromLpAssetREADONLY", [N], nil)
188+ $Tuple2(P, Q)
191189 }
192190 else f
193- let Q = ab._1
194- let R = ab._2
195- let T = {
196- let S = invoke(l, "isPoolOneTokenOperationsDisabledREADONLY", [R], nil)
197- if ($isInstanceOf(S, "Boolean"))
198- then S
199- else throw(($getType(S) + " couldn't be cast to Boolean"))
191+ let P = aa._1
192+ let Q = aa._2
193+ let S = {
194+ let R = invoke(k, "isPoolOneTokenOperationsDisabledREADONLY", [Q], nil)
195+ if ($isInstanceOf(R, "Boolean"))
196+ then R
197+ else throw(($getType(R) + " couldn't be cast to Boolean"))
200198 }
201- let U = if (T)
199+ let T = if (S)
202200 then true
203201 else e
204- if ((U == U))
202+ if ((T == T))
205203 then {
206- let V = addressFromStringValue(valueOrElse(R, ""))
207- let W = {
208- let S = invoke(V, "calculateAmountOutForSwapAndSendTokens", [M, Q, X, Y], [AttachedPayment(G, toInt(L))])
209- if ($isInstanceOf(S, "Boolean"))
210- then S
211- else throw(($getType(S) + " couldn't be cast to Boolean"))
204+ let U = addressFromStringValue(valueOrElse(Q, ""))
205+ let V = {
206+ let R = invoke(U, "calculateAmountOutForSwapAndSendTokens", [L, P, W, X], [AttachedPayment(F, toInt(K))])
207+ if ($isInstanceOf(R, "Boolean"))
208+ then R
209+ else throw(($getType(R) + " couldn't be cast to Boolean"))
212210 }
213- $Tuple2(nil, W)
211+ $Tuple2(nil, V)
214212 }
215213 else throw("Strict value is not equal to itself.")
216214 }
219217
220218
221219
222-@Callable(A)
223-func setManager (ac) = {
224- let ad = C(A)
225- if ((ad == ad))
220+@Callable(z)
221+func setManager (ab) = {
222+ let ac = B(z)
223+ if ((ac == ac))
226224 then {
227- let ae = fromBase58String(ac)
228- if ((ae == ae))
229- then [StringEntry(j(), ac)]
225+ let ad = fromBase58String(ab)
226+ if ((ad == ad))
227+ then [StringEntry(i(), ab)]
230228 else throw("Strict value is not equal to itself.")
231229 }
232230 else throw("Strict value is not equal to itself.")
234232
235233
236234
237-@Callable(A)
235+@Callable(z)
238236 func confirmManager () = {
239- let af = y()
240- let ag = if (isDefined(af))
237+ let ae = x()
238+ let af = if (isDefined(ae))
241239 then true
242240 else throw("no pending manager")
243- if ((ag == ag))
241+ if ((af == af))
244242 then {
245- let ah = if ((A.callerPublicKey == value(af)))
243+ let ag = if ((z.callerPublicKey == value(ae)))
246244 then true
247245 else throw("you are not pending manager")
248- if ((ah == ah))
249- then [StringEntry(i(), toBase58String(value(af))), DeleteEntry(j())]
246+ if ((ag == ag))
247+ then [StringEntry(h(), toBase58String(value(ae))), DeleteEntry(i())]
250248 else throw("Strict value is not equal to itself.")
251249 }
252250 else throw("Strict value is not equal to itself.")
253251 }
254252
255253
256-@Verifier(ai)
257-func aj () = {
258- let ak = {
259- let r = w()
260- if ($isInstanceOf(r, "ByteVector"))
254+@Verifier(ah)
255+func ai () = {
256+ let aj = {
257+ let q = v()
258+ if ($isInstanceOf(q, "ByteVector"))
261259 then {
262- let B = r
263- B
260+ let A = q
261+ A
264262 }
265- else if ($isInstanceOf(r, "Unit"))
266- then ai.senderPublicKey
263+ else if ($isInstanceOf(q, "Unit"))
264+ then ah.senderPublicKey
267265 else throw("Match error")
268266 }
269- sigVerify(ai.bodyBytes, ai.proofs[0], ak)
267+ sigVerify(ah.bodyBytes, ah.proofs[0], aj)
270268 }
271269
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = toBigInt(100000)
77
88 func c (d) = valueOrErrorMessage(getString(this, d), ("No data for this.key=" + d))
99
1010
1111 let e = throw("Pool disabled")
1212
1313 let f = throw("Pool is not exist")
1414
1515 let g = throw("Slippage is too big")
1616
17-let h = throw("Test error here")
18-
19-func i () = "%s__managerPublicKey"
17+func h () = "%s__managerPublicKey"
2018
2119
22-func j () = "%s__pendingManagerPublicKey"
20+func i () = "%s__pendingManagerPublicKey"
2321
2422
25-func k () = "%s__factoryContract"
23+func j () = "%s__factoryContract"
2624
2725
28-let l = addressFromStringValue(c(k()))
26+let k = addressFromStringValue(c(j()))
2927
30-func m () = makeString(["%s", "feeLiquidityContractAddress"], a)
28+func l () = makeString(["%s", "feeLiquidityContractAddress"], a)
3129
3230
33-func n () = makeString(["%s", "feeLiquidity"], a)
31+func m () = makeString(["%s", "feeLiquidity"], a)
3432
3533
36-func o () = makeString(["%s", "protocolFee"], a)
34+func n () = makeString(["%s", "protocolFee"], a)
3735
3836
39-func p (q) = {
40- let r = q
41- if ($isInstanceOf(r, "Int"))
37+func o (p) = {
38+ let q = p
39+ if ($isInstanceOf(q, "Int"))
4240 then {
43- let s = r
44- s
41+ let r = q
42+ r
4543 }
4644 else throw("fail to cast into Int")
4745 }
4846
4947
50-func t (u,v) = makeString(["%d%d", toString(u), toString(v)], a)
48+func s (t,u) = makeString(["%d%d", toString(t), toString(u)], a)
5149
5250
53-func w () = {
54- let r = getString(i())
55- if ($isInstanceOf(r, "String"))
51+func v () = {
52+ let q = getString(h())
53+ if ($isInstanceOf(q, "String"))
5654 then {
57- let x = r
58- fromBase58String(x)
55+ let w = q
56+ fromBase58String(w)
5957 }
60- else if ($isInstanceOf(r, "Unit"))
58+ else if ($isInstanceOf(q, "Unit"))
6159 then unit
6260 else throw("Match error")
6361 }
6462
6563
66-func y () = {
67- let r = getString(j())
68- if ($isInstanceOf(r, "String"))
64+func x () = {
65+ let q = getString(i())
66+ if ($isInstanceOf(q, "String"))
6967 then {
70- let x = r
71- fromBase58String(x)
68+ let w = q
69+ fromBase58String(w)
7270 }
73- else if ($isInstanceOf(r, "Unit"))
71+ else if ($isInstanceOf(q, "Unit"))
7472 then unit
7573 else throw("Match error")
7674 }
7775
7876
79-func z (A) = {
80- let r = w()
81- if ($isInstanceOf(r, "ByteVector"))
77+func y (z) = {
78+ let q = v()
79+ if ($isInstanceOf(q, "ByteVector"))
8280 then {
83- let B = r
84- (A.callerPublicKey == B)
81+ let A = q
82+ (z.callerPublicKey == A)
8583 }
86- else if ($isInstanceOf(r, "Unit"))
87- then (A.caller == this)
84+ else if ($isInstanceOf(q, "Unit"))
85+ then (z.caller == this)
8886 else throw("Match error")
8987 }
9088
9189
92-func C (A) = if (z(A))
90+func B (z) = if (y(z))
9391 then true
9492 else throw("permission denied")
9593
9694
97-func D (E) = if ((E == "WAVES"))
95+func C (D) = if ((D == "WAVES"))
9896 then wavesBalance(this).available
99- else assetBalance(this, fromBase58String(E))
97+ else assetBalance(this, fromBase58String(D))
10098
10199
102-@Callable(A)
103-func swapCalculateREADONLY (F,G,H) = {
104- let I = value(getInteger(o()))
105- let J = fraction(toBigInt(F), toBigInt(I), b)
106- let K = fraction(toBigInt(F), toBigInt(I), b)
107- let L = (toBigInt(F) - J)
108- let M = (L - K)
109- let N = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [G, H], nil)
110- let O = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [H, G], nil)
111- let P = if ((N != unit))
100+@Callable(z)
101+func swapCalculateREADONLY (E,F,G) = {
102+ let H = value(getInteger(n()))
103+ let I = fraction(toBigInt(E), toBigInt(H), b)
104+ let J = fraction(toBigInt(E), toBigInt(H), b)
105+ let K = (toBigInt(E) - I)
106+ let L = (K - J)
107+ let M = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [F, G], nil)
108+ let N = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [G, F], nil)
109+ let O = if ((M != unit))
112110 then {
113- let Q = false
114- let R = {
115- let S = invoke(l, "getPoolAddressFromLpAssetREADONLY", [N], nil)
116- if ($isInstanceOf(S, "Address"))
117- then S
118- else throw(($getType(S) + " couldn't be cast to Address"))
111+ let P = false
112+ let Q = {
113+ let R = invoke(k, "getPoolAddressFromLpAssetREADONLY", [M], nil)
114+ if ($isInstanceOf(R, "Address"))
115+ then R
116+ else throw(($getType(R) + " couldn't be cast to Address"))
119117 }
120- $Tuple2(Q, R)
118+ $Tuple2(P, Q)
121119 }
122- else if ((O != unit))
120+ else if ((N != unit))
123121 then {
124- let Q = true
125- let R = invoke(l, "getPoolAddressFromLpAssetREADONLY", [O], nil)
126- $Tuple2(Q, R)
122+ let P = true
123+ let Q = invoke(k, "getPoolAddressFromLpAssetREADONLY", [N], nil)
124+ $Tuple2(P, Q)
127125 }
128- else h
129- let Q = P._1
130- let R = P._2
131- let T = {
132- let S = invoke(l, "isPoolOneTokenOperationsDisabledREADONLY", [R], nil)
133- if ($isInstanceOf(S, "Boolean"))
134- then S
135- else throw(($getType(S) + " couldn't be cast to Boolean"))
126+ else f
127+ let P = O._1
128+ let Q = O._2
129+ let S = {
130+ let R = invoke(k, "isPoolOneTokenOperationsDisabledREADONLY", [Q], nil)
131+ if ($isInstanceOf(R, "Boolean"))
132+ then R
133+ else throw(($getType(R) + " couldn't be cast to Boolean"))
136134 }
137- let U = if (T)
135+ let T = if (S)
138136 then true
139137 else e
140- if ((U == U))
138+ if ((T == T))
141139 then {
142- let V = addressFromStringValue(valueOrElse(R, ""))
143- let W = {
144- let S = invoke(V, "calculateAmountOutForSwapREADONLY", [M, Q], nil)
145- if ($isInstanceOf(S, "Int"))
146- then S
147- else throw(($getType(S) + " couldn't be cast to Int"))
140+ let U = addressFromStringValue(valueOrElse(Q, ""))
141+ let V = {
142+ let R = invoke(U, "calculateAmountOutForSwapREADONLY", [L, P], nil)
143+ if ($isInstanceOf(R, "Int"))
144+ then R
145+ else throw(($getType(R) + " couldn't be cast to Int"))
148146 }
149- $Tuple2(nil, W)
147+ $Tuple2(nil, V)
150148 }
151149 else throw("Strict value is not equal to itself.")
152150 }
153151
154152
155153
156-@Callable(A)
157-func swap (X,H,Y) = {
158- let Z = value(A.payments[0])
159- let G = if ((Z.assetId == unit))
154+@Callable(z)
155+func swap (W,G,X) = {
156+ let Y = value(z.payments[0])
157+ let F = if ((Y.assetId == unit))
160158 then toBytes("WAVES")
161- else value(Z.assetId)
162- let F = value(Z.amount)
163- let I = value(getInteger(o()))
164- let J = fraction(toBigInt(F), toBigInt(I), b)
165- let K = fraction(toBigInt(F), toBigInt(I), b)
166- let L = (toBigInt(F) - J)
167- let M = (L - K)
168- let aa = [if ((size(A.payments) == 1))
159+ else value(Y.assetId)
160+ let E = value(Y.amount)
161+ let H = value(getInteger(n()))
162+ let I = fraction(toBigInt(E), toBigInt(H), b)
163+ let J = fraction(toBigInt(E), toBigInt(H), b)
164+ let K = (toBigInt(E) - I)
165+ let L = (K - J)
166+ let Z = [if ((size(z.payments) == 1))
169167 then true
170168 else throw("exactly 1 payment are expected")]
171- if ((aa == aa))
169+ if ((Z == Z))
172170 then {
173- let N = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [G, H], nil)
174- let O = invoke(l, "getLpAssetFromPoolAssetsREADONLY", [H, G], nil)
175- let ab = if ((N != unit))
171+ let M = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [F, G], nil)
172+ let N = invoke(k, "getLpAssetFromPoolAssetsREADONLY", [G, F], nil)
173+ let aa = if ((M != unit))
176174 then {
177- let Q = false
178- let R = {
179- let S = invoke(l, "getPoolAddressFromLpAssetREADONLY", [N], nil)
180- if ($isInstanceOf(S, "Address"))
181- then S
182- else throw(($getType(S) + " couldn't be cast to Address"))
175+ let P = false
176+ let Q = {
177+ let R = invoke(k, "getPoolAddressFromLpAssetREADONLY", [M], nil)
178+ if ($isInstanceOf(R, "Address"))
179+ then R
180+ else throw(($getType(R) + " couldn't be cast to Address"))
183181 }
184- $Tuple2(Q, R)
182+ $Tuple2(P, Q)
185183 }
186- else if ((O != unit))
184+ else if ((N != unit))
187185 then {
188- let Q = true
189- let R = invoke(l, "getPoolAddressFromLpAssetREADONLY", [O], nil)
190- $Tuple2(Q, R)
186+ let P = true
187+ let Q = invoke(k, "getPoolAddressFromLpAssetREADONLY", [N], nil)
188+ $Tuple2(P, Q)
191189 }
192190 else f
193- let Q = ab._1
194- let R = ab._2
195- let T = {
196- let S = invoke(l, "isPoolOneTokenOperationsDisabledREADONLY", [R], nil)
197- if ($isInstanceOf(S, "Boolean"))
198- then S
199- else throw(($getType(S) + " couldn't be cast to Boolean"))
191+ let P = aa._1
192+ let Q = aa._2
193+ let S = {
194+ let R = invoke(k, "isPoolOneTokenOperationsDisabledREADONLY", [Q], nil)
195+ if ($isInstanceOf(R, "Boolean"))
196+ then R
197+ else throw(($getType(R) + " couldn't be cast to Boolean"))
200198 }
201- let U = if (T)
199+ let T = if (S)
202200 then true
203201 else e
204- if ((U == U))
202+ if ((T == T))
205203 then {
206- let V = addressFromStringValue(valueOrElse(R, ""))
207- let W = {
208- let S = invoke(V, "calculateAmountOutForSwapAndSendTokens", [M, Q, X, Y], [AttachedPayment(G, toInt(L))])
209- if ($isInstanceOf(S, "Boolean"))
210- then S
211- else throw(($getType(S) + " couldn't be cast to Boolean"))
204+ let U = addressFromStringValue(valueOrElse(Q, ""))
205+ let V = {
206+ let R = invoke(U, "calculateAmountOutForSwapAndSendTokens", [L, P, W, X], [AttachedPayment(F, toInt(K))])
207+ if ($isInstanceOf(R, "Boolean"))
208+ then R
209+ else throw(($getType(R) + " couldn't be cast to Boolean"))
212210 }
213- $Tuple2(nil, W)
211+ $Tuple2(nil, V)
214212 }
215213 else throw("Strict value is not equal to itself.")
216214 }
217215 else throw("Strict value is not equal to itself.")
218216 }
219217
220218
221219
222-@Callable(A)
223-func setManager (ac) = {
224- let ad = C(A)
225- if ((ad == ad))
220+@Callable(z)
221+func setManager (ab) = {
222+ let ac = B(z)
223+ if ((ac == ac))
226224 then {
227- let ae = fromBase58String(ac)
228- if ((ae == ae))
229- then [StringEntry(j(), ac)]
225+ let ad = fromBase58String(ab)
226+ if ((ad == ad))
227+ then [StringEntry(i(), ab)]
230228 else throw("Strict value is not equal to itself.")
231229 }
232230 else throw("Strict value is not equal to itself.")
233231 }
234232
235233
236234
237-@Callable(A)
235+@Callable(z)
238236 func confirmManager () = {
239- let af = y()
240- let ag = if (isDefined(af))
237+ let ae = x()
238+ let af = if (isDefined(ae))
241239 then true
242240 else throw("no pending manager")
243- if ((ag == ag))
241+ if ((af == af))
244242 then {
245- let ah = if ((A.callerPublicKey == value(af)))
243+ let ag = if ((z.callerPublicKey == value(ae)))
246244 then true
247245 else throw("you are not pending manager")
248- if ((ah == ah))
249- then [StringEntry(i(), toBase58String(value(af))), DeleteEntry(j())]
246+ if ((ag == ag))
247+ then [StringEntry(h(), toBase58String(value(ae))), DeleteEntry(i())]
250248 else throw("Strict value is not equal to itself.")
251249 }
252250 else throw("Strict value is not equal to itself.")
253251 }
254252
255253
256-@Verifier(ai)
257-func aj () = {
258- let ak = {
259- let r = w()
260- if ($isInstanceOf(r, "ByteVector"))
254+@Verifier(ah)
255+func ai () = {
256+ let aj = {
257+ let q = v()
258+ if ($isInstanceOf(q, "ByteVector"))
261259 then {
262- let B = r
263- B
260+ let A = q
261+ A
264262 }
265- else if ($isInstanceOf(r, "Unit"))
266- then ai.senderPublicKey
263+ else if ($isInstanceOf(q, "Unit"))
264+ then ah.senderPublicKey
267265 else throw("Match error")
268266 }
269- sigVerify(ai.bodyBytes, ai.proofs[0], ak)
267+ sigVerify(ah.bodyBytes, ah.proofs[0], aj)
270268 }
271269

github/deemru/w8io/c3f4982 
92.62 ms