tx · 13YibWEHqj6nZrffaB9ZS6NgiFQCpP2HS93GPRb6oCNS

3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje:  -0.01400000 Waves

2023.01.16 01:39 [2406670] smart account 3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje > SELF 0.00000000 Waves

{ "type": 13, "id": "13YibWEHqj6nZrffaB9ZS6NgiFQCpP2HS93GPRb6oCNS", "fee": 1400000, "feeAssetId": null, "timestamp": 1673822368809, "version": 2, "chainId": 84, "sender": "3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje", "senderPublicKey": "515tSAyMUbAb8kKjcpGDpqALGfCgcwfWmWKKkcBKTcGB", "proofs": [ "5rCWW871TiDEMFKpsgcESgr6Poo9Buqd18n1C1qqNhwGyFJXLW5D5qBuVnF55TZEf8pt7p2jDQHC15RCCzGe3Khp" ], "script": "base64:AAIFAAAAAAAAAA4IAhIAEgMKAQESAwoBAQAAAAAAAAADAAAAAWkBAAAAD3BsYWNlb3B0aW9uQ2FsbAAAAAAEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAScmVhZF9vcmFjbGVfc3RhdHVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzAgAAAA1vcmFjbGVfc3RhdHVzBAAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwIAAAAOMW1fY29udHJhY3RfaWQEAAAACmdldGJ0Y2RhdGEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAHMW1fYnRjXwkAAaQAAAABBQAAABRyZWFkX09wdGlvbkNvdW50ZXJJRAQAAAAGc3dhcExpCQAEtQAAAAIFAAAACmdldGJ0Y2RhdGECAAAAAV8EAAAABXByaWNlCQABkQAAAAIFAAAABnN3YXBMaQAAAAAAAAAAAAQAAAAFYmxvY2sJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAIEAAAADWNoZWNrYmxvY2tnYXAJAABlAAAAAgUAAAAGaGVpZ2h0BQAAAAVibG9jawQAAAAST3Bpb25FeHBpcmVDb3VudGVyAAAAAAAAAAAPBAAAABVPcHRpb25FeHBpcmVDb3VudGVySUQJAABkAAAAAgUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAEk9waW9uRXhwaXJlQ291bnRlcgQAAAAMUHJldmlvdXNDYWxsBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAC1RvdGFsX0NhbGxzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACVRvdGFsQ2FsbAkAAGQAAAACBQAAAAxQcmV2aW91c0NhbGwAAAAAAAAAAAEEAAAAEFByZXZpb3VzVXNlckNhbGwEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAxfVG90YWxfQ2FsbHMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANVG90YWxVc2VyQ2FsbAkAAGQAAAACBQAAABBQcmV2aW91c1VzZXJDYWxsAAAAAAAAAAABAwkAAGYAAAACBQAAAA1jaGVja2Jsb2NrZ2FwAAAAAAAAAAACCQAAAgAAAAECAAAANVNvbWV0aGluZyBXcm9uZyB3aXRoIE9yYWNsZSBvciBIZWlnaHQgaXMgbm90IG1hdGNoZWQuAwkAAAAAAAACBQAAABJyZWFkX29yYWNsZV9zdGF0dXMCAAAABUNsb3NlCQAAAgAAAAECAAAAMU9yYWNsZSBpcyBjbG9zZWQuIFdhaXQgVW50aWwgT3JhY2xlIGlzIFR1cm5lZCBPbi4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFQ2FsbF8FAAAADWNhbGxlcmFkZHJlc3MCAAAAAV8JAAGkAAAAAQUAAAANVG90YWxVc2VyQ2FsbAUAAAAFcHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPQ2FsbF9TdGFydF9FbmRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADVRvdGFsVXNlckNhbGwJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAFHJlYWRfT3B0aW9uQ291bnRlcklEAgAAAAFfCQABpAAAAAEFAAAAFU9wdGlvbkV4cGlyZUNvdW50ZXJJRAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAALVG90YWxfQ2FsbHMFAAAACVRvdGFsQ2FsbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAxfVG90YWxfQ2FsbHMFAAAADVRvdGFsVXNlckNhbGwFAAAAA25pbAAAAAFpAQAAAAlDbGFpbUNhbGwAAAABAAAADUNhbGxfU2VxdWVuY2UEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAASZ2V0T3B0aW9uQ2FsbFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAVDYWxsXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwkAAaQAAAABBQAAAA1DYWxsX1NlcXVlbmNlBAAAABpnZXRPcHRpb25DYWxsX1NlcXVlbmNlZGF0YQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPQ2FsbF9TdGFydF9FbmRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfCQABpAAAAAEFAAAADUNhbGxfU2VxdWVuY2UEAAAAFHNwbGl0U3RhcnRFbmRDb3VudGVyCQAEtQAAAAIFAAAAGmdldE9wdGlvbkNhbGxfU2VxdWVuY2VkYXRhAgAAAAFfBAAAAA9nZXRTdGFydENvdW50ZXIJAAGRAAAAAgUAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIAAAAAAAAAAAAEAAAADWdldEVuZENvdW50ZXIJAAGRAAAAAgUAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIAAAAAAAAAAAEEAAAAGGdldGJ0Y2RhdGFBdFN0YXJ0Q291bnRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAcxbV9idGNfBQAAAA9nZXRTdGFydENvdW50ZXIEAAAAFmdldGJ0Y2RhdGFBdEVuZENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAHMW1fYnRjXwUAAAANZ2V0RW5kQ291bnRlcgQAAAARU3RhcnRFbmRQcmljZURpZmYJAABlAAAAAgkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAABZnZXRidGNkYXRhQXRFbmRDb3VudGVyCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAAGGdldGJ0Y2RhdGFBdFN0YXJ0Q291bnRlcgMJAABmAAAAAgUAAAARU3RhcnRFbmRQcmljZURpZmYAAAAAAAAAAAAJAAACAAAAAQIAAAAVUHJpY2UgaXMgbm90IFBvc2l0aXZlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAC1N0YXJ0X3ZhbHVlBQAAAA9nZXRTdGFydENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAClByaWNlX0RpZmYFAAAAEVN0YXJ0RW5kUHJpY2VEaWZmCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD0NhbGxfU3RhcnRfRW5kXwUAAAANY2FsbGVyYWRkcmVzcwIAAAABXwkAAaQAAAABBQAAAA1DYWxsX1NlcXVlbmNlCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAAEmdldE9wdGlvbkNhbGxQcmljZQUAAAADbmlsAAAAAWkBAAAACGNhbGxkYXRhAAAAAQAAAAdDb3VudGVyBAAAAApnZXRidGNkYXRhCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABzFtX2J0Y18JAAGkAAAAAQUAAAAHQ291bnRlcgQAAAAGc3dhcExpCQAEtQAAAAIFAAAACmdldGJ0Y2RhdGECAAAAAV8EAAAABXByaWNlCQABkQAAAAIFAAAABnN3YXBMaQAAAAAAAAAAAAQAAAAEdGltZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAEEAAAAC2Jsb2NraGVpZ2h0CQABkQAAAAIFAAAABnN3YXBMaQAAAAAAAAAAAgQAAAADZGl2CQABkQAAAAIFAAAABnN3YXBMaQAAAAAAAAAAAwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAAVwcmljZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAEdGltZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAALYmxvY2toZWlnaHQJAAGRAAAAAgUAAAAGc3dhcExpAAAAAAAAAAACCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAA2RpdgkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5C4Yptg==", "height": 2406670, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 62NaCiBAakb63X4QQPB26228DmjEvMphM2EMmGmgNdqT Next: NLSafXrhHKoJhkQBQCnTHBcYUB15hx3EXE91ZCsRNLL Diff:
OldNewDifferences
4646 let splitStartEndCounter = split(getOptionCall_Sequencedata, "_")
4747 let getStartCounter = splitStartEndCounter[0]
4848 let getEndCounter = splitStartEndCounter[1]
49- let getbtcdataAtStartCounter = getIntegerValue(this, ("1m_btc_" + getStartCounter))
50- let getbtcdataAtEndCounter = getIntegerValue(this, ("1m_btc_" + getEndCounter))
51- let StartEndPriceDiff = (getbtcdataAtEndCounter - getbtcdataAtStartCounter)
49+ let getbtcdataAtStartCounter = getStringValue(this, ("1m_btc_" + getStartCounter))
50+ let getbtcdataAtEndCounter = getStringValue(this, ("1m_btc_" + getEndCounter))
51+ let StartEndPriceDiff = (parseIntValue(getbtcdataAtEndCounter) - parseIntValue(getbtcdataAtStartCounter))
5252 if ((StartEndPriceDiff > 0))
5353 then throw("Price is not Positive")
5454 else [StringEntry("Start_value", getStartCounter), IntegerEntry("Price_Diff", StartEndPriceDiff), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(Call_Sequence))), DeleteEntry(getOptionCallPrice)]
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]
49- let getbtcdataAtStartCounter = getIntegerValue(this, ("1m_btc_" + getStartCounter))
50- let getbtcdataAtEndCounter = getIntegerValue(this, ("1m_btc_" + getEndCounter))
51- let StartEndPriceDiff = (getbtcdataAtEndCounter - getbtcdataAtStartCounter)
49+ let getbtcdataAtStartCounter = getStringValue(this, ("1m_btc_" + getStartCounter))
50+ let getbtcdataAtEndCounter = getStringValue(this, ("1m_btc_" + getEndCounter))
51+ let StartEndPriceDiff = (parseIntValue(getbtcdataAtEndCounter) - parseIntValue(getbtcdataAtStartCounter))
5252 if ((StartEndPriceDiff > 0))
5353 then throw("Price is not Positive")
5454 else [StringEntry("Start_value", getStartCounter), IntegerEntry("Price_Diff", StartEndPriceDiff), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(Call_Sequence))), DeleteEntry(getOptionCallPrice)]
5555 }
5656
5757
5858
5959 @Callable(i)
6060 func calldata (Counter) = {
6161 let getbtcdata = getStringValue(this, ("1m_btc_" + toString(Counter)))
6262 let swapLi = split(getbtcdata, "_")
6363 let price = swapLi[0]
6464 let time = swapLi[1]
6565 let blockheight = swapLi[2]
6666 let div = swapLi[3]
6767 [StringEntry("price", swapLi[0]), StringEntry("time", swapLi[1]), StringEntry("blockheight", swapLi[2]), StringEntry("div", swapLi[3])]
6868 }
6969
7070
7171 @Verifier(tx)
7272 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7373

github/deemru/w8io/169f3d6 
42.65 ms