tx · BtfNfTcLq2SvGbJxJqPaFe9hU4sbyDxgEhHTdanefyvb

3N8nB5XeXcXTUDeiH6657UHa3wHa2rbZfDk:  -0.09000000 Waves

2021.06.19 21:48 [1577644] smart account 3N8nB5XeXcXTUDeiH6657UHa3wHa2rbZfDk > SELF 0.00000000 Waves

{ "type": 13, "id": "BtfNfTcLq2SvGbJxJqPaFe9hU4sbyDxgEhHTdanefyvb", "fee": 9000000, "feeAssetId": null, "timestamp": 1624128611360, "version": 2, "chainId": 84, "sender": "3N8nB5XeXcXTUDeiH6657UHa3wHa2rbZfDk", "senderPublicKey": "BfXK2ez9xjdgWtoFNsnaGPRFjHcFixy3UUrQ2iN8wVfX", "proofs": [ "49iz953R7Z329VsoW5fqFKFokwr4PPm59vCvKDNS1fRqkvuU34YV5CrDvPCXSjyrVUUaF4XGYWH7v2p8R5GDAnjk" ], "script": "base64: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Z2VyRW50cnkAAAACCQABLAAAAAIFAAAADXBhcmtpbmdTcG90SWQCAAAABl9zbGljZQkAAGQAAAACBQAAAA1leGlzdGluZ1NsaWNlAAAAAAAAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAIAAAAQX2F2YWlsYWJsZVBheW91dAkAAGQAAAACBQAAAA9hdmFpbGFibGVQYXlvdXQFAAAACXRvdGFsQ29zdAUAAAADbmlsCQEAAAAWY3JlYXRlUGFya2luZ1Nwb3RTbGljZQAAAAQFAAAADXBhcmtpbmdTcG90SWQFAAAAFHBhcmtpbmdTcG90U3RhcnRUaW1lBQAAAA9ib29rZWRTdGFydFRpbWUJAABkAAAAAgUAAAANZXhpc3RpbmdTbGljZQAAAAAAAAAAAQkBAAAAFmNyZWF0ZVBhcmtpbmdTcG90U2xpY2UAAAAEBQAAAA1wYXJraW5nU3BvdElkBQAAAA1ib29rZWRFbmRUaW1lBQAAABJwYXJraW5nU3BvdEVuZFRpbWUJAABkAAAAAgUAAAANZXhpc3RpbmdTbGljZQAAAAAAAAAAAgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5KVRTYA==", "height": 1577644, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: a73hVWSUoirdJbwUXZq5CM3HaVsB61rB9qT3oxtemwL Next: BBXyxmqazjyQk4fTAH12pwmQGJT5iwT9kJmDBB3MwgQ4 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func createParkingSpotSlice (parkingSpotId,startTime,endTime,slice) = [IntegerEntry((((parkingSpotId + "_slice_") + toString(slice)) + "_startTime"), startTime), IntegerEntry((((parkingSpotId + "_slice_") + toString(slice)) + "_endTime"), endTime), BooleanEntry((((parkingSpotId + "_slice_") + toString(slice)) + "_payed"), false)]
55
66
77 @Callable(i)
88 func createParkingSpot (owner,lat,long,startTime,endTime,cost) = {
99 let roundedStartTime = (startTime - (startTime % 3600))
1010 let roundedEndTime = (endTime - (endTime % 3600))
1111 ([StringEntry((toBase58String(i.transactionId) + "_owner"), toString(i.caller)), StringEntry((toBase58String(i.transactionId) + "_lat"), lat), StringEntry((toBase58String(i.transactionId) + "_long"), long), IntegerEntry((toBase58String(i.transactionId) + "_cost"), cost), IntegerEntry((toBase58String(i.transactionId) + "_slice"), 0), IntegerEntry((toBase58String(i.transactionId) + "_payoutTime"), (roundedEndTime + 3600)), IntegerEntry((toBase58String(i.transactionId) + "_availablePayout"), 0), IntegerEntry((toBase58String(i.transactionId) + "_blockedPayout"), 0)] ++ createParkingSpotSlice(toBase58String(i.transactionId), roundedStartTime, roundedEndTime, 0))
1212 }
1313
1414
1515
1616 @Callable(i)
1717 func payoutParkingSpotSlice (parkingSpotId,slice) = {
1818 let parkingSpotStartTime = getIntegerValue(this, (((parkingSpotId + "_slice_") + toString(slice)) + "_startTime"))
1919 let parkingSpotEndTime = getIntegerValue(this, (((parkingSpotId + "_slice_") + toString(slice)) + "_endTime"))
2020 let parkingSpotPayoutTime = getIntegerValue(this, (parkingSpotId + "_payoutTime"))
2121 let costPerHour = getIntegerValue(this, (parkingSpotId + "_cost"))
2222 let sliceCost = ((costPerHour * (parkingSpotStartTime - parkingSpotEndTime)) / 3600)
2323 let owner = getStringValue(this, (parkingSpotId + "_owner"))
2424 let complaint = getString(this, (((parkingSpotId + "_slice_") + toString(slice)) + "_complaint"))
2525 let payed = getBooleanValue(this, (((parkingSpotId + "_slice_") + toString(slice)) + "_payed"))
2626 let availablePayout = getIntegerValue(this, (parkingSpotId + "_availablePayout"))
2727 let currentTime = lastBlock.timestamp
2828 if ((toString(i.caller) != owner))
2929 then throw("caller does not match owner of parking spot")
3030 else if ((((currentTime / 1000) + 3600) > parkingSpotPayoutTime))
3131 then throw("parking spot payout time is due, please cash out all slices at once")
3232 else if ((parkingSpotEndTime > ((currentTime / 1000) + 3600)))
3333 then throw("you have to wait one hour, until you can receive the payment for this slice")
3434 else if ((complaint != unit))
3535 then throw("there is an active complaint, please resolve it first")
3636 else if ((payed == true))
3737 then throw("slice has already been payed, denying payment")
3838 else [IntegerEntry((toBase58String(i.transactionId) + "_availablePayout"), (availablePayout - sliceCost)), ScriptTransfer(i.caller, sliceCost, unit), BooleanEntry((((parkingSpotId + "_slice_") + toString(slice)) + "_payed"), true)]
3939 }
4040
4141
4242
4343 @Callable(i)
4444 func bookParkingSpotSlice (parkingSpotId,desiredSlice,startTime,endTime,renter) = {
4545 let payment = value(i.payments[0])
4646 let bookedStartTime = (startTime - (startTime % 3600))
4747 let bookedEndTime = (endTime - (endTime % 3600))
4848 let parkingSpotStartTime = getIntegerValue(this, (((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_startTime"))
4949 let parkingSpotEndTime = getIntegerValue(this, (((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_endTime"))
5050 let existingSlice = getIntegerValue(this, (parkingSpotId + "_slice"))
5151 let costPerHour = getIntegerValue(this, (parkingSpotId + "_cost"))
5252 let totalCost = ((costPerHour * (bookedEndTime - bookedStartTime)) / 3600)
5353 let availablePayout = getIntegerValue(this, (parkingSpotId + "_availablePayout"))
5454 let existingRenter = getString(this, (((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_renter"))
5555 if (!(isDefined(payment)))
5656 then throw("no payment defined")
5757 else if ((payment.assetId != unit))
5858 then throw("payment should be in waves")
5959 else if ((payment.amount != totalCost))
6060 then throw((((("payment does not match cost, got '" + toString(payment.amount)) + "' Waves, excpected: '") + toString(totalCost)) + "' Waves."))
6161 else if (if ((parkingSpotStartTime > bookedStartTime))
6262 then true
6363 else (bookedEndTime > parkingSpotEndTime))
6464 then throw("time is out of range for parking spot")
6565 else if ((existingRenter != unit))
6666 then throw("parking spot has already been booked")
6767 else if (if ((bookedStartTime == parkingSpotStartTime))
6868 then (bookedEndTime == parkingSpotEndTime)
6969 else false)
7070 then [StringEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_renter"), renter), IntegerEntry((toBase58String(i.transactionId) + "_availablePayout"), (availablePayout + totalCost))]
7171 else if (if ((bookedStartTime == parkingSpotStartTime))
7272 then (bookedEndTime != parkingSpotEndTime)
7373 else false)
7474 then ([StringEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_renter"), renter), IntegerEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_startTime"), bookedStartTime), IntegerEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_endTime"), bookedEndTime), IntegerEntry((parkingSpotId + "_slice"), (existingSlice + 1)), IntegerEntry((toBase58String(i.transactionId) + "_availablePayout"), (availablePayout + totalCost))] ++ createParkingSpotSlice(parkingSpotId, bookedEndTime, parkingSpotEndTime, (existingSlice + 1)))
7575 else if (if ((bookedEndTime == parkingSpotEndTime))
7676 then (bookedStartTime != parkingSpotStartTime)
7777 else false)
7878 then ([StringEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_renter"), renter), IntegerEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_startTime"), bookedStartTime), IntegerEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_endTime"), bookedEndTime), IntegerEntry((parkingSpotId + "_slice"), (existingSlice + 1)), IntegerEntry((toBase58String(i.transactionId) + "_availablePayout"), (availablePayout + totalCost))] ++ createParkingSpotSlice(parkingSpotId, parkingSpotStartTime, bookedStartTime, (existingSlice + 1)))
7979 else (([StringEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_renter"), renter), IntegerEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_startTime"), bookedStartTime), IntegerEntry((((parkingSpotId + "_slice_") + toString(desiredSlice)) + "_endTime"), bookedEndTime), IntegerEntry((parkingSpotId + "_slice"), (existingSlice + 2)), IntegerEntry((toBase58String(i.transactionId) + "_availablePayout"), (availablePayout + totalCost))] ++ createParkingSpotSlice(parkingSpotId, parkingSpotStartTime, bookedStartTime, (existingSlice + 1))) ++ createParkingSpotSlice(parkingSpotId, bookedEndTime, parkingSpotEndTime, (existingSlice + 2)))
8080 }
8181
8282
8383 @Verifier(tx)
8484 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
8585

github/deemru/w8io/026f985 
33.89 ms