tx · DwsH2kvrHfrFnsXCzC5W1PPCmBWUdQmMYFpHijBnCKdH

3N5HkfGrou8T5NyAuZVncnAdVuGmSHuMQ5d:  -0.01000000 Waves

2022.06.09 17:04 [2088939] smart account 3N5HkfGrou8T5NyAuZVncnAdVuGmSHuMQ5d > SELF 0.00000000 Waves

{ "type": 13, "id": "DwsH2kvrHfrFnsXCzC5W1PPCmBWUdQmMYFpHijBnCKdH", "fee": 1000000, "feeAssetId": null, "timestamp": 1654783495278, "version": 2, "chainId": 84, "sender": "3N5HkfGrou8T5NyAuZVncnAdVuGmSHuMQ5d", "senderPublicKey": "AZLzseQJi9XUNNp7cN6jwqDdSmQvDPNNqu7aQ6ujbsnJ", "proofs": [ "4uG6MXPcpiRa68kTkS4PF6o3ZEQzvDvCMw1GZdJt7ME7jcncr5DHP9f41YCAdUNsmerCbNWgjX26sXtmHtpKeDDL" ], "script": "base64:AAIFAAAAAAAAAAsIAhIHCgUBAQEBAQAAAAAAAAABAAAAAWkBAAAABGNhbGMAAAAFAAAACGFtb3VudEluAAAADmFzc2V0SW5CYWxhbmNlAAAAD2Fzc2V0T3V0QmFsYW5jZQAAAA13ZWlnaHRBc3NldEluAAAADndlaWdodEFzc2V0T3V0BAAAAAZTY2FsZTgAAAAAAAX14QAEAAAAB3Bvd0Jhc2UJAAE9AAAABAkAATYAAAABBQAAAA5hc3NldEluQmFsYW5jZQkAATYAAAABCQAAaAAAAAIFAAAABlNjYWxlOAUAAAAGU2NhbGU4CQABNgAAAAEJAABkAAAAAgUAAAAOYXNzZXRJbkJhbGFuY2UFAAAACGFtb3VudEluBQAAAAZIQUxGVVAEAAAAC3Bvd0V4cG9uZW50CQABNgAAAAEJAABrAAAAAwUAAAANd2VpZ2h0QXNzZXRJbgAAAAAAAAAnEAUAAAAOd2VpZ2h0QXNzZXRPdXQEAAAAA3JlcwkBAAAACGZyYWN0aW9uAAAABAUAAAAPYXNzZXRPdXRCYWxhbmNlCQAAZQAAAAIJAABoAAAAAgUAAAAGU2NhbGU4BQAAAAZTY2FsZTgJAAGgAAAAAQkAAHYAAAAGBQAAAAdwb3dCYXNlAAAAAAAAAAAQBQAAAAtwb3dFeHBvbmVudAAAAAAAAAAABAAAAAAAAAAAEAUAAAAHQ0VJTElORwkAAGgAAAACBQAAAAZTY2FsZTgFAAAABlNjYWxlOAUAAAAERE9XTgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABAgAAAARrZXk1CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAdwb3dCYXNlCQABoAAAAAEFAAAAB3Bvd0Jhc2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAC3Bvd0V4cG9uZW50CQABoAAAAAEFAAAAC3Bvd0V4cG9uZW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAANyZXMFAAAAA3JlcwUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAYWIySA", "height": 2088939, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: WuUEuiqNd1TFUBJtDZTkM3aNw2YZKEdJPSb23EJ4gsP Next: J9SA157Kib2khDvHEgpXJnkKbPX5C2AaCUpCBkbmxhDU Diff:
OldNewDifferences
88 let Scale8 = 100000000
99 let powBase = fraction(toBigInt(assetInBalance), toBigInt((Scale8 * Scale8)), toBigInt((assetInBalance + amountIn)), HALFUP)
1010 let powExponent = toBigInt(fraction(weightAssetIn, 10000, weightAssetOut))
11-[DeleteEntry("key5"), IntegerEntry("powBase", toInt(powBase)), IntegerEntry("powExponent", toInt(powExponent))]
11+ let res = fraction(assetOutBalance, ((Scale8 * Scale8) - toInt(pow(powBase, 16, powExponent, 4, 16, CEILING))), (Scale8 * Scale8), DOWN)
12+[DeleteEntry("key5"), IntegerEntry("powBase", toInt(powBase)), IntegerEntry("powExponent", toInt(powExponent)), IntegerEntry("res", res)]
1213 }
1314
1415
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func calc (amountIn,assetInBalance,assetOutBalance,weightAssetIn,weightAssetOut) = {
88 let Scale8 = 100000000
99 let powBase = fraction(toBigInt(assetInBalance), toBigInt((Scale8 * Scale8)), toBigInt((assetInBalance + amountIn)), HALFUP)
1010 let powExponent = toBigInt(fraction(weightAssetIn, 10000, weightAssetOut))
11-[DeleteEntry("key5"), IntegerEntry("powBase", toInt(powBase)), IntegerEntry("powExponent", toInt(powExponent))]
11+ let res = fraction(assetOutBalance, ((Scale8 * Scale8) - toInt(pow(powBase, 16, powExponent, 4, 16, CEILING))), (Scale8 * Scale8), DOWN)
12+[DeleteEntry("key5"), IntegerEntry("powBase", toInt(powBase)), IntegerEntry("powExponent", toInt(powExponent)), IntegerEntry("res", res)]
1213 }
1314
1415
1516 @Verifier(tx)
1617 func verify () = true
1718

github/deemru/w8io/169f3d6 
23.10 ms