tx · Cth8DcjLRMzQVx8qjkwjbopqKkvzwFSnR3UwWG5vMRvU

3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje:  -0.01400000 Waves

2023.01.16 01:42 [2406673] smart account 3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje > SELF 0.00000000 Waves

{ "type": 13, "id": "Cth8DcjLRMzQVx8qjkwjbopqKkvzwFSnR3UwWG5vMRvU", "fee": 1400000, "feeAssetId": null, "timestamp": 1673822603953, "version": 2, "chainId": 84, "sender": "3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje", "senderPublicKey": "515tSAyMUbAb8kKjcpGDpqALGfCgcwfWmWKKkcBKTcGB", "proofs": [ "KKMXZxu25gf6RwCLL45Bq9hgsJxzdPoZV7Ef8YsC61CmKsBgj1UACwGRPRvJ6WT349Z8sYpj4a1AeEvgtZSYFTC" ], "script": "base64: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AAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAASZ2V0T3B0aW9uQ2FsbFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVDYWxsXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwkAAaQAAAABBQAAAA1DYWxsX1NlcXVlbmNlBAAAABpnZXRPcHRpb25DYWxsX1NlcXVlbmNlZGF0YQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPQ2FsbF9TdGFydF9FbmRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADUNhbGxfU2VxdWVuY2UEAAAAFHNwbGl0U3RhcnRFbmRDb3VudGVyCQAEtQAAAAIFAAAAGmdldE9wdGlvbkNhbGxfU2VxdWVuY2VkYXRhAgAAAAFfBAAAAA9nZXRTdGFydENvdW50ZXIJAAGRAAAAAgUAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIAAAAAAAAAAAAEAAAADWdldEVuZENvdW50ZXIJAAGRAAAAAgUAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIAAAAAAAAAAAEEAAAAGGdldGJ0Y2RhdGFBdFN0YXJ0Q291bnRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAcxbV9idGNfBQAAAA9nZXRTdGFydENvdW50ZXIEAAAAFmdldGJ0Y2RhdGFBdEVuZENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAHMW1fYnRjXwUAAAANZ2V0RW5kQ291bnRlcgQAAAARU3RhcnRFbmRQcmljZURpZmYJAABlAAAAAgkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAABZnZXRidGNkYXRhQXRFbmRDb3VudGVyCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAAGGdldGJ0Y2RhdGFBdFN0YXJ0Q291bnRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAtTdGFydF92YWx1ZQUAAAAPZ2V0U3RhcnRDb3VudGVyCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD0NhbGxfU3RhcnRfRW5kXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwkAAaQAAAABBQAAAA1DYWxsX1NlcXVlbmNlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAEmdldE9wdGlvbkNhbGxQcmljZQUAAAADbmlsAAAAAWkBAAAACGNhbGxkYXRhAAAAAQAAAAdDb3VudGVyBAAAAApnZXRidGNkYXRhCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABzFtX2J0Y18JAAGkAAAAAQUAAAAHQ291bnRlcgQAAAAGc3dhcExpCQAEtQAAAAIFAAAACmdldGJ0Y2RhdGECAAAAAV8EAAAABXByaWNlCQABkQAAAAIFAAAABnN3YXBMaQAAAAAAAAAAAAQAAAAEdGltZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAEEAAAAC2Jsb2NraGVpZ2h0CQABkQAAAAIFAAAABnN3YXBMaQAAAAAAAAAAAgQAAAADZGl2CQABkQAAAAIFAAAABnN3YXBMaQAAAAAAAAAAAwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAVwcmljZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAEdGltZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAALYmxvY2toZWlnaHQJAAGRAAAAAgUAAAAGc3dhcExpAAAAAAAAAAACCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAA2RpdgkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5zfeYjQ==", "height": 2406673, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: NLSafXrhHKoJhkQBQCnTHBcYUB15hx3EXE91ZCsRNLL Next: AB3c8uv7pbkHWF8TW4yZag4BFN6JNmqgyt6W6yuvhXGs Diff:
OldNewDifferences
4949 let getbtcdataAtStartCounter = getStringValue(this, ("1m_btc_" + getStartCounter))
5050 let getbtcdataAtEndCounter = getStringValue(this, ("1m_btc_" + getEndCounter))
5151 let StartEndPriceDiff = (parseIntValue(getbtcdataAtEndCounter) - parseIntValue(getbtcdataAtStartCounter))
52- if ((StartEndPriceDiff > 0))
53- then throw("Price is not Positive")
54- else [StringEntry("Start_value", getStartCounter), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(Call_Sequence))), DeleteEntry(getOptionCallPrice)]
52+[StringEntry("Start_value", getStartCounter), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(Call_Sequence))), DeleteEntry(getOptionCallPrice)]
5553 }
5654
5755
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func placeoptionCall () = {
88 let calleraddress = toBase58String(i.caller.bytes)
99 let read_oracle_status = getStringValue(this, "oracle_status")
1010 let read_OptionCounterID = getIntegerValue(this, "1m_contract_id")
1111 let getbtcdata = getStringValue(this, ("1m_btc_" + toString(read_OptionCounterID)))
1212 let swapLi = split(getbtcdata, "_")
1313 let price = swapLi[0]
1414 let block = parseIntValue(swapLi[2])
1515 let checkblockgap = (height - block)
1616 let OpionExpireCounter = 15
1717 let OptionExpireCounterID = (read_OptionCounterID + OpionExpireCounter)
1818 let PreviousCall = match getInteger(this, "Total_Calls") {
1919 case a: Int =>
2020 a
2121 case _ =>
2222 0
2323 }
2424 let TotalCall = (PreviousCall + 1)
2525 let PreviousUserCall = match getInteger(this, (calleraddress + "_Total_Calls")) {
2626 case a: Int =>
2727 a
2828 case _ =>
2929 0
3030 }
3131 let TotalUserCall = (PreviousUserCall + 1)
3232 if ((checkblockgap > 2))
3333 then throw("Something Wrong with Oracle or Height is not matched.")
3434 else if ((read_oracle_status == "Close"))
3535 then throw("Oracle is closed. Wait Until Oracle is Turned On.")
3636 else [StringEntry(((("Call_" + calleraddress) + "_") + toString(TotalUserCall)), price), StringEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(TotalUserCall)), ((toString(read_OptionCounterID) + "_") + toString(OptionExpireCounterID))), IntegerEntry("Total_Calls", TotalCall), IntegerEntry((calleraddress + "_Total_Calls"), TotalUserCall)]
3737 }
3838
3939
4040
4141 @Callable(i)
4242 func ClaimCall (Call_Sequence) = {
4343 let calleraddress = toBase58String(i.caller.bytes)
4444 let getOptionCallPrice = getStringValue(this, ((("Call_" + calleraddress) + "_") + toString(Call_Sequence)))
4545 let getOptionCall_Sequencedata = getStringValue(this, ((("Call_Start_End_" + calleraddress) + "_") + toString(Call_Sequence)))
4646 let splitStartEndCounter = split(getOptionCall_Sequencedata, "_")
4747 let getStartCounter = splitStartEndCounter[0]
4848 let getEndCounter = splitStartEndCounter[1]
4949 let getbtcdataAtStartCounter = getStringValue(this, ("1m_btc_" + getStartCounter))
5050 let getbtcdataAtEndCounter = getStringValue(this, ("1m_btc_" + getEndCounter))
5151 let StartEndPriceDiff = (parseIntValue(getbtcdataAtEndCounter) - parseIntValue(getbtcdataAtStartCounter))
52- if ((StartEndPriceDiff > 0))
53- then throw("Price is not Positive")
54- else [StringEntry("Start_value", getStartCounter), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(Call_Sequence))), DeleteEntry(getOptionCallPrice)]
52+[StringEntry("Start_value", getStartCounter), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(Call_Sequence))), DeleteEntry(getOptionCallPrice)]
5553 }
5654
5755
5856
5957 @Callable(i)
6058 func calldata (Counter) = {
6159 let getbtcdata = getStringValue(this, ("1m_btc_" + toString(Counter)))
6260 let swapLi = split(getbtcdata, "_")
6361 let price = swapLi[0]
6462 let time = swapLi[1]
6563 let blockheight = swapLi[2]
6664 let div = swapLi[3]
6765 [StringEntry("price", swapLi[0]), StringEntry("time", swapLi[1]), StringEntry("blockheight", swapLi[2]), StringEntry("div", swapLi[3])]
6866 }
6967
7068
7169 @Verifier(tx)
7270 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7371

github/deemru/w8io/169f3d6 
56.58 ms