tx · BxYFCZ4p6Zmgz6DPuzXED3rXfebVonbSYvn1VD79oNmK 3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov: -0.01000000 Waves 2023.09.10 10:41 [3814747] smart account 3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov > SELF 0.00000000 Waves
{ "type": 13, "id": "BxYFCZ4p6Zmgz6DPuzXED3rXfebVonbSYvn1VD79oNmK", "fee": 1000000, "feeAssetId": null, "timestamp": 1694331695134, "version": 2, "chainId": 87, "sender": "3PCBL2vbjAVFbiCwmGsPmT6QdATutQnM8ov", "senderPublicKey": "5BKRz3VCmywzUUoj3kTwCzrCiP8waYbkaymD8B1kdRH2", "proofs": [ "57HKWofFESbS1gus645mf4zLUF8DT5L2MkeM4FMkyAZLipx8tB7zeX3bBoJDVMtS6E6PYEi8GT52Cp3zjB6K86E5" ], "script": "base64:BgIGCAISABIAAwAGU2NhbGU4AIDC1y8AB1NjYWxlMTAAgMivoCUAB1NjYWxlMTYJAGgCBQZTY2FsZTgFBlNjYWxlOAIBaQEUZ2V0U3VwcGxpZWRXQVZFU01haW4ABAtwb29sYWRkcmVzcwkBB0FkZHJlc3MBARoBVyCUXEqtz/RIOTuIQLO/2+6MUKCnas/a6AQTY2FsY3VsYXRlVG9rZW5SYXRlcwkA/AcEBQtwb29sYWRkcmVzcwITY2FsY3VsYXRlVG9rZW5SYXRlcwkAzAgCBwUDbmlsBQNuaWwDCQAAAgUTY2FsY3VsYXRlVG9rZW5SYXRlcwUTY2FsY3VsYXRlVG9rZW5SYXRlcwQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEBXNSYXRlCQERQGV4dHJOYXRpdmUoMTA1MCkCBQtwb29sYWRkcmVzcwkArAICAgVXQVZFUwIGX3NSYXRlBAViUmF0ZQkBEUBleHRyTmF0aXZlKDEwNTApAgULcG9vbGFkZHJlc3MJAKwCAgIFV0FWRVMCBl9iUmF0ZQQPYXNzZXRBbW91bnRVc2VyCQERQGV4dHJOYXRpdmUoMTA1MCkCBQtwb29sYWRkcmVzcwkArAICCQCsAgIFB2FkZHJlc3MCCl9zdXBwbGllZF8CBVdBVkVTBA51c2VyQXNzZXRWYWx1ZQkAawMFD2Fzc2V0QW1vdW50VXNlcgUFc1JhdGUFB1NjYWxlMTYEDWFzc2V0U3VwcGxpZWQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFC3Bvb2xhZGRyZXNzCQCsAgICD3RvdGFsX3N1cHBsaWVkXwIFV0FWRVMEEmFzc2V0U3VwcGxpZWRWYWx1ZQkAawMFDWFzc2V0U3VwcGxpZWQFBXNSYXRlBQdTY2FsZTE2BA1hc3NldEJvcnJvd2VkCQERQGV4dHJOYXRpdmUoMTA1MCkCBQtwb29sYWRkcmVzcwkArAICAg90b3RhbF9ib3Jyb3dlZF8CBVdBVkVTBBJhc3NldEJvcnJvd2VkVmFsdWUJAGsDBQ1hc3NldEJvcnJvd2VkBQViUmF0ZQUHU2NhbGUxNgQRYXNzZXRXaXRoZHJhd2FibGUJAGUCCQERQGV4dHJOYXRpdmUoMTA1MCkCBQtwb29sYWRkcmVzcwkArAICAg90b3RhbF9zdXBwbGllZF8CBVdBVkVTCQERQGV4dHJOYXRpdmUoMTA1MCkCBQtwb29sYWRkcmVzcwkArAICAg90b3RhbF9ib3Jyb3dlZF8CBVdBVkVTBBZhc3NldFdpdGhkcmF3YWJsZVZhbHVlCQBlAgUSYXNzZXRTdXBwbGllZFZhbHVlBRJhc3NldEJvcnJvd2VkVmFsdWUEB1BMdmFsdWUJAGsDBQ1hc3NldFN1cHBsaWVkBQVzUmF0ZQUHU2NhbGUxNgQHUExwcmljZQkAawMFB1BMdmFsdWUFBlNjYWxlOAUNYXNzZXRTdXBwbGllZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIRdXNlckFzc2V0U3VwcGxpZWQFD2Fzc2V0QW1vdW50VXNlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIOdXNlckFzc2V0VmFsdWUFDnVzZXJBc3NldFZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgdQTHZhbHVlBQdQTHZhbHVlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgdQTHByaWNlBQdQTHByaWNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg1hc3NldFN1cHBsaWVkBQ1hc3NldFN1cHBsaWVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg1hc3NldEJvcnJvd2VkBQ1hc3NldEJvcnJvd2VkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhFhc3NldFdpdGhkcmF3YWJsZQURYXNzZXRXaXRoZHJhd2FibGUJAMwIAgkBDEludGVnZXJFbnRyeQICFmFzc2V0V2l0aGRyYXdhYmxlVmFsdWUFFmFzc2V0V2l0aGRyYXdhYmxlVmFsdWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARlnZXRTdXBwbGllZFdBVkVTV2F2ZXNEZWZpAAQLcG9vbGFkZHJlc3MJAQdBZGRyZXNzAQEaAVcZCzuPP83F9QBSQ7jrpozIrL8UOTE+JL4EE2NhbGN1bGF0ZVRva2VuUmF0ZXMJAPwHBAULcG9vbGFkZHJlc3MCE2NhbGN1bGF0ZVRva2VuUmF0ZXMJAMwIAgcFA25pbAUDbmlsAwkAAAIFE2NhbGN1bGF0ZVRva2VuUmF0ZXMFE2NhbGN1bGF0ZVRva2VuUmF0ZXMEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBAVzUmF0ZQkBEUBleHRyTmF0aXZlKDEwNTApAgULcG9vbGFkZHJlc3MJAKwCAgIFV0FWRVMCBl9zUmF0ZQQFYlJhdGUJARFAZXh0ck5hdGl2ZSgxMDUwKQIFC3Bvb2xhZGRyZXNzCQCsAgICBVdBVkVTAgZfYlJhdGUED2Fzc2V0QW1vdW50VXNlcgkBEUBleHRyTmF0aXZlKDEwNTApAgULcG9vbGFkZHJlc3MJAKwCAgkArAICBQdhZGRyZXNzAgpfc3VwcGxpZWRfAgVXQVZFUwQOdXNlckFzc2V0VmFsdWUJAGsDBQ9hc3NldEFtb3VudFVzZXIFBXNSYXRlBQdTY2FsZTE2BA1hc3NldFN1cHBsaWVkCQERQGV4dHJOYXRpdmUoMTA1MCkCBQtwb29sYWRkcmVzcwkArAICAg90b3RhbF9zdXBwbGllZF8CBVdBVkVTBBJhc3NldFN1cHBsaWVkVmFsdWUJAGsDBQ1hc3NldFN1cHBsaWVkBQVzUmF0ZQUHU2NhbGUxNgQNYXNzZXRCb3Jyb3dlZAkBEUBleHRyTmF0aXZlKDEwNTApAgULcG9vbGFkZHJlc3MJAKwCAgIPdG90YWxfYm9ycm93ZWRfAgVXQVZFUwQSYXNzZXRCb3Jyb3dlZFZhbHVlCQBrAwUNYXNzZXRCb3Jyb3dlZAUFYlJhdGUFB1NjYWxlMTYEEWFzc2V0V2l0aGRyYXdhYmxlCQBlAgkBEUBleHRyTmF0aXZlKDEwNTApAgULcG9vbGFkZHJlc3MJAKwCAgIPdG90YWxfc3VwcGxpZWRfAgVXQVZFUwkBEUBleHRyTmF0aXZlKDEwNTApAgULcG9vbGFkZHJlc3MJAKwCAgIPdG90YWxfYm9ycm93ZWRfAgVXQVZFUwQWYXNzZXRXaXRoZHJhd2FibGVWYWx1ZQkAZQIFEmFzc2V0U3VwcGxpZWRWYWx1ZQUSYXNzZXRCb3Jyb3dlZFZhbHVlBAdQTHZhbHVlCQBrAwUNYXNzZXRTdXBwbGllZAUFc1JhdGUFB1NjYWxlMTYEB1BMcHJpY2UJAGsDBQdQTHZhbHVlBQZTY2FsZTgFDWFzc2V0U3VwcGxpZWQJAMwIAgkBDEludGVnZXJFbnRyeQICEXVzZXJBc3NldFN1cHBsaWVkBQ9hc3NldEFtb3VudFVzZXIJAMwIAgkBDEludGVnZXJFbnRyeQICDnVzZXJBc3NldFZhbHVlBQ51c2VyQXNzZXRWYWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIHUEx2YWx1ZQUHUEx2YWx1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIHUExwcmljZQUHUExwcmljZQkAzAgCCQEMSW50ZWdlckVudHJ5AgINYXNzZXRTdXBwbGllZAUNYXNzZXRTdXBwbGllZAkAzAgCCQEMSW50ZWdlckVudHJ5AgINYXNzZXRCb3Jyb3dlZAUNYXNzZXRCb3Jyb3dlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgIRYXNzZXRXaXRoZHJhd2FibGUFEWFzc2V0V2l0aGRyYXdhYmxlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhZhc3NldFdpdGhkcmF3YWJsZVZhbHVlBRZhc3NldFdpdGhkcmF3YWJsZVZhbHVlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4Akj92zw==", "height": 3814747, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4XysuRDjoPCQtqXoGbcebdsP9Txph16nabb7mTk7JCqg Next: 4Xhx9MKrXqt76fyBk8VPrKXkVFcxdnLZzUbeUSjZWg4y Diff:
Old | New | Differences | |
---|---|---|---|
10 | 10 | @Callable(i) | |
11 | 11 | func getSuppliedWAVESMain () = { | |
12 | 12 | let pooladdress = Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH') | |
13 | - | let address = toString(i.caller) | |
14 | - | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
15 | - | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
16 | - | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
17 | - | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
18 | - | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
19 | - | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
20 | - | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
21 | - | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
22 | - | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
23 | - | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
24 | - | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
25 | - | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
13 | + | let calculateTokenRates = invoke(pooladdress, "calculateTokenRates", [false], nil) | |
14 | + | if ((calculateTokenRates == calculateTokenRates)) | |
15 | + | then { | |
16 | + | let address = toString(i.caller) | |
17 | + | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
18 | + | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
19 | + | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
20 | + | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
21 | + | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
22 | + | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
23 | + | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
24 | + | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
25 | + | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
26 | + | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
27 | + | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
28 | + | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
26 | 29 | [IntegerEntry("userAssetSupplied", assetAmountUser), IntegerEntry("userAssetValue", userAssetValue), IntegerEntry("PLvalue", PLvalue), IntegerEntry("PLprice", PLprice), IntegerEntry("assetSupplied", assetSupplied), IntegerEntry("assetBorrowed", assetBorrowed), IntegerEntry("assetWithdrawable", assetWithdrawable), IntegerEntry("assetWithdrawableValue", assetWithdrawableValue)] | |
30 | + | } | |
31 | + | else throw("Strict value is not equal to itself.") | |
27 | 32 | } | |
28 | 33 | ||
29 | 34 | ||
31 | 36 | @Callable(i) | |
32 | 37 | func getSuppliedWAVESWavesDefi () = { | |
33 | 38 | let pooladdress = Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X') | |
34 | - | let address = toString(i.caller) | |
35 | - | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
36 | - | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
37 | - | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
38 | - | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
39 | - | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
40 | - | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
41 | - | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
42 | - | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
43 | - | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
44 | - | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
45 | - | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
46 | - | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
39 | + | let calculateTokenRates = invoke(pooladdress, "calculateTokenRates", [false], nil) | |
40 | + | if ((calculateTokenRates == calculateTokenRates)) | |
41 | + | then { | |
42 | + | let address = toString(i.caller) | |
43 | + | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
44 | + | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
45 | + | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
46 | + | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
47 | + | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
48 | + | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
49 | + | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
50 | + | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
51 | + | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
52 | + | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
53 | + | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
54 | + | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
47 | 55 | [IntegerEntry("userAssetSupplied", assetAmountUser), IntegerEntry("userAssetValue", userAssetValue), IntegerEntry("PLvalue", PLvalue), IntegerEntry("PLprice", PLprice), IntegerEntry("assetSupplied", assetSupplied), IntegerEntry("assetBorrowed", assetBorrowed), IntegerEntry("assetWithdrawable", assetWithdrawable), IntegerEntry("assetWithdrawableValue", assetWithdrawableValue)] | |
56 | + | } | |
57 | + | else throw("Strict value is not equal to itself.") | |
48 | 58 | } | |
49 | 59 | ||
50 | 60 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let Scale8 = 100000000 | |
5 | 5 | ||
6 | 6 | let Scale10 = 10000000000 | |
7 | 7 | ||
8 | 8 | let Scale16 = (Scale8 * Scale8) | |
9 | 9 | ||
10 | 10 | @Callable(i) | |
11 | 11 | func getSuppliedWAVESMain () = { | |
12 | 12 | let pooladdress = Address(base58'3P4uA5etnZi4AmBabKinq2bMiWU8KcnHZdH') | |
13 | - | let address = toString(i.caller) | |
14 | - | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
15 | - | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
16 | - | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
17 | - | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
18 | - | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
19 | - | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
20 | - | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
21 | - | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
22 | - | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
23 | - | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
24 | - | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
25 | - | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
13 | + | let calculateTokenRates = invoke(pooladdress, "calculateTokenRates", [false], nil) | |
14 | + | if ((calculateTokenRates == calculateTokenRates)) | |
15 | + | then { | |
16 | + | let address = toString(i.caller) | |
17 | + | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
18 | + | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
19 | + | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
20 | + | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
21 | + | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
22 | + | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
23 | + | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
24 | + | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
25 | + | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
26 | + | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
27 | + | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
28 | + | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
26 | 29 | [IntegerEntry("userAssetSupplied", assetAmountUser), IntegerEntry("userAssetValue", userAssetValue), IntegerEntry("PLvalue", PLvalue), IntegerEntry("PLprice", PLprice), IntegerEntry("assetSupplied", assetSupplied), IntegerEntry("assetBorrowed", assetBorrowed), IntegerEntry("assetWithdrawable", assetWithdrawable), IntegerEntry("assetWithdrawableValue", assetWithdrawableValue)] | |
30 | + | } | |
31 | + | else throw("Strict value is not equal to itself.") | |
27 | 32 | } | |
28 | 33 | ||
29 | 34 | ||
30 | 35 | ||
31 | 36 | @Callable(i) | |
32 | 37 | func getSuppliedWAVESWavesDefi () = { | |
33 | 38 | let pooladdress = Address(base58'3P4DK5VzDwL3vfc5ahUEhtoe5ByZNyacJ3X') | |
34 | - | let address = toString(i.caller) | |
35 | - | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
36 | - | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
37 | - | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
38 | - | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
39 | - | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
40 | - | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
41 | - | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
42 | - | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
43 | - | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
44 | - | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
45 | - | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
46 | - | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
39 | + | let calculateTokenRates = invoke(pooladdress, "calculateTokenRates", [false], nil) | |
40 | + | if ((calculateTokenRates == calculateTokenRates)) | |
41 | + | then { | |
42 | + | let address = toString(i.caller) | |
43 | + | let sRate = getIntegerValue(pooladdress, ("WAVES" + "_sRate")) | |
44 | + | let bRate = getIntegerValue(pooladdress, ("WAVES" + "_bRate")) | |
45 | + | let assetAmountUser = getIntegerValue(pooladdress, ((address + "_supplied_") + "WAVES")) | |
46 | + | let userAssetValue = fraction(assetAmountUser, sRate, Scale16) | |
47 | + | let assetSupplied = getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) | |
48 | + | let assetSuppliedValue = fraction(assetSupplied, sRate, Scale16) | |
49 | + | let assetBorrowed = getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES")) | |
50 | + | let assetBorrowedValue = fraction(assetBorrowed, bRate, Scale16) | |
51 | + | let assetWithdrawable = (getIntegerValue(pooladdress, ("total_supplied_" + "WAVES")) - getIntegerValue(pooladdress, ("total_borrowed_" + "WAVES"))) | |
52 | + | let assetWithdrawableValue = (assetSuppliedValue - assetBorrowedValue) | |
53 | + | let PLvalue = fraction(assetSupplied, sRate, Scale16) | |
54 | + | let PLprice = fraction(PLvalue, Scale8, assetSupplied) | |
47 | 55 | [IntegerEntry("userAssetSupplied", assetAmountUser), IntegerEntry("userAssetValue", userAssetValue), IntegerEntry("PLvalue", PLvalue), IntegerEntry("PLprice", PLprice), IntegerEntry("assetSupplied", assetSupplied), IntegerEntry("assetBorrowed", assetBorrowed), IntegerEntry("assetWithdrawable", assetWithdrawable), IntegerEntry("assetWithdrawableValue", assetWithdrawableValue)] | |
56 | + | } | |
57 | + | else throw("Strict value is not equal to itself.") | |
48 | 58 | } | |
49 | 59 | ||
50 | 60 |
github/deemru/w8io/3ef1775 59.70 ms ◑