tx · 8rEmQeouSYbjJ44mZBLT36Vfwzz3Yrun3NndQvudgWon 3N22BYqtPzVTSgJBrhE8yYUSZPRCmkXmtcP: -0.05000000 Waves 2021.09.28 01:21 [1721949] smart account 3N22BYqtPzVTSgJBrhE8yYUSZPRCmkXmtcP > SELF 0.00000000 Waves
{ "type": 13, "id": "8rEmQeouSYbjJ44mZBLT36Vfwzz3Yrun3NndQvudgWon", "fee": 5000000, "feeAssetId": null, "timestamp": 1632781351355, "version": 2, "chainId": 84, "sender": "3N22BYqtPzVTSgJBrhE8yYUSZPRCmkXmtcP", "senderPublicKey": "2uZLPvTfcSdSqd6m8q85ZpiWEmxSkGWzb5ocbziqSzCj", "proofs": [ "3nrTK4GMNQitCKkdfj2dZKy8fLk9LY7S9NtdrgmVmFpdT8zkvC3JmgpbJbX9uwSc2xJLuCnCtu7aWFv8kijZsvre" ], "script": "base64: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cmFtMgUAAAAKYm9vbFBhcmFtMgkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACAgAAAAxiaW5hcnlQYXJhbTMFAAAADGJpbmFyeVBhcmFtMwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAJaW50UGFyYW00BQAAAAlpbnRQYXJhbTQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAQbGlzdFN0cmluZ1BhcmFtMQkAAZEAAAACBQAAAAdhcmdzU3RyAAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEGxpc3RTdHJpbmdQYXJhbTIJAAGRAAAAAgUAAAAHYXJnc1N0cgAAAAAAAAAAAQUAAAADbmlsAAAAAWkBAAAAB2NhbGxNZTIAAAAIAAAADHN0cmluZ1BhcmFtMQAAAApib29sUGFyYW0yAAAADGJpbmFyeVBhcmFtMwAAAAlpbnRQYXJhbTQAAAAHYXJnc1N0cgAAAAdhcmdzSW50AAAACGFyZ3NCb29sAAAACmFyZ3NCaW5hcnkEAAAABmNhbGxlcggFAAAAAWkAAAAGY2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAADHN0cmluZ1BhcmFtMQUAAAAMc3RyaW5nUGFyYW0xCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACAgAAAApib29sUGFyYW0yBQAAAApib29sUGFyYW0yCQAETAAAAAIJAQAAAAtCaW5hcnlFbnRyeQAAAAICAAAADGJpbmFyeVBhcmFtMwUAAAAMYmluYXJ5UGFyYW0zCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAlpbnRQYXJhbTQFAAAACWludFBhcmFtNAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAABBsaXN0U3RyaW5nUGFyYW0xCQABkQAAAAIFAAAAB2FyZ3NTdHIAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAQbGlzdFN0cmluZ1BhcmFtMgkAAZEAAAACBQAAAAdhcmdzU3RyAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA1saXN0SW50UGFyYW0xCQABkQAAAAIFAAAAB2FyZ3NJbnQAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADWxpc3RJbnRQYXJhbTIJAAGRAAAAAgUAAAAHYXJnc0ludAAAAAAAAAAAAQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgIAAAAObGlzdEJvb2xQYXJhbTEJAAGRAAAAAgUAAAAIYXJnc0Jvb2wAAAAAAAAAAAAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAICAAAADmxpc3RCb29sUGFyYW0yCQABkQAAAAIFAAAACGFyZ3NCb29sAAAAAAAAAAABCQAETAAAAAIJAQAAAAtCaW5hcnlFbnRyeQAAAAICAAAAEGxpc3RCaW5hcnlQYXJhbTMJAAGRAAAAAgUAAAAKYXJnc0JpbmFyeQAAAAAAAAAAAAkABEwAAAACCQEAAAALQmluYXJ5RW50cnkAAAACAgAAABBsaXN0QmluYXJ5UGFyYW0zCQABkQAAAAIFAAAACmFyZ3NCaW5hcnkAAAAAAAAAAAEFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5rZqTsg==", "height": 1721949, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GZEjeJwgszDe4pCv5UL6qi6aZb6gYSknPMrhqtPAQTzs Next: HMnEQZCZ9DyuF4EzMDsFjJy5tbXed9cCB5xVGa6gQpXz Diff:
Old | New | Differences | |
---|---|---|---|
22 | 22 | let priceAssetAmt = 30000000000 | |
23 | 23 | let bAmountAssetBUF = fraction(toBigInt(amountAssetAmt), BUFSCALE, toBigInt(scale8)) | |
24 | 24 | let bPriceAssetBUF = fraction(toBigInt(priceAssetAmt), BUFSCALE, toBigInt(scale8)) | |
25 | - | let partA = pow(toBigInt(1000000000), 0, toBigInt(5), 1, 0, DOWN) | |
26 | - | let partB = pow(toBigInt(30000000000), 0, toBigInt(5), 1, 0, DOWN) | |
25 | + | let partABigInt = pow((bAmountAssetBUF * bPriceAssetBUF), 0, toBigInt(5), 1, 0, DOWN) | |
26 | + | let result2 = fraction(partABigInt, toBigInt(scale8), BUFSCALE) | |
27 | + | [IntegerEntry("bigInt", toInt(result2))] | |
28 | + | } | |
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | @Callable(i) | |
33 | + | func ordinal2 () = { | |
34 | + | let amountAssetAmt = 1000000000 | |
35 | + | let priceAssetAmt = 30000000000 | |
36 | + | let partA = pow(amountAssetAmt, 0, 5, 1, 0, DOWN) | |
37 | + | let partB = pow(priceAssetAmt, 0, 5, 1, 0, DOWN) | |
27 | 38 | let result = (partA * partB) | |
28 | - | let partABigInt = pow(bAmountAssetBUF, 0, toBigInt(5), 1, 0, DOWN) | |
29 | - | let partBBigInt = pow(bPriceAssetBUF, 0, toBigInt(5), 1, 0, DOWN) | |
30 | - | let res2 = (partABigInt * partBBigInt) | |
31 | - | let result2 = fraction(res2, toBigInt(scale8), BUFSCALE) | |
32 | - | [IntegerEntry("ordinal", toInt(result)), IntegerEntry("bigInt", toInt(result2))] | |
39 | + | [IntegerEntry("ordinal", result)] | |
33 | 40 | } | |
34 | 41 | ||
35 | 42 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func keyAccumulatedFee () = "%s__accumulatedFee" | |
5 | 5 | ||
6 | 6 | ||
7 | 7 | let scale8 = 100000000 | |
8 | 8 | ||
9 | 9 | let BUFSCALE = toBigInt(1000000000000000000) | |
10 | 10 | ||
11 | 11 | func convertPriceAssetIntoIdoAsset (priceAssetAmount,priceAssetMULT,price,priceMULT,idoAssetMULT) = { | |
12 | 12 | let bPriceMULT = toBigInt(priceAssetMULT) | |
13 | 13 | let bPriceAssetBUF = fraction(toBigInt(priceAssetAmount), BUFSCALE, bPriceMULT) | |
14 | 14 | let bAmountAssetBUF = fraction(bPriceAssetBUF, bPriceMULT, toBigInt(price)) | |
15 | 15 | toInt(fraction(bAmountAssetBUF, toBigInt(idoAssetMULT), BUFSCALE)) | |
16 | 16 | } | |
17 | 17 | ||
18 | 18 | ||
19 | 19 | @Callable(i) | |
20 | 20 | func ordinal () = { | |
21 | 21 | let amountAssetAmt = 1000000000 | |
22 | 22 | let priceAssetAmt = 30000000000 | |
23 | 23 | let bAmountAssetBUF = fraction(toBigInt(amountAssetAmt), BUFSCALE, toBigInt(scale8)) | |
24 | 24 | let bPriceAssetBUF = fraction(toBigInt(priceAssetAmt), BUFSCALE, toBigInt(scale8)) | |
25 | - | let partA = pow(toBigInt(1000000000), 0, toBigInt(5), 1, 0, DOWN) | |
26 | - | let partB = pow(toBigInt(30000000000), 0, toBigInt(5), 1, 0, DOWN) | |
25 | + | let partABigInt = pow((bAmountAssetBUF * bPriceAssetBUF), 0, toBigInt(5), 1, 0, DOWN) | |
26 | + | let result2 = fraction(partABigInt, toBigInt(scale8), BUFSCALE) | |
27 | + | [IntegerEntry("bigInt", toInt(result2))] | |
28 | + | } | |
29 | + | ||
30 | + | ||
31 | + | ||
32 | + | @Callable(i) | |
33 | + | func ordinal2 () = { | |
34 | + | let amountAssetAmt = 1000000000 | |
35 | + | let priceAssetAmt = 30000000000 | |
36 | + | let partA = pow(amountAssetAmt, 0, 5, 1, 0, DOWN) | |
37 | + | let partB = pow(priceAssetAmt, 0, 5, 1, 0, DOWN) | |
27 | 38 | let result = (partA * partB) | |
28 | - | let partABigInt = pow(bAmountAssetBUF, 0, toBigInt(5), 1, 0, DOWN) | |
29 | - | let partBBigInt = pow(bPriceAssetBUF, 0, toBigInt(5), 1, 0, DOWN) | |
30 | - | let res2 = (partABigInt * partBBigInt) | |
31 | - | let result2 = fraction(res2, toBigInt(scale8), BUFSCALE) | |
32 | - | [IntegerEntry("ordinal", toInt(result)), IntegerEntry("bigInt", toInt(result2))] | |
39 | + | [IntegerEntry("ordinal", result)] | |
33 | 40 | } | |
34 | 41 | ||
35 | 42 | ||
36 | 43 | ||
37 | 44 | @Callable(i) | |
38 | 45 | func callMeDapp (stringParam1) = { | |
39 | 46 | let caller = i.caller | |
40 | 47 | [StringEntry("stringParam1", stringParam1), BooleanEntry("boolParam2", false)] | |
41 | 48 | } | |
42 | 49 | ||
43 | 50 | ||
44 | 51 | ||
45 | 52 | @Callable(i) | |
46 | 53 | func callMe (stringParam1,boolParam2,binaryParam3,intParam4,argsStr) = { | |
47 | 54 | let caller = i.caller | |
48 | 55 | [StringEntry("stringParam1", stringParam1), BooleanEntry("boolParam2", boolParam2), BinaryEntry("binaryParam3", binaryParam3), IntegerEntry("intParam4", intParam4), StringEntry("listStringParam1", argsStr[0]), StringEntry("listStringParam2", argsStr[1])] | |
49 | 56 | } | |
50 | 57 | ||
51 | 58 | ||
52 | 59 | ||
53 | 60 | @Callable(i) | |
54 | 61 | func callMe2 (stringParam1,boolParam2,binaryParam3,intParam4,argsStr,argsInt,argsBool,argsBinary) = { | |
55 | 62 | let caller = i.caller | |
56 | 63 | [StringEntry("stringParam1", stringParam1), BooleanEntry("boolParam2", boolParam2), BinaryEntry("binaryParam3", binaryParam3), IntegerEntry("intParam4", intParam4), StringEntry("listStringParam1", argsStr[0]), StringEntry("listStringParam2", argsStr[1]), IntegerEntry("listIntParam1", argsInt[0]), IntegerEntry("listIntParam2", argsInt[1]), BooleanEntry("listBoolParam1", argsBool[0]), BooleanEntry("listBoolParam2", argsBool[1]), BinaryEntry("listBinaryParam3", argsBinary[0]), BinaryEntry("listBinaryParam3", argsBinary[1])] | |
57 | 64 | } | |
58 | 65 | ||
59 | 66 | ||
60 | 67 | @Verifier(tx) | |
61 | 68 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
62 | 69 |
github/deemru/w8io/169f3d6 24.78 ms ◑