tx · 91e6Txoap2nsXJ7bRSEoQCevJsTfQTG4RfHyGBy6k9B1

3N1GmyGkFnyV1nasw8wiHz2w2mDboqVYKgr:  -0.01000000 Waves

2023.04.16 17:16 [2537219] smart account 3N1GmyGkFnyV1nasw8wiHz2w2mDboqVYKgr > SELF 0.00000000 Waves

{ "type": 13, "id": "91e6Txoap2nsXJ7bRSEoQCevJsTfQTG4RfHyGBy6k9B1", "fee": 1000000, "feeAssetId": null, "timestamp": 1681654613545, "version": 2, "chainId": 84, "sender": "3N1GmyGkFnyV1nasw8wiHz2w2mDboqVYKgr", "senderPublicKey": "65hzuFUkGbK4ByCuwohhXNsXhPi8PJUcoxwkbSXXdrvH", "proofs": [ "2uVKF186UVfVeHwG8MBqBHZpXQdRV8SjQZwa4g2rW2yNscSWGs5yB13yckRDSJuoHVs9HcGM8xrx1ueZk8evCszq" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIICAAAAAEBAAAAB2dldERhdGEAAAACAAAAA2FkcgAAAANrZXkEAAAABGRhdGEEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAADYWRyBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAABQAAAARkYXRhAAAAAQAAAAFpAQAAAAZzdGF0dXMAAAACAAAAC3Bvc2l0aW9uS2V5AAAAC3BpZWxBZGRyZXNzBAAAAA9jdXN0b21lckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAARY3VzdG9tZXJQdWJsaWNLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAA9wb3NpdGlvbktleURhdGEJAQAAAAdnZXREYXRhAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAPY3VzdG9tZXJBZGRyZXNzBQAAAAtwb3NpdGlvbktleQQAAAAQcG9zaXRpb25LZXlTcGxpdAkABLUAAAACBQAAAAtwb3NpdGlvbktleQIAAAABXwQAAAAJdGltZXN0YW1wCQABkQAAAAIFAAAAEHBvc2l0aW9uS2V5U3BsaXQAAAAAAAAAAAIEAAAAEHBvc2l0aW9uUXVhbnRpdHkJAAGRAAAAAgUAAAAQcG9zaXRpb25LZXlTcGxpdAAAAAAAAAAAAQQAAAAZcHJpY2VMaXN0Rm9yUXVhbnRpdGllc0tleQkAASwAAAACCQABkQAAAAIFAAAAEHBvc2l0aW9uS2V5U3BsaXQAAAAAAAAAAAACAAAABV9oYXNoBAAAABtwcmljZUxpc3RGb3JRdWFudGl0aWVzVmFsdWUJAQAAAAdnZXREYXRhAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAALcGllbEFkZHJlc3MFAAAAGXByaWNlTGlzdEZvclF1YW50aXRpZXNLZXkEAAAAIXByaWNlTGlzdEZvclF1YW50aXRpZXNWYWx1ZVRvTGlzdAkABLUAAAACBQAAABtwcmljZUxpc3RGb3JRdWFudGl0aWVzVmFsdWUCAAAAAV8EAAAAE3Bvc2l0aW9u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", "height": 2537219, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HpRhZNxEzW7KgoHdeBUztzMMWyuARLsPz1GntYduaDwc Next: 9y5Nq5dDy891eBu5FB7vC3Tpyy5tkjAW72ubhL6eGZjv Diff:
OldNewDifferences
1313
1414
1515 @Callable(i)
16-func status (timestamp) = {
17- let callerAddress = toBase58String(i.caller.bytes)
18- let publicKey = toBase58String(i.callerPublicKey)
19- let positionHashKey = (((publicKey + "_0_Preis_") + timestamp) + "_hash")
20- let customerPriceHash = getData(addressFromPublicKey(i.callerPublicKey), positionHashKey)
21- let pricelistHash = getData(addressFromStringValue("3N1GmyGkFnyV1nasw8wiHz2w2mDboqVYKgr"), "S180312_7140000141_001_hash")
22- if ((customerPriceHash == pricelistHash))
23- then [StringEntry(((publicKey + "_statusCode_") + timestamp), "success"), StringEntry(((publicKey + "_statusText_") + timestamp), "Alles Roger in Kambodscha")]
24- else [StringEntry(((publicKey + "_statusCode_") + timestamp), "error"), StringEntry(((publicKey + "_statusText_") + timestamp), "Werte passen nicht zusammen.")]
16+func status (positionKey,pielAddress) = {
17+ let customerAddress = toBase58String(i.caller.bytes)
18+ let customerPublicKey = toBase58String(i.callerPublicKey)
19+ let positionKeyData = getData(addressFromStringValue(customerAddress), positionKey)
20+ let positionKeySplit = split(positionKey, "_")
21+ let timestamp = positionKeySplit[2]
22+ let positionQuantity = positionKeySplit[1]
23+ let priceListForQuantitiesKey = (positionKeySplit[0] + "_hash")
24+ let priceListForQuantitiesValue = getData(addressFromStringValue(pielAddress), priceListForQuantitiesKey)
25+ let priceListForQuantitiesValueToList = split(priceListForQuantitiesValue, "_")
26+ let positionQuantityInt = parseIntValue(positionQuantity)
27+ func find (accum,nextValue) = {
28+ let priceListQuantityInt = parseIntValue(nextValue)
29+ if ((positionQuantityInt >= priceListQuantityInt))
30+ then priceListQuantityInt
31+ else accum
32+ }
33+
34+ let iterations = size(priceListForQuantitiesValueToList)
35+ let result = {
36+ let $l = priceListForQuantitiesValueToList
37+ let $s = size($l)
38+ let $acc0 = 0
39+ func $f0_1 ($a,$i) = if (($i >= $s))
40+ then $a
41+ else find($a, $l[$i])
42+
43+ func $f0_2 ($a,$i) = if (($i >= $s))
44+ then $a
45+ else throw("List size exceeds 10")
46+
47+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
48+ }
49+ let priceListKey = (((positionKeySplit[0] + "_") + toString(result)) + "_hash")
50+ let data = getData(addressFromStringValue(pielAddress), priceListKey)
51+ if ((data == positionKeyData))
52+ then [StringEntry(((customerPublicKey + "_statusCode_") + timestamp), "success"), StringEntry(((customerPublicKey + "_statusText_") + timestamp), "Staffelpreis entspricht dem Positionspreis.")]
53+ else [StringEntry(((customerPublicKey + "_statusCode_") + timestamp), "error"), StringEntry(((customerPublicKey + "_statusText_") + timestamp), "Staffelpreis entspricht nicht dem Positionspreis.")]
2554 }
2655
2756
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func getData (adr,key) = {
55 let data = match getString(adr, key) {
66 case a: String =>
77 a
88 case _ =>
99 ""
1010 }
1111 data
1212 }
1313
1414
1515 @Callable(i)
16-func status (timestamp) = {
17- let callerAddress = toBase58String(i.caller.bytes)
18- let publicKey = toBase58String(i.callerPublicKey)
19- let positionHashKey = (((publicKey + "_0_Preis_") + timestamp) + "_hash")
20- let customerPriceHash = getData(addressFromPublicKey(i.callerPublicKey), positionHashKey)
21- let pricelistHash = getData(addressFromStringValue("3N1GmyGkFnyV1nasw8wiHz2w2mDboqVYKgr"), "S180312_7140000141_001_hash")
22- if ((customerPriceHash == pricelistHash))
23- then [StringEntry(((publicKey + "_statusCode_") + timestamp), "success"), StringEntry(((publicKey + "_statusText_") + timestamp), "Alles Roger in Kambodscha")]
24- else [StringEntry(((publicKey + "_statusCode_") + timestamp), "error"), StringEntry(((publicKey + "_statusText_") + timestamp), "Werte passen nicht zusammen.")]
16+func status (positionKey,pielAddress) = {
17+ let customerAddress = toBase58String(i.caller.bytes)
18+ let customerPublicKey = toBase58String(i.callerPublicKey)
19+ let positionKeyData = getData(addressFromStringValue(customerAddress), positionKey)
20+ let positionKeySplit = split(positionKey, "_")
21+ let timestamp = positionKeySplit[2]
22+ let positionQuantity = positionKeySplit[1]
23+ let priceListForQuantitiesKey = (positionKeySplit[0] + "_hash")
24+ let priceListForQuantitiesValue = getData(addressFromStringValue(pielAddress), priceListForQuantitiesKey)
25+ let priceListForQuantitiesValueToList = split(priceListForQuantitiesValue, "_")
26+ let positionQuantityInt = parseIntValue(positionQuantity)
27+ func find (accum,nextValue) = {
28+ let priceListQuantityInt = parseIntValue(nextValue)
29+ if ((positionQuantityInt >= priceListQuantityInt))
30+ then priceListQuantityInt
31+ else accum
32+ }
33+
34+ let iterations = size(priceListForQuantitiesValueToList)
35+ let result = {
36+ let $l = priceListForQuantitiesValueToList
37+ let $s = size($l)
38+ let $acc0 = 0
39+ func $f0_1 ($a,$i) = if (($i >= $s))
40+ then $a
41+ else find($a, $l[$i])
42+
43+ func $f0_2 ($a,$i) = if (($i >= $s))
44+ then $a
45+ else throw("List size exceeds 10")
46+
47+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
48+ }
49+ let priceListKey = (((positionKeySplit[0] + "_") + toString(result)) + "_hash")
50+ let data = getData(addressFromStringValue(pielAddress), priceListKey)
51+ if ((data == positionKeyData))
52+ then [StringEntry(((customerPublicKey + "_statusCode_") + timestamp), "success"), StringEntry(((customerPublicKey + "_statusText_") + timestamp), "Staffelpreis entspricht dem Positionspreis.")]
53+ else [StringEntry(((customerPublicKey + "_statusCode_") + timestamp), "error"), StringEntry(((customerPublicKey + "_statusText_") + timestamp), "Staffelpreis entspricht nicht dem Positionspreis.")]
2554 }
2655
2756
2857 @Verifier(tx)
2958 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
3059

github/deemru/w8io/169f3d6 
43.10 ms