tx · BxEv1PPL3j6NzwwgZ4GCnXNj2cowPvnoAfdQQSVzAm9Y

3MwPfAfkrELWorzsNx3KyZU525FZksSmRq9:  -0.01400000 Waves

2019.12.01 14:41 [789515] smart account 3MwPfAfkrELWorzsNx3KyZU525FZksSmRq9 > SELF 0.00000000 Waves

{ "type": 13, "id": "BxEv1PPL3j6NzwwgZ4GCnXNj2cowPvnoAfdQQSVzAm9Y", "fee": 1400000, "feeAssetId": null, "timestamp": 1575200519579, "version": 1, "sender": "3MwPfAfkrELWorzsNx3KyZU525FZksSmRq9", "senderPublicKey": "xdeD5P7gGVng1RJJ4k7QRv7jMHJERkQnH2AJwLUV2Ju", "proofs": [ "bmreh3xzM4ib9LVud7XdFcjFBFCZfq6nkMav1HFngRqH7XHwHteh7Xt1DKmGpp5iFcXeNW4FyiBoUjvJU8zCpXz" ], "script": "base64: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", "chainId": 84, "height": 789515, "spentComplexity": 0 } View: original | compacted Prev: H62kTtcZ2nW5Z1x1WkvqmpnVHYZU6gJaprRC29VnSjdn Next: 2gYrqcJBmq3p8mtgrGdW7XNYGdNbeKSc3468BieRsLMB Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func get (json,key) = if (if ((take(json, 1) != "{"))
5- then (take(json, 1) != "]")
6- else false)
7- then throw("")
8- else {
9- let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
10- let data = drop(json, ((keyIndex + size(key)) + 3))
11- data
12- }
4+func get (json,key) = {
5+ let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
6+ let data = drop(json, ((keyIndex + size(key)) + 3))
7+ data
8+ }
139
1410
15-func getJsonBeforeKey (json,key) = if (if ((take(json, 1) != "{"))
16- then (take(json, 1) != "]")
17- else false)
18- then throw("")
19- else {
20- let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
21- let data = take(json, ((keyIndex + size(key)) + 3))
22- data
23- }
11+func getJsonBeforeKey (json,key) = {
12+ let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
13+ let data = take(json, ((keyIndex + size(key)) + 3))
14+ data
15+ }
2416
2517
26-func getJsonAfterKey (json,key,oldValueSize) = if (if ((take(json, 1) != "{"))
27- then (take(json, 1) != "]")
28- else false)
29- then throw("")
30- else {
31- let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
32- let data = takeRight(json, (size(json) - (((keyIndex + size(key)) + 3) + oldValueSize)))
33- data
34- }
18+func getJsonAfterKey (json,key,oldValueSize) = {
19+ let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
20+ let data = takeRight(json, (size(json) - (((keyIndex + size(key)) + 3) + oldValueSize)))
21+ data
22+ }
3523
3624
3725 func getValueString (json) = take(drop(json, 1), value(indexOf(drop(json, 1), "\"")))
38-
39-
40-func getValueIntOrBool (json) = {
41- let indexSymbolOne = value(indexOf(json, "}"))
42- let indexSymbolTwo = value(indexOf(json, ","))
43- if ((indexSymbolTwo > indexSymbolOne))
44- then take(json, indexSymbolOne)
45- else take(json, indexSymbolTwo)
46- }
47-
48-
49-func getValueInt (json) = parseIntValue(getValueIntOrBool(json))
50-
51-
52-func getValueBool (json) = if ((getValueIntOrBool(json) == "true"))
53- then true
54- else false
5526
5627
5728 @Callable(i)
7142 }
7243
7344
74-
75-@Callable(i)
76-func testGet (json,key) = WriteSet([DataEntry("json", get(json, key))])
77-
78-
79-
80-@Callable(i)
81-func testGetValueString (json,key) = WriteSet([DataEntry("json", getValueString(get(json, key)))])
82-
83-
84-
85-@Callable(i)
86-func testGetValueInt (json,key) = WriteSet([DataEntry("json", getValueInt(get(json, key)))])
87-
88-
89-
90-@Callable(i)
91-func testGetValueBool (json,key) = WriteSet([DataEntry("json", getValueBool(get(json, key)))])
92-
93-
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func get (json,key) = if (if ((take(json, 1) != "{"))
5- then (take(json, 1) != "]")
6- else false)
7- then throw("")
8- else {
9- let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
10- let data = drop(json, ((keyIndex + size(key)) + 3))
11- data
12- }
4+func get (json,key) = {
5+ let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
6+ let data = drop(json, ((keyIndex + size(key)) + 3))
7+ data
8+ }
139
1410
15-func getJsonBeforeKey (json,key) = if (if ((take(json, 1) != "{"))
16- then (take(json, 1) != "]")
17- else false)
18- then throw("")
19- else {
20- let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
21- let data = take(json, ((keyIndex + size(key)) + 3))
22- data
23- }
11+func getJsonBeforeKey (json,key) = {
12+ let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
13+ let data = take(json, ((keyIndex + size(key)) + 3))
14+ data
15+ }
2416
2517
26-func getJsonAfterKey (json,key,oldValueSize) = if (if ((take(json, 1) != "{"))
27- then (take(json, 1) != "]")
28- else false)
29- then throw("")
30- else {
31- let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
32- let data = takeRight(json, (size(json) - (((keyIndex + size(key)) + 3) + oldValueSize)))
33- data
34- }
18+func getJsonAfterKey (json,key,oldValueSize) = {
19+ let keyIndex = value(indexOf(json, (("\"" + key) + "\":")))
20+ let data = takeRight(json, (size(json) - (((keyIndex + size(key)) + 3) + oldValueSize)))
21+ data
22+ }
3523
3624
3725 func getValueString (json) = take(drop(json, 1), value(indexOf(drop(json, 1), "\"")))
38-
39-
40-func getValueIntOrBool (json) = {
41- let indexSymbolOne = value(indexOf(json, "}"))
42- let indexSymbolTwo = value(indexOf(json, ","))
43- if ((indexSymbolTwo > indexSymbolOne))
44- then take(json, indexSymbolOne)
45- else take(json, indexSymbolTwo)
46- }
47-
48-
49-func getValueInt (json) = parseIntValue(getValueIntOrBool(json))
50-
51-
52-func getValueBool (json) = if ((getValueIntOrBool(json) == "true"))
53- then true
54- else false
5526
5627
5728 @Callable(i)
5829 func testUpdateJsonKeyValue (jsonKey,key,newValue) = {
5930 let valueJSON = match getString(this, jsonKey) {
6031 case s: String =>
6132 s
6233 case _ =>
6334 throw("The key doesn't exist")
6435 }
6536 let valueBeforeJson = getJsonBeforeKey(valueJSON, key)
6637 let valueAfterJson = getJsonAfterKey(valueJSON, key, size(get(valueJSON, key)))
6738 let valueInJson = getValueString(get(valueJSON, key))
6839 if ((valueInJson == newValue))
6940 then throw("same value so no changes")
7041 else WriteSet([DataEntry("newvalue", ((((valueBeforeJson + "\"") + newValue) + "\"") + valueAfterJson))])
7142 }
7243
7344
74-
75-@Callable(i)
76-func testGet (json,key) = WriteSet([DataEntry("json", get(json, key))])
77-
78-
79-
80-@Callable(i)
81-func testGetValueString (json,key) = WriteSet([DataEntry("json", getValueString(get(json, key)))])
82-
83-
84-
85-@Callable(i)
86-func testGetValueInt (json,key) = WriteSet([DataEntry("json", getValueInt(get(json, key)))])
87-
88-
89-
90-@Callable(i)
91-func testGetValueBool (json,key) = WriteSet([DataEntry("json", getValueBool(get(json, key)))])
92-
93-

github/deemru/w8io/169f3d6 
37.10 ms