tx · EHtADGe3oV4erkWSN2NsWcRYFLMmegZiikoyMX9U9tQb 3NBuZ23GzYDfjjNYPY1PHmpMB8Db3a6n3M5: -0.05000000 Waves 2022.03.24 00:01 [1977076] smart account 3NBuZ23GzYDfjjNYPY1PHmpMB8Db3a6n3M5 > SELF 0.00000000 Waves
{ "type": 13, "id": "EHtADGe3oV4erkWSN2NsWcRYFLMmegZiikoyMX9U9tQb", "fee": 5000000, "feeAssetId": null, "timestamp": 1648069372560, "version": 2, "chainId": 84, "sender": "3NBuZ23GzYDfjjNYPY1PHmpMB8Db3a6n3M5", "senderPublicKey": "8CU89WQUg5a86jo3QstktPZCaGyvaBcVSQHDopryh6V1", "proofs": [ "5WbEUVAKrH7FAZwJVL8jCLTap27GYushJF363ZFyordMgAgFM7UXYk9ay6t73HTcLLHL8UTpvBkiUAcJBhAYghZ1" ], "script": "base64:AAIFAAAAAAAAAAoIAhIGCgQBAQEBAAAAAQAAAAAETVVMVAAAAAAABfXhAAAAAAEAAAABaQEAAAAhZ2V0VW5zdGFrZUNvbWlzc2lvbkFtb3VudFJFQURPTkxZAAAABAAAAAZhbW91bnQAAAALc3RhcnRIZWlnaHQAAAAJY3VySGVpZ2h0AAAACGhhbGZMaWZlCQAFFAAAAAIFAAAAA25pbAkAAGsAAAADBQAAAAZhbW91bnQJAABsAAAABgAAAAAAAAAAAgAAAAAAAAAAAAkAAGsAAAADCQEAAAABLQAAAAEJAABlAAAAAgUAAAAJY3VySGVpZ2h0BQAAAAtzdGFydEhlaWdodAUAAAAETVVMVAUAAAAIaGFsZkxpZmUAAAAAAAAAAAgAAAAAAAAAAAgFAAAABkhBTEZVUAUAAAAETVVMVAAAAAA32B4F", "height": 1977076, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 65kK58X4k1yxS26fMCyYwCYroC1fynSo95W55HgC3mLP Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let WAVELET = 100000000 | |
5 | - | ||
6 | - | let PAULI = 1000000 | |
7 | - | ||
8 | - | let BIGPAULI = toBigInt(1000000) | |
9 | - | ||
10 | - | let PRICELET = 1000000 | |
11 | - | ||
12 | 4 | let MULT = 100000000 | |
13 | 5 | ||
14 | - | let BIGMULT16 = toBigInt(10000000000000000) | |
6 | + | @Callable(i) | |
7 | + | func getUnstakeComissionAmountREADONLY (amount,startHeight,curHeight,halfLife) = $Tuple2(nil, fraction(amount, pow(2, 0, fraction(-((curHeight - startHeight)), MULT, halfLife), 8, 8, HALFUP), MULT)) | |
15 | 8 | ||
16 | - | let MULTSCALE = 8 | |
17 | - | ||
18 | - | let SCALE16 = 16 | |
19 | - | ||
20 | - | let SEP = "__" | |
21 | - | ||
22 | - | let HALF8 = 50000000 | |
23 | - | ||
24 | - | let EULERNUMBER = 271828182 | |
25 | - | ||
26 | - | let scale6 = 1000000 | |
27 | - | ||
28 | - | let scale6BigInt = toBigInt(1000000) | |
29 | - | ||
30 | - | let scale8BigInt = toBigInt(100000000) | |
31 | - | ||
32 | - | func toX16 (origVal,origScaleMult) = fraction(toBigInt(origVal), BIGMULT16, toBigInt(origScaleMult)) | |
33 | - | ||
34 | - | ||
35 | - | func fromX16 (val,resultScaleMult) = toInt(fraction(val, toBigInt(resultScaleMult), BIGMULT16)) | |
36 | - | ||
37 | - | ||
38 | - | @Callable(i) | |
39 | - | func calcSwapLimitMATH (gNsbtAmount) = { | |
40 | - | let usdnSwapDelayDuration = 3 | |
41 | - | let gNsbtAmountScale16 = toX16(gNsbtAmount, scale6) | |
42 | - | let eulerX16 = toX16(EULERNUMBER, MULT) | |
43 | - | let limitPowPart = pow(gNsbtAmountScale16, 16, eulerX16, 16, 8, DOWN) | |
44 | - | let limit = fraction(toBigInt(usdnSwapDelayDuration), limitPowPart, scale8BigInt) | |
45 | - | $Tuple2(nil, toInt(limit)) | |
46 | - | } | |
47 | - | ||
48 | - | ||
49 | - | @Verifier(tx) | |
50 | - | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
51 | 9 |
github/deemru/w8io/169f3d6 50.48 ms ◑![]()