tx · B6eZquZXJPeFD7ZzkudGkJGUV6hStMzCxsFt5pJgaXuG 3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje: -0.01900000 Waves 2023.01.31 20:24 [2429413] smart account 3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje > SELF 0.00000000 Waves
{ "type": 13, "id": "B6eZquZXJPeFD7ZzkudGkJGUV6hStMzCxsFt5pJgaXuG", "fee": 1900000, "feeAssetId": null, "timestamp": 1675185912044, "version": 2, "chainId": 84, "sender": "3NC9boevS259eTsMAkFAxCPorzK4Z9bpWje", "senderPublicKey": "515tSAyMUbAb8kKjcpGDpqALGfCgcwfWmWKKkcBKTcGB", "proofs": [ "31knbP1ehXCAnm83wFTq7xo1MRLK3CaizPptZhkBLaw3zHaSJ27V35DL4XrA5X8x5PakrnrfC8LR4UJxiD7mQEAH" ], "script": "base64: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AAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAGlRvdGFsQ2FsbGluU3BlY2lmaWNDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAADF9Ub3RhbF9DYWxscwUAAAANVG90YWxVc2VyQ2FsbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAADWNhbGxlcmFkZHJlc3MCAAAADV9Ub3RhbF9DYWxsc18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQFAAAAHlRvdGFsVXNlckNhbGxpblNwZWNpZmljQ291bnRlcgUAAAADbmlsAAAAAWkBAAAADnBsYWNlb3B0aW9uUHV0AAAAAAQAAAANY2FsbGVyYWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1pZkJsYWNrbGlzdGVkCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAADWNhbGxlcmFkZHJlc3MEAAAAEnJlYWRfb3JhY2xlX3N0YXR1cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAANb3JhY2xlX3N0YXR1cwQAAAAUcmVhZF9PcHRpb25Db3VudGVySUQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAADjFtX2NvbnRyYWN0X2lkBAAAAApnZXRidGNkYXRhCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABzFtX2J0Y18JAAGkAAAAAQUAAAAUcmVhZF9PcHRpb25Db3VudGVySUQEAAAABnN3YXBMaQkABLUAAAACBQAAAApnZXRidGNkYXRhAgAAAAFfBAAAAAVwcmljZQkAAZEAAAACBQAAAAZzd2FwTGkAAAAAAAAAAAAEAAAABWJsb2NrCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAGc3dhcExpAAAAAAAAAAACBAAAAA1jaGVja2Jsb2NrZ2FwCQAAZQAAAAIFAAAABmhl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FHNwbGl0U3RhcnRFbmRDb3VudGVyCQAEtQAAAAIFAAAAGmdldE9wdGlvbkNhbGxfU2VxdWVuY2VkYXRhAgAAAAFfBAAAAA9nZXRTdGFydENvdW50ZXIJAAGRAAAAAgUAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIAAAAAAAAAAAAEAAAADWdldEVuZENvdW50ZXIJAAGRAAAAAgUAAAAUc3BsaXRTdGFydEVuZENvdW50ZXIAAAAAAAAAAAEEAAAAGGdldGJ0Y2RhdGFBdFN0YXJ0Q291bnRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwkAASwAAAACAgAAAAcxbV9idGNfBQAAAA9nZXRTdGFydENvdW50ZXIEAAAAG3NwbGl0YnRjcHJpY2VBdFN0YXJ0Q291bnRlcgkABLUAAAACBQAAABhnZXRidGNkYXRhQXRTdGFydENvdW50ZXICAAAAAV8EAAAAGWdldGJ0Y3ByaWNlQXRTdGFydENvdW50ZXIJAAGRAAAAAgUAAAAbc3BsaXRidGNwcmljZUF0U3RhcnRDb3VudGVyAAAAAAAAAAAABAAAABZnZXRidGNkYXRhQXRFbmRDb3VudGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABzFtX2J0Y18FAAAADWdldEVuZENvdW50ZXIEAAAAGXNwbGl0YnRjcHJpY2VBdEVuZENvdW50ZXIJAAS1AAAAAgUAAAAWZ2V0YnRjZGF0YUF0RW5kQ291bnRlcgIAAAABXwQAAAAXZ2V0YnRjcHJpY2VBdEVuZENvdW50ZXIJAAGRAAAAAgUAAAAZc3BsaXRidGNwcmljZUF0RW5kQ291bnRlcgAAAAAAAAAAAAQAAAAJcHJpY2VkaWZmCQAAZQAAAAIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAAXZ2V0YnRjcHJpY2VBdEVuZENvdW50ZXIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAAZZ2V0YnRjcHJpY2VBdFN0YXJ0Q291bnRlcgQAAAAPUHJldmlvdXNDYWxsV2luBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAFlRvdGFsX09wdGlvbl9DYWxsX1dpbnMDCQAA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cmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAANwbXQDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAJAAACAAAAAQIAAAA4Tm8gcGF5bWVudCBhdHRhY2hlZCwgUGxlYXNlIEF0dGFjaCBUb2tlbnMgaW4gcGF5bWVudFsxXS4EAAAAEWdldE9wdGlvblB1dFByaWNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAARQdXRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfBQAAAAxQdXRfU2VxdWVuY2UEAAAAGWdldE9wdGlvblB1dF9TZXF1ZW5jZWRhdGEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADlB1dF9TdGFydF9FbmRfBQAAAA1jYWxsZXJhZGRyZXNzAgAAAAFfBQAAAAxQdXRfU2VxdWVuY2UEAAAAFHNwbGl0U3RhcnRFbmRDb3VudGVyCQAEtQAAAAIFAAAAGWdldE9wdGlvblB1dF9TZXF1ZW5jZWRhdGECAAAAAV8EAAAAD2dldFN0YXJ0Q291bnRlcgkAAZEAAAACBQAAABRzcGxpdFN0YXJ0RW5kQ291bnRlcgAAAAAAAAAAAAQAAAANZ2V0RW5kQ291bnRlcgkAAZEAAAACBQAAABRzcGxpdFN0YXJ0RW5kQ291bnRlcgAAAAAAAAAAAQQAAAAYZ2V0YnRjZGF0YUF0U3RhcnRDb3VudGVyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAICAAAABzFtX2J0Y18FAAAAD2dldFN0YXJ0Q291bnRlcgQAAAAbc3BsaXRidGNwcmljZUF0U3RhcnRDb3VudGVyCQAEtQAAAAIFAAAAGGdldGJ0Y2RhdGFBdFN0YXJ0Q291bnRlcgIAAAABXwQAAAAZZ2V0YnRjcHJpY2VBdFN0YXJ0Q291bnRlcgkAAZEAAAACBQAAABtzcGxpdGJ0Y3ByaWNlQXRTdGFydENvdW50ZXIAAAAAAAAAAAAEAAAAFmdldGJ0Y2RhdGFBdEVuZENvdW50ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgIAAAAHMW1fYnRjXwUAAAANZ2V0RW5kQ291bnRlcgQAAAAZc3BsaXRidGNwcmljZUF0RW5kQ291bnRlcgkABLUAAAACBQAAABZnZXRidGNkYXRhQXRFbmRDb3VudGVyAgAAAAFfBAAAABdnZXRidGNwcmljZUF0RW5kQ291bnRlcgkAAZEAAAACBQAAABlzcGxpdGJ0Y3ByaWNlQXRFbmRDb3VudGVyAAAAAAAAAAAABAAAAAlwcmljZWRpZmYJAABlAAAAAgkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAABdnZXRidGNwcmljZUF0RW5kQ291bnRlcgkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAABlnZXRidGNwcmljZUF0U3RhcnRDb3VudGVyBAAAAA5QcmV2aW91c1B1dFdpbgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABVUb3RhbF9PcHRpb25fUHV0X1dpbnMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAALVG90YWxQdXRXaW4JAABkAAAAAgUAAAAOUHJldmlvdXNQdXRXaW4AAAAAAAAAAAEEAAAAD1ByZXZpb3VzUHV0TG9zZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABVUb3RhbF9PcHRpb25fUHV0X0xvc2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAMVG90YWxQdXRMb3NlCQAAZAAAAAIFAAAAD1ByZXZpb3VzUHV0TG9zZQAAAAAAAAAAAQMJAABmAAAAAgUAAAAJcHJpY2VkaWZmAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAREaWZmBQAAAAlwcmljZWRpZmYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAA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IGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABlvcmFjbGVfY29udHJvbGxlcl9hZGRyZXNzAgAAACIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuAwkAAAAAAAACBQAAAA1pZkJsYWNrbGlzdGVkAgAAAANZZXMJAAACAAAAAQIAAAAqQWRkcmVzcyBpcyBhbHJlYWR5IGF2YWlsYWJsZSBpbiBCbGFja2xpc3QuCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAAC1VzZXJBZGRyZXNzAgAAAANZZXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAGlRvdGFsX0JsYWNrX0xpc3RlZF9BZGRyZXNzBQAAABVUb3RhbEJsYWNrTGlzdEFkZHJlc3MFAAAAA25pbAAAAAFpAQAAABZEZWxldGVCbGFja0xpc3RBZGRyZXNzAAAAAQAAAAtVc2VyQWRkcmVzcwQAAAANaWZCbGFja2xpc3RlZAkABB0AAAACBQAAAAR0aGlzCQABLAAAAAICAAAAEWFkZHJfQkxBQ0tMSVNURURfBQAAAAtVc2VyQWRkcmVzcwQAAAAYUHJldmlvdXNCbGFja0xpc3RBZGRyZXNzBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAGlRvdGFsX0JsYWNrX0xpc3RlZF9BZGRyZXNzAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFVRvdGFsQmxhY2tMaXN0QWRkcmVzcwkAAGUAAAACBQAAABhQcmV2aW91c0JsYWNrTGlzdEFkZHJlc3MAAAAAAAAAAAEDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAGW9yYWNsZV9jb250cm9sbGVyX2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAAZb3JhY2xlX2NvbnRyb2xsZXJfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAAAAAAAAAgUAAAANaWZCbGFja2xpc3RlZAIAAAADWWVzCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgIAAAARYWRkcl9CTEFDS0xJU1RFRF8FAAAAC1VzZXJBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABpUb3RhbF9CbGFja19MaXN0ZWRfQWRkcmVzcwUAAAAVVG90YWxCbGFja0xpc3RBZGRyZXNzBQAAAANuaWwJAAACAAAAAQIAAAAmQWRkcmVzcyBpcyBub3QgYXZhaWxhYmxlIGluIEJsYWNrbGlzdC4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQw7aLE=", "height": 2429413, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AC7Jm9xa3KHRUqBZFz8T9E3o25ALBL5D7b8S68CyKxoi Next: B1dvJWQPNjDyvFL2t9AXEDSEBYVF4E6di8LZTVBrynLR Diff:
Old | New | Differences | |
---|---|---|---|
79 | 79 | 0 | |
80 | 80 | } | |
81 | 81 | let TotalPut = (PreviousPut + 1) | |
82 | + | let PreviousPutinSpecificCounter = match getInteger(this, ("Total_Puts_" + toString(read_OptionCounterID))) { | |
83 | + | case a: Int => | |
84 | + | a | |
85 | + | case _ => | |
86 | + | 0 | |
87 | + | } | |
88 | + | let TotalPutinSpecificCounter = (PreviousPutinSpecificCounter + 1) | |
82 | 89 | let PreviousUserPut = match getInteger(this, (calleraddress + "_Total_Puts")) { | |
83 | 90 | case a: Int => | |
84 | 91 | a | |
86 | 93 | 0 | |
87 | 94 | } | |
88 | 95 | let TotalUserPut = (PreviousUserPut + 1) | |
96 | + | let PreviousUserPutinSpecificCounter = match getInteger(this, ((calleraddress + "_Total_Puts_") + toString(read_OptionCounterID))) { | |
97 | + | case a: Int => | |
98 | + | a | |
99 | + | case _ => | |
100 | + | 0 | |
101 | + | } | |
102 | + | let TotalUserPutinSpecificCounter = (PreviousUserPutinSpecificCounter + 1) | |
89 | 103 | if ((checkblockgap > 2)) | |
90 | 104 | then throw("Something Wrong with Oracle or Height is not matched.") | |
91 | 105 | else if ((read_oracle_status == "Close")) | |
92 | 106 | then throw("Oracle is closed. Wait Until Oracle is Turned On.") | |
93 | 107 | else if ((ifBlacklisted == "Yes")) | |
94 | 108 | then throw((calleraddress + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
95 | - | else [StringEntry(((("Put_" + calleraddress) + "_") + toString(TotalUserPut)), price), StringEntry(((("Put_Start_End_" + calleraddress) + "_") + toString(TotalUserPut)), ((toString(read_OptionCounterID) + "_") + toString(OptionExpireCounterID))), IntegerEntry("Total_Puts", TotalPut), IntegerEntry((calleraddress + "_Total_Puts"), TotalUserPut)] | |
109 | + | else [StringEntry(((("Put_" + calleraddress) + "_") + toString(TotalUserPut)), price), StringEntry(((("Put_Start_End_" + calleraddress) + "_") + toString(TotalUserPut)), ((toString(read_OptionCounterID) + "_") + toString(OptionExpireCounterID))), IntegerEntry("Total_Puts", TotalPut), IntegerEntry(("Total_Puts_" + toString(read_OptionCounterID)), TotalPutinSpecificCounter), IntegerEntry((calleraddress + "_Total_Puts"), TotalUserPut), IntegerEntry(((calleraddress + "_Total_Puts_") + toString(read_OptionCounterID)), TotalUserPutinSpecificCounter)] | |
96 | 110 | } | |
97 | 111 | ||
98 | 112 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let Dapp_Address_pub_key = base58'CYbv2nupcWmnVFixN6Q2sxd9ChbDsq1KqXQ66VjsZBJE' | |
5 | 5 | ||
6 | 6 | let oracle_controller_address = addressFromPublicKey(Dapp_Address_pub_key) | |
7 | 7 | ||
8 | 8 | let USDTAssetID = base58'' | |
9 | 9 | ||
10 | 10 | @Callable(i) | |
11 | 11 | func placeoptionCall () = { | |
12 | 12 | let calleraddress = toBase58String(i.caller.bytes) | |
13 | 13 | let ifBlacklisted = getString(this, ("addr_BLACKLISTED_" + calleraddress)) | |
14 | 14 | let read_oracle_status = getStringValue(this, "oracle_status") | |
15 | 15 | let read_OptionCounterID = getIntegerValue(this, "1m_contract_id") | |
16 | 16 | let getbtcdata = getStringValue(this, ("1m_btc_" + toString(read_OptionCounterID))) | |
17 | 17 | let swapLi = split(getbtcdata, "_") | |
18 | 18 | let price = swapLi[0] | |
19 | 19 | let block = parseIntValue(swapLi[2]) | |
20 | 20 | let checkblockgap = (height - block) | |
21 | 21 | let OpionExpireCounter = 1 | |
22 | 22 | let OptionExpireCounterID = (read_OptionCounterID + OpionExpireCounter) | |
23 | 23 | let PreviousCall = match getInteger(this, "Total_Calls") { | |
24 | 24 | case a: Int => | |
25 | 25 | a | |
26 | 26 | case _ => | |
27 | 27 | 0 | |
28 | 28 | } | |
29 | 29 | let TotalCall = (PreviousCall + 1) | |
30 | 30 | let PreviousCallinSpecificCounter = match getInteger(this, ("Total_Calls_" + toString(read_OptionCounterID))) { | |
31 | 31 | case a: Int => | |
32 | 32 | a | |
33 | 33 | case _ => | |
34 | 34 | 0 | |
35 | 35 | } | |
36 | 36 | let TotalCallinSpecificCounter = (PreviousCallinSpecificCounter + 1) | |
37 | 37 | let PreviousUserCall = match getInteger(this, (calleraddress + "_Total_Calls")) { | |
38 | 38 | case a: Int => | |
39 | 39 | a | |
40 | 40 | case _ => | |
41 | 41 | 0 | |
42 | 42 | } | |
43 | 43 | let TotalUserCall = (PreviousUserCall + 1) | |
44 | 44 | let PreviousUserCallinSpecificCounter = match getInteger(this, ((calleraddress + "_Total_Calls_") + toString(read_OptionCounterID))) { | |
45 | 45 | case a: Int => | |
46 | 46 | a | |
47 | 47 | case _ => | |
48 | 48 | 0 | |
49 | 49 | } | |
50 | 50 | let TotalUserCallinSpecificCounter = (PreviousUserCallinSpecificCounter + 1) | |
51 | 51 | if ((checkblockgap > 2)) | |
52 | 52 | then throw("Something Wrong with Oracle or Height is not matched.") | |
53 | 53 | else if ((read_oracle_status == "Close")) | |
54 | 54 | then throw("Oracle is closed. Wait Until Oracle is Turned On.") | |
55 | 55 | else if ((ifBlacklisted == "Yes")) | |
56 | 56 | then throw((calleraddress + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
57 | 57 | else [StringEntry(((("Call_" + calleraddress) + "_") + toString(TotalUserCall)), price), StringEntry(((("Call_Start_End_" + calleraddress) + "_") + toString(TotalUserCall)), ((toString(read_OptionCounterID) + "_") + toString(OptionExpireCounterID))), IntegerEntry("Total_Calls", TotalCall), IntegerEntry(("Total_Calls_" + toString(read_OptionCounterID)), TotalCallinSpecificCounter), IntegerEntry((calleraddress + "_Total_Calls"), TotalUserCall), IntegerEntry(((calleraddress + "_Total_Calls_") + toString(read_OptionCounterID)), TotalUserCallinSpecificCounter)] | |
58 | 58 | } | |
59 | 59 | ||
60 | 60 | ||
61 | 61 | ||
62 | 62 | @Callable(i) | |
63 | 63 | func placeoptionPut () = { | |
64 | 64 | let calleraddress = toBase58String(i.caller.bytes) | |
65 | 65 | let ifBlacklisted = getString(this, ("addr_BLACKLISTED_" + calleraddress)) | |
66 | 66 | let read_oracle_status = getStringValue(this, "oracle_status") | |
67 | 67 | let read_OptionCounterID = getIntegerValue(this, "1m_contract_id") | |
68 | 68 | let getbtcdata = getStringValue(this, ("1m_btc_" + toString(read_OptionCounterID))) | |
69 | 69 | let swapLi = split(getbtcdata, "_") | |
70 | 70 | let price = swapLi[0] | |
71 | 71 | let block = parseIntValue(swapLi[2]) | |
72 | 72 | let checkblockgap = (height - block) | |
73 | 73 | let OpionExpireCounter = 1 | |
74 | 74 | let OptionExpireCounterID = (read_OptionCounterID + OpionExpireCounter) | |
75 | 75 | let PreviousPut = match getInteger(this, "Total_Puts") { | |
76 | 76 | case a: Int => | |
77 | 77 | a | |
78 | 78 | case _ => | |
79 | 79 | 0 | |
80 | 80 | } | |
81 | 81 | let TotalPut = (PreviousPut + 1) | |
82 | + | let PreviousPutinSpecificCounter = match getInteger(this, ("Total_Puts_" + toString(read_OptionCounterID))) { | |
83 | + | case a: Int => | |
84 | + | a | |
85 | + | case _ => | |
86 | + | 0 | |
87 | + | } | |
88 | + | let TotalPutinSpecificCounter = (PreviousPutinSpecificCounter + 1) | |
82 | 89 | let PreviousUserPut = match getInteger(this, (calleraddress + "_Total_Puts")) { | |
83 | 90 | case a: Int => | |
84 | 91 | a | |
85 | 92 | case _ => | |
86 | 93 | 0 | |
87 | 94 | } | |
88 | 95 | let TotalUserPut = (PreviousUserPut + 1) | |
96 | + | let PreviousUserPutinSpecificCounter = match getInteger(this, ((calleraddress + "_Total_Puts_") + toString(read_OptionCounterID))) { | |
97 | + | case a: Int => | |
98 | + | a | |
99 | + | case _ => | |
100 | + | 0 | |
101 | + | } | |
102 | + | let TotalUserPutinSpecificCounter = (PreviousUserPutinSpecificCounter + 1) | |
89 | 103 | if ((checkblockgap > 2)) | |
90 | 104 | then throw("Something Wrong with Oracle or Height is not matched.") | |
91 | 105 | else if ((read_oracle_status == "Close")) | |
92 | 106 | then throw("Oracle is closed. Wait Until Oracle is Turned On.") | |
93 | 107 | else if ((ifBlacklisted == "Yes")) | |
94 | 108 | then throw((calleraddress + " Address is Blacklisted. Please contact Admin to Whitelist it.")) | |
95 | - | else [StringEntry(((("Put_" + calleraddress) + "_") + toString(TotalUserPut)), price), StringEntry(((("Put_Start_End_" + calleraddress) + "_") + toString(TotalUserPut)), ((toString(read_OptionCounterID) + "_") + toString(OptionExpireCounterID))), IntegerEntry("Total_Puts", TotalPut), IntegerEntry((calleraddress + "_Total_Puts"), TotalUserPut)] | |
109 | + | else [StringEntry(((("Put_" + calleraddress) + "_") + toString(TotalUserPut)), price), StringEntry(((("Put_Start_End_" + calleraddress) + "_") + toString(TotalUserPut)), ((toString(read_OptionCounterID) + "_") + toString(OptionExpireCounterID))), IntegerEntry("Total_Puts", TotalPut), IntegerEntry(("Total_Puts_" + toString(read_OptionCounterID)), TotalPutinSpecificCounter), IntegerEntry((calleraddress + "_Total_Puts"), TotalUserPut), IntegerEntry(((calleraddress + "_Total_Puts_") + toString(read_OptionCounterID)), TotalUserPutinSpecificCounter)] | |
96 | 110 | } | |
97 | 111 | ||
98 | 112 | ||
99 | 113 | ||
100 | 114 | @Callable(i) | |
101 | 115 | func ClaimCall (Call_Sequence) = { | |
102 | 116 | let calleraddress = toBase58String(i.caller.bytes) | |
103 | 117 | let pmt = if ((size(i.payments) == 1)) | |
104 | 118 | then i.payments[0] | |
105 | 119 | else throw("No payment attached, Please Attach Tokens in payment[1].") | |
106 | 120 | let getOptionCallPrice = getStringValue(this, ((("Call_" + calleraddress) + "_") + Call_Sequence)) | |
107 | 121 | let getOptionCall_Sequencedata = getStringValue(this, ((("Call_Start_End_" + calleraddress) + "_") + Call_Sequence)) | |
108 | 122 | let splitStartEndCounter = split(getOptionCall_Sequencedata, "_") | |
109 | 123 | let getStartCounter = splitStartEndCounter[0] | |
110 | 124 | let getEndCounter = splitStartEndCounter[1] | |
111 | 125 | let getbtcdataAtStartCounter = getStringValue(this, ("1m_btc_" + getStartCounter)) | |
112 | 126 | let splitbtcpriceAtStartCounter = split(getbtcdataAtStartCounter, "_") | |
113 | 127 | let getbtcpriceAtStartCounter = splitbtcpriceAtStartCounter[0] | |
114 | 128 | let getbtcdataAtEndCounter = getStringValue(this, ("1m_btc_" + getEndCounter)) | |
115 | 129 | let splitbtcpriceAtEndCounter = split(getbtcdataAtEndCounter, "_") | |
116 | 130 | let getbtcpriceAtEndCounter = splitbtcpriceAtEndCounter[0] | |
117 | 131 | let pricediff = (parseIntValue(getbtcpriceAtEndCounter) - parseIntValue(getbtcpriceAtStartCounter)) | |
118 | 132 | let PreviousCallWin = match getInteger(this, "Total_Option_Call_Wins") { | |
119 | 133 | case a: Int => | |
120 | 134 | a | |
121 | 135 | case _ => | |
122 | 136 | 0 | |
123 | 137 | } | |
124 | 138 | let TotalCallWin = (PreviousCallWin + 1) | |
125 | 139 | let PreviousCallLose = match getInteger(this, "Total_Option_Call_Lose") { | |
126 | 140 | case a: Int => | |
127 | 141 | a | |
128 | 142 | case _ => | |
129 | 143 | 0 | |
130 | 144 | } | |
131 | 145 | let TotalCallLose = (PreviousCallLose + 1) | |
132 | 146 | if ((0 > pricediff)) | |
133 | 147 | then [IntegerEntry("Diff", pricediff), IntegerEntry("Total_Option_Call_Lose", TotalCallLose), StringEntry(((((((((((("c_" + calleraddress) + "_") + Call_Sequence) + "_") + getStartCounter) + "_") + getEndCounter) + "_") + getbtcpriceAtStartCounter) + "_") + getbtcpriceAtEndCounter), "lose"), StringEntry("message", "You lose!"), DeleteEntry(((("Call_" + calleraddress) + "_") + Call_Sequence)), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + Call_Sequence))] | |
134 | 148 | else [IntegerEntry("Diff", pricediff), IntegerEntry("Total_Option_Call_Wins", TotalCallWin), StringEntry(((((((((((("c_" + calleraddress) + "_") + Call_Sequence) + "_") + getStartCounter) + "_") + getEndCounter) + "_") + getbtcpriceAtStartCounter) + "_") + getbtcpriceAtEndCounter), "Win"), StringEntry("message", "You Win!"), DeleteEntry(((("Call_" + calleraddress) + "_") + Call_Sequence)), DeleteEntry(((("Call_Start_End_" + calleraddress) + "_") + Call_Sequence))] | |
135 | 149 | } | |
136 | 150 | ||
137 | 151 | ||
138 | 152 | ||
139 | 153 | @Callable(i) | |
140 | 154 | func ClaimPut (Put_Sequence) = { | |
141 | 155 | let calleraddress = toBase58String(i.caller.bytes) | |
142 | 156 | let pmt = if ((size(i.payments) == 1)) | |
143 | 157 | then i.payments[0] | |
144 | 158 | else throw("No payment attached, Please Attach Tokens in payment[1].") | |
145 | 159 | let getOptionPutPrice = getStringValue(this, ((("Put_" + calleraddress) + "_") + Put_Sequence)) | |
146 | 160 | let getOptionPut_Sequencedata = getStringValue(this, ((("Put_Start_End_" + calleraddress) + "_") + Put_Sequence)) | |
147 | 161 | let splitStartEndCounter = split(getOptionPut_Sequencedata, "_") | |
148 | 162 | let getStartCounter = splitStartEndCounter[0] | |
149 | 163 | let getEndCounter = splitStartEndCounter[1] | |
150 | 164 | let getbtcdataAtStartCounter = getStringValue(this, ("1m_btc_" + getStartCounter)) | |
151 | 165 | let splitbtcpriceAtStartCounter = split(getbtcdataAtStartCounter, "_") | |
152 | 166 | let getbtcpriceAtStartCounter = splitbtcpriceAtStartCounter[0] | |
153 | 167 | let getbtcdataAtEndCounter = getStringValue(this, ("1m_btc_" + getEndCounter)) | |
154 | 168 | let splitbtcpriceAtEndCounter = split(getbtcdataAtEndCounter, "_") | |
155 | 169 | let getbtcpriceAtEndCounter = splitbtcpriceAtEndCounter[0] | |
156 | 170 | let pricediff = (parseIntValue(getbtcpriceAtEndCounter) - parseIntValue(getbtcpriceAtStartCounter)) | |
157 | 171 | let PreviousPutWin = match getInteger(this, "Total_Option_Put_Wins") { | |
158 | 172 | case a: Int => | |
159 | 173 | a | |
160 | 174 | case _ => | |
161 | 175 | 0 | |
162 | 176 | } | |
163 | 177 | let TotalPutWin = (PreviousPutWin + 1) | |
164 | 178 | let PreviousPutLose = match getInteger(this, "Total_Option_Put_Lose") { | |
165 | 179 | case a: Int => | |
166 | 180 | a | |
167 | 181 | case _ => | |
168 | 182 | 0 | |
169 | 183 | } | |
170 | 184 | let TotalPutLose = (PreviousPutLose + 1) | |
171 | 185 | if ((pricediff > 0)) | |
172 | 186 | then [IntegerEntry("Diff", pricediff), IntegerEntry("Total_Option_Put_Lose", TotalPutLose), StringEntry(((((((((((("p_" + calleraddress) + "_") + Put_Sequence) + "_") + getStartCounter) + "_") + getEndCounter) + "_") + getbtcpriceAtStartCounter) + "_") + getbtcpriceAtEndCounter), "lose"), StringEntry("message", "You lose!"), DeleteEntry(((("Put_" + calleraddress) + "_") + Put_Sequence)), DeleteEntry(((("Put_Start_End_" + calleraddress) + "_") + Put_Sequence))] | |
173 | 187 | else [IntegerEntry("Diff", pricediff), IntegerEntry("Total_Option_Put_Wins", TotalPutWin), StringEntry(((((((((((("p_" + calleraddress) + "_") + Put_Sequence) + "_") + getStartCounter) + "_") + getEndCounter) + "_") + getbtcpriceAtStartCounter) + "_") + getbtcpriceAtEndCounter), "Win"), StringEntry("message", "You Win!"), DeleteEntry(((("Put_" + calleraddress) + "_") + Put_Sequence)), DeleteEntry(((("Put_Start_End_" + calleraddress) + "_") + Put_Sequence))] | |
174 | 188 | } | |
175 | 189 | ||
176 | 190 | ||
177 | 191 | ||
178 | 192 | @Callable(i) | |
179 | 193 | func calldata (Counter) = { | |
180 | 194 | let getbtcdata = getStringValue(this, ("1m_btc_" + toString(Counter))) | |
181 | 195 | let swapLi = split(getbtcdata, "_") | |
182 | 196 | let price = swapLi[0] | |
183 | 197 | let time = swapLi[1] | |
184 | 198 | let blockheight = swapLi[2] | |
185 | 199 | let div = swapLi[3] | |
186 | 200 | [StringEntry("price", swapLi[0]), StringEntry("time", swapLi[1]), StringEntry("blockheight", swapLi[2]), StringEntry("div", swapLi[3])] | |
187 | 201 | } | |
188 | 202 | ||
189 | 203 | ||
190 | 204 | ||
191 | 205 | @Callable(i) | |
192 | 206 | func OpenOracle () = { | |
193 | 207 | let calleraddress = toBase58String(i.caller.bytes) | |
194 | 208 | if ((i.caller != oracle_controller_address)) | |
195 | 209 | then throw((("This Address is not Authorized. Only " + toString(oracle_controller_address)) + " is Authorized Address to Sign it.")) | |
196 | 210 | else [StringEntry("oracle_status", "Open")] | |
197 | 211 | } | |
198 | 212 | ||
199 | 213 | ||
200 | 214 | ||
201 | 215 | @Callable(i) | |
202 | 216 | func BlackListAddress (UserAddress) = { | |
203 | 217 | let ifBlacklisted = getString(this, ("addr_BLACKLISTED_" + UserAddress)) | |
204 | 218 | let PreviousBlackListAddress = match getInteger(this, "Total_Black_Listed_Address") { | |
205 | 219 | case a: Int => | |
206 | 220 | a | |
207 | 221 | case _ => | |
208 | 222 | 0 | |
209 | 223 | } | |
210 | 224 | let TotalBlackListAddress = (PreviousBlackListAddress + 1) | |
211 | 225 | if ((i.caller != oracle_controller_address)) | |
212 | 226 | then throw((("This Address is not Authorized. Only " + toString(oracle_controller_address)) + " is Authorized Address to Sign it.")) | |
213 | 227 | else if ((ifBlacklisted == "Yes")) | |
214 | 228 | then throw("Address is already available in Blacklist.") | |
215 | 229 | else [StringEntry(("addr_BLACKLISTED_" + UserAddress), "Yes"), IntegerEntry("Total_Black_Listed_Address", TotalBlackListAddress)] | |
216 | 230 | } | |
217 | 231 | ||
218 | 232 | ||
219 | 233 | ||
220 | 234 | @Callable(i) | |
221 | 235 | func DeleteBlackListAddress (UserAddress) = { | |
222 | 236 | let ifBlacklisted = getString(this, ("addr_BLACKLISTED_" + UserAddress)) | |
223 | 237 | let PreviousBlackListAddress = match getInteger(this, "Total_Black_Listed_Address") { | |
224 | 238 | case a: Int => | |
225 | 239 | a | |
226 | 240 | case _ => | |
227 | 241 | 0 | |
228 | 242 | } | |
229 | 243 | let TotalBlackListAddress = (PreviousBlackListAddress - 1) | |
230 | 244 | if ((i.caller != oracle_controller_address)) | |
231 | 245 | then throw((("This Address is not Authorized. Only " + toString(oracle_controller_address)) + " is Authorized Address to Sign it.")) | |
232 | 246 | else if ((ifBlacklisted == "Yes")) | |
233 | 247 | then [DeleteEntry(("addr_BLACKLISTED_" + UserAddress)), IntegerEntry("Total_Black_Listed_Address", TotalBlackListAddress)] | |
234 | 248 | else throw("Address is not available in Blacklist.") | |
235 | 249 | } | |
236 | 250 | ||
237 | 251 | ||
238 | 252 | @Verifier(tx) | |
239 | 253 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
240 | 254 |
github/deemru/w8io/169f3d6 42.95 ms ◑