tx · HA2reD971ESXj7jtXTkQNdv6ZYYVe6javcXWTEAVtsYT

3N8nB5XeXcXTUDeiH6657UHa3wHa2rbZfDk:  -0.01500000 Waves

2021.06.07 20:56 [1560268] smart account 3N8nB5XeXcXTUDeiH6657UHa3wHa2rbZfDk > SELF 0.00000000 Waves

{ "type": 13, "id": "HA2reD971ESXj7jtXTkQNdv6ZYYVe6javcXWTEAVtsYT", "fee": 1500000, "feeAssetId": null, "timestamp": 1623088638949, "version": 2, "chainId": 84, "sender": "3N8nB5XeXcXTUDeiH6657UHa3wHa2rbZfDk", "senderPublicKey": "BfXK2ez9xjdgWtoFNsnaGPRFjHcFixy3UUrQ2iN8wVfX", "proofs": [ "QEhhRQv1QCQzqzXUom9Vt3w8dwHzE3wxXQHsEnmedqXLuBFfk2piGWktUyxwZCSDjpMiskQFUTxeXdnEzsXm9p8" ], "script": "base64:AAIEAAAAAAAAABUIAhIICgYICAgBAQESBwoFCAEBAQgAAAABAQAAABZjcmVhdGVQYXJraW5nU3BvdFNsaWNlAAAABAAAAA1wYXJraW5nU3BvdElkAAAACXN0YXJ0VGltZQAAAAdlbmRUaW1lAAAABXNsaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1wYXJraW5nU3BvdElkAgAAAAdfc2xpY2VfCQABpAAAAAEFAAAABXNsaWNlAgAAAApfc3RhcnRUaW1lBQAAAAlzdGFydFRpbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAADXBhcmtpbmdTcG90SWQCAAAAB19zbGljZV8JAAGkAAAAAQUAAAAFc2xpY2UCAAAACF9lbmRUaW1lBQAAAAdlbmRUaW1lBQAAAANuaWwAAAACAAAAAWkBAAAAEWNyZWF0ZVBhcmtpbmdTcG90AAAABgAAAAVvd25lcgAAAANsYXQAAAAEbG9uZwAAAAlzdGFydFRpbWUAAAAHZW5kVGltZQAAAARjb3N0BAAAABByb3VuZGVkU3RhcnRUaW1lCQAAZQAAAAIFAAAACXN0YXJ0VGltZQkAAGoAAAACBQAAAAlzdGFydFRpbWUAAAAAAAAADhAEAAAADnJvdW5kZWRFbmRUaW1lCQAAZQAAAAIFAAAAB2VuZFRpbWUJAABqAAAAAgUAAAAHZW5kVGltZQAAAAAAAAAOEAkABE4AAAACCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAloAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAgAAAAZfb3duZXIFAAAABW93bmVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAloAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAgAAAARfbGF0BQAAAANsYXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQACWgAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQCAAAABV9sb25nBQAAAARsb25nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAJaAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAIAAAAFX2Nvc3QFAAAABGNvc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAloAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAgAAAAZfc2xpY2UAAAAAAAAAAAAFAAAAA25pbAkBAAAAFmNyZWF0ZVBhcmtpbmdTcG90U2xpY2UAAAAECQACWgAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAEHJvdW5kZWRTdGFydFRpbWUFAAAADnJvdW5kZWRFbmRUaW1lAAAAAAAAAAAAAAAAAWkBAAAAFGJvb2tQYXJraW5nU3BvdFNsaWNlAAAABQAAAA1wYXJraW5nU3BvdElkAAAADGRlc2lyZWRTbGljZQAAAAlzdGFydFRpbWUAAAAHZW5kVGltZQAAAAZyZW50ZXIEAAAAB3BheW1lbnQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABGNvc3QJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAFX2Nvc3QDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAAdwYXltZW50CQAAAgAAAAECAAAAD21pc3NpbmcgcGF5bWVudAMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAAHcGF5bWVudAAAAAdhc3NldElkCQAAAgAAAAECAAAAGnBheW1lbnQgc2hvdWxkIGJlIGluIHdhdmVzAwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAARjb3N0CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAJXBheW1lbnQgaXMgbGVzcyB0aGFuIHJlcXVpcmVkLCBzZW50OiAJAAGkAAAAAQUAAAAEY29zdAIAAAANICwgcmVxdWlyZWQ6IAkAAaQAAAABBQAAAARjb3N0BAAAAA9ib29rZWRTdGFydFRpbWUJAABlAAAAAgUAAAAJc3RhcnRUaW1lCQAAagAAAAIFAAAACXN0YXJ0VGltZQAAAAAAAAAOEAQAAAANYm9va2VkRW5kVGltZQkAAGUAAAACBQAAAAdlbmRUaW1lCQAAagAAAAIFAAAAB2VuZFRpbWUAAAAAAAAADhAEAAAAFHBhcmtpbmdTcG90U3RhcnRUaW1lCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1wYXJraW5nU3BvdElkAgAAAAdfc2xpY2VfCQABpAAAAAEFAAAADGRlc2lyZWRTbGljZQIAAAAKX3N0YXJ0VGltZQQAAAAScGFya2luZ1Nwb3RFbmRUaW1lCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1wYXJraW5nU3BvdElkAgAAAAdfc2xpY2VfCQABpAAAAAEFAAAADGRlc2lyZWRTbGljZQIAAAAIX2VuZFRpbWUEAAAADWV4aXN0aW5nU2xpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAGX3NsaWNlAwMJAABmAAAAAgUAAAAUcGFya2luZ1Nwb3RTdGFydFRpbWUFAAAAD2Jvb2tlZFN0YXJ0VGltZQYJAABmAAAAAgUAAAANYm9va2VkRW5kVGltZQUAAAAScGFya2luZ1Nwb3RFbmRUaW1lCQAAAgAAAAECAAAAJXRpbWUgaXMgb3V0IG9mIHJhbmdlIGZvciBwYXJraW5nIHNwb3QEAAAADmV4aXN0aW5nUmVudGVyCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAADXBhcmtpbmdTcG90SWQCAAAAB19zbGljZV8JAAGkAAAAAQUAAAAMZGVzaXJlZFNsaWNlAgAAAAdfcmVudGVyAwkBAAAAAiE9AAAAAgUAAAAOZXhpc3RpbmdSZW50ZXIFAAAABHVuaXQJAAACAAAAAQIAAAAkcGFya2luZyBzcG90IGhhcyBhbHJlYWR5IGJlZW4gYm9va2VkAwMJAAAAAAAAAgUAAAAPYm9va2VkU3RhcnRUaW1lBQAAABRwYXJraW5nU3BvdFN0YXJ0VGltZQkAAAAAAAACBQAAAA1ib29rZWRFbmRUaW1lBQAAABJwYXJraW5nU3BvdEVuZFRpbWUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAADXBhcmtpbmdTcG90SWQCAAAAB19zbGljZV8JAAGkAAAAAQUAAAAMZGVzaXJlZFNsaWNlAgAAAAdfcmVudGVyBQAAAAZyZW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAADXBhcmtpbmdTcG90SWQCAAAAB19zbGljZV8JAAGkAAAAAQUAAAAMZGVzaXJlZFNsaWNlAgAAAAtfc2xpY2V0ZXN0MAUAAAAMZGVzaXJlZFNsaWNlBQAAAANuaWwDAwkAAAAAAAACBQAAAA9ib29rZWRTdGFydFRpbWUFAAAAFHBhcmtpbmdTcG90U3RhcnRUaW1lCQEAAAACIT0AAAACBQAAAA1ib29rZWRFbmRUaW1lBQAAABJwYXJraW5nU3BvdEVuZFRpbWUHCQAETgAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAHX3NsaWNlXwkAAaQAAAABBQAAAAxkZXNpcmVkU2xpY2UCAAAAB19yZW50ZXIFAAAABnJlbnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAHX3NsaWNlXwkAAaQAAAABBQAAAAxkZXNpcmVkU2xpY2UCAAAACl9zdGFydFRpbWUFAAAAD2Jvb2tlZFN0YXJ0VGltZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAHX3NsaWNlXwkAAaQAAAABBQAAAAxkZXNpcmVkU2xpY2UCAAAACF9lbmRUaW1lBQAAAA1ib29rZWRFbmRUaW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADXBhcmtpbmdTcG90SWQCAAAABl9zbGljZQkAAGQAAAACBQAAAA1leGlzdGluZ1NsaWNlAAAAAAAAAAABBQAAAANuaWwJAQAAABZjcmVhdGVQYXJraW5nU3BvdFNsaWNlAAAABAUAAAANcGFya2luZ1Nwb3RJZAUAAAANYm9va2VkRW5kVGltZQUAAAAScGFya2luZ1Nwb3RFbmRUaW1lCQAAZAAAAAIFAAAADWV4aXN0aW5nU2xpY2UAAAAAAAAAAAEDAwkAAAAAAAACBQAAAA1ib29rZWRFbmRUaW1lBQAAABJwYXJraW5nU3BvdEVuZFRpbWUJAQAAAAIhPQAAAAIFAAAAD2Jvb2tlZFN0YXJ0VGltZQUAAAAUcGFya2luZ1Nwb3RTdGFydFRpbWUHCQAETgAAAAIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAHX3NsaWNlXwkAAaQAAAABBQAAAAxkZXNpcmVkU2xpY2UCAAAAB19yZW50ZXIFAAAABnJlbnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAHX3NsaWNlXwkAAaQAAAABBQAAAAxkZXNpcmVkU2xpY2UCAAAACl9zdGFydFRpbWUFAAAAD2Jvb2tlZFN0YXJ0VGltZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAHX3NsaWNlXwkAAaQAAAABBQAAAAxkZXNpcmVkU2xpY2UCAAAACF9lbmRUaW1lBQAAAA1ib29rZWRFbmRUaW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADXBhcmtpbmdTcG90SWQCAAAABl9zbGljZQkAAGQAAAACBQAAAA1leGlzdGluZ1NsaWNlAAAAAAAAAAABBQAAAANuaWwJAQAAABZjcmVhdGVQYXJraW5nU3BvdFNsaWNlAAAABAUAAAANcGFya2luZ1Nwb3RJZAUAAAAUcGFya2luZ1Nwb3RTdGFydFRpbWUFAAAAD2Jvb2tlZFN0YXJ0VGltZQkAAGQAAAACBQAAAA1leGlzdGluZ1NsaWNlAAAAAAAAAAABCQAETgAAAAIJAAROAAAAAgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1wYXJraW5nU3BvdElkAgAAAAdfc2xpY2VfCQABpAAAAAEFAAAADGRlc2lyZWRTbGljZQIAAAAHX3JlbnRlcgUAAAAGcmVudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1wYXJraW5nU3BvdElkAgAAAAdfc2xpY2VfCQABpAAAAAEFAAAADGRlc2lyZWRTbGljZQIAAAAKX3N0YXJ0VGltZQUAAAAPYm9va2VkU3RhcnRUaW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAA1wYXJraW5nU3BvdElkAgAAAAdfc2xpY2VfCQABpAAAAAEFAAAADGRlc2lyZWRTbGljZQIAAAAIX2VuZFRpbWUFAAAADWJvb2tlZEVuZFRpbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAANcGFya2luZ1Nwb3RJZAIAAAAGX3NsaWNlCQAAZAAAAAIFAAAADWV4aXN0aW5nU2xpY2UAAAAAAAAAAAIFAAAAA25pbAkBAAAAFmNyZWF0ZVBhcmtpbmdTcG90U2xpY2UAAAAEBQAAAA1wYXJraW5nU3BvdElkBQAAABRwYXJraW5nU3BvdFN0YXJ0VGltZQUAAAAPYm9va2VkU3RhcnRUaW1lCQAAZAAAAAIFAAAADWV4aXN0aW5nU2xpY2UAAAAAAAAAAAEJAQAAABZjcmVhdGVQYXJraW5nU3BvdFNsaWNlAAAABAUAAAANcGFya2luZ1Nwb3RJZAUAAAANYm9va2VkRW5kVGltZQUAAAAScGFya2luZ1Nwb3RFbmRUaW1lCQAAZAAAAAIFAAAADWV4aXN0aW5nU2xpY2UAAAAAAAAAAAIAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleUEFf3o=", "height": 1560268, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BBhgcyYAbKiXFLBvzvdyRJ4ghxpR1WeAcTMemDH5q9GX Next: 5EibGcJgkLFCQxNBNpZULrtZZEBkj6hATudGkSP2yZqN Diff:
OldNewDifferences
1919 let j = getIntegerValue(this, (b + "_cost"))
2020 if (!(isDefined(o)))
2121 then throw("missing payment")
22- else {
23- let p = (c - (c % 3600))
24- let q = (d - (d % 3600))
25- let r = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_startTime"))
26- let s = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_endTime"))
27- let t = getIntegerValue(this, (b + "_slice"))
28- if (if ((r > p))
29- then true
30- else (q > s))
31- then throw("time is out of range for parking spot")
22+ else if (isDefined(o.assetId))
23+ then throw("payment should be in waves")
24+ else if ((o.amount != j))
25+ then throw(((("payment is less than required, sent: " + toString(j)) + " , required: ") + toString(j)))
3226 else {
33- let u = getString(this, (((b + "_slice_") + toString(m)) + "_renter"))
34- if ((u != unit))
35- then throw("parking spot has already been booked")
36- else if (if ((p == r))
37- then (q == s)
38- else false)
39- then [StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_slicetest0"), m)]
40- else if (if ((p == r))
41- then (q != s)
42- else false)
43- then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, q, s, (t + 1)))
44- else if (if ((q == s))
45- then (p != r)
27+ let p = (c - (c % 3600))
28+ let q = (d - (d % 3600))
29+ let r = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_startTime"))
30+ let s = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_endTime"))
31+ let t = getIntegerValue(this, (b + "_slice"))
32+ if (if ((r > p))
33+ then true
34+ else (q > s))
35+ then throw("time is out of range for parking spot")
36+ else {
37+ let u = getString(this, (((b + "_slice_") + toString(m)) + "_renter"))
38+ if ((u != unit))
39+ then throw("parking spot has already been booked")
40+ else if (if ((p == r))
41+ then (q == s)
4642 else false)
47- then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, r, p, (t + 1)))
48- else (([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 2))] ++ a(b, r, p, (t + 1))) ++ a(b, q, s, (t + 2)))
43+ then [StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_slicetest0"), m)]
44+ else if (if ((p == r))
45+ then (q != s)
46+ else false)
47+ then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, q, s, (t + 1)))
48+ else if (if ((q == s))
49+ then (p != r)
50+ else false)
51+ then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, r, p, (t + 1)))
52+ else (([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 2))] ++ a(b, r, p, (t + 1))) ++ a(b, q, s, (t + 2)))
53+ }
4954 }
50- }
5155 }
5256
5357
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c,d,e) = [IntegerEntry((((b + "_slice_") + toString(e)) + "_startTime"), c), IntegerEntry((((b + "_slice_") + toString(e)) + "_endTime"), d)]
55
66
77 @Callable(f)
88 func createParkingSpot (g,h,i,c,d,j) = {
99 let k = (c - (c % 3600))
1010 let l = (d - (d % 3600))
1111 ([StringEntry((toBase64String(f.transactionId) + "_owner"), g), StringEntry((toBase64String(f.transactionId) + "_lat"), h), StringEntry((toBase64String(f.transactionId) + "_long"), i), IntegerEntry((toBase64String(f.transactionId) + "_cost"), j), IntegerEntry((toBase64String(f.transactionId) + "_slice"), 0)] ++ a(toBase64String(f.transactionId), k, l, 0))
1212 }
1313
1414
1515
1616 @Callable(f)
1717 func bookParkingSpotSlice (b,m,c,d,n) = {
1818 let o = f.payments[0]
1919 let j = getIntegerValue(this, (b + "_cost"))
2020 if (!(isDefined(o)))
2121 then throw("missing payment")
22- else {
23- let p = (c - (c % 3600))
24- let q = (d - (d % 3600))
25- let r = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_startTime"))
26- let s = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_endTime"))
27- let t = getIntegerValue(this, (b + "_slice"))
28- if (if ((r > p))
29- then true
30- else (q > s))
31- then throw("time is out of range for parking spot")
22+ else if (isDefined(o.assetId))
23+ then throw("payment should be in waves")
24+ else if ((o.amount != j))
25+ then throw(((("payment is less than required, sent: " + toString(j)) + " , required: ") + toString(j)))
3226 else {
33- let u = getString(this, (((b + "_slice_") + toString(m)) + "_renter"))
34- if ((u != unit))
35- then throw("parking spot has already been booked")
36- else if (if ((p == r))
37- then (q == s)
38- else false)
39- then [StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_slicetest0"), m)]
40- else if (if ((p == r))
41- then (q != s)
42- else false)
43- then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, q, s, (t + 1)))
44- else if (if ((q == s))
45- then (p != r)
27+ let p = (c - (c % 3600))
28+ let q = (d - (d % 3600))
29+ let r = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_startTime"))
30+ let s = getIntegerValue(this, (((b + "_slice_") + toString(m)) + "_endTime"))
31+ let t = getIntegerValue(this, (b + "_slice"))
32+ if (if ((r > p))
33+ then true
34+ else (q > s))
35+ then throw("time is out of range for parking spot")
36+ else {
37+ let u = getString(this, (((b + "_slice_") + toString(m)) + "_renter"))
38+ if ((u != unit))
39+ then throw("parking spot has already been booked")
40+ else if (if ((p == r))
41+ then (q == s)
4642 else false)
47- then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, r, p, (t + 1)))
48- else (([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 2))] ++ a(b, r, p, (t + 1))) ++ a(b, q, s, (t + 2)))
43+ then [StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_slicetest0"), m)]
44+ else if (if ((p == r))
45+ then (q != s)
46+ else false)
47+ then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, q, s, (t + 1)))
48+ else if (if ((q == s))
49+ then (p != r)
50+ else false)
51+ then ([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 1))] ++ a(b, r, p, (t + 1)))
52+ else (([StringEntry((((b + "_slice_") + toString(m)) + "_renter"), n), IntegerEntry((((b + "_slice_") + toString(m)) + "_startTime"), p), IntegerEntry((((b + "_slice_") + toString(m)) + "_endTime"), q), IntegerEntry((b + "_slice"), (t + 2))] ++ a(b, r, p, (t + 1))) ++ a(b, q, s, (t + 2)))
53+ }
4954 }
50- }
5155 }
5256
5357
5458 @Verifier(v)
5559 func w () = sigVerify(v.bodyBytes, v.proofs[0], v.senderPublicKey)
5660

github/deemru/w8io/169f3d6 
35.61 ms