tx · 32bGMyh6btapbAUA1FeQPzu4KqsZgr81Xwa1Co9M3Kke

3Mv4H5twpgbPnLpYvSYtiwbf3ky1C9c4pw5:  -0.01400000 Waves

2019.09.08 09:57 [666779] smart account 3Mv4H5twpgbPnLpYvSYtiwbf3ky1C9c4pw5 > SELF 0.00000000 Waves

{ "type": 13, "id": "32bGMyh6btapbAUA1FeQPzu4KqsZgr81Xwa1Co9M3Kke", "fee": 1400000, "feeAssetId": null, "timestamp": 1567925819555, "version": 1, "sender": "3Mv4H5twpgbPnLpYvSYtiwbf3ky1C9c4pw5", "senderPublicKey": "75PRzdQQhQEXWVqPWuMDCNUu45GYvXBFpdMNXyGbb1dR", "proofs": [ "47WekLiGBDhoagcMMv1ZzcxirHZZxqD77eGPBdkC3SG7Aq18ETDmSXTrz3o1CaTP9H5phRaJxsVRDKp7gpZumjWp" ], "script": "base64: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", "chainId": 84, "height": 666779, "spentComplexity": 0 } View: original | compacted Prev: J3d5hFjB7xFpqnc82Sb3dUkHnHABHhYWrCwQ5DqL7bCa Next: 9JWgcizDBnrYncy83gUMeAuVDH7WHrMAwBw744L7bNdG Diff:
OldNewDifferences
2424
2525
2626 @Callable(j)
27-func init () = if (if ((j.caller == this))
27+func init () = if (if ((Address(j.caller.bytes) == this))
2828 then !(isDefined(getInteger(this, "pricePerMinute")))
2929 else false)
3030 then WriteSet([DataEntry("pricePerMinute", 10000000), DataEntry("user", ""), DataEntry("timestart", ""), DataEntry("deposit", 0), DataEntry("withDrawAddress", "")])
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a () = {
55 let b = getStringValue(this, "user")
66 (b != "")
77 }
88
99
1010 func c () = {
1111 let d = getIntegerValue(this, "deposit")
1212 let e = getIntegerValue(this, "pricePerMinute")
1313 let f = getIntegerValue(this, "MinimumTime")
1414 ((d / e) > f)
1515 }
1616
1717
1818 func g (h) = {
1919 let i = getIntegerValue(this, "timestart")
2020 let e = getIntegerValue(this, "pricePerMinute")
2121 let d = getIntegerValue(this, "deposit")
2222 ((h - i) > (d / e))
2323 }
2424
2525
2626 @Callable(j)
27-func init () = if (if ((j.caller == this))
27+func init () = if (if ((Address(j.caller.bytes) == this))
2828 then !(isDefined(getInteger(this, "pricePerMinute")))
2929 else false)
3030 then WriteSet([DataEntry("pricePerMinute", 10000000), DataEntry("user", ""), DataEntry("timestart", ""), DataEntry("deposit", 0), DataEntry("withDrawAddress", "")])
3131 else throw("contract is already inited")
3232
3333
3434
3535 @Callable(j)
3636 func activate (d,k) = if (a())
3737 then throw("The scooter is already activated")
3838 else if (!(c()))
3939 then throw("Your deposit should be for 30 minutes minimum")
4040 else WriteSet([DataEntry("deposit", d), DataEntry("user", k), DataEntry("timestart", lastBlock.timestamp)])
4141
4242
4343
4444 @Callable(j)
4545 func payAndStop (l) = {
4646 let m = addressFromPublicKey(toBytes(getStringValue(this, "user")))
4747 let n = getStringValue(this, "withdrawal")
4848 let d = getIntegerValue(this, "deposit")
4949 let o = (d - l)
5050 if ((j.caller == m))
5151 then TransferSet([ScriptTransfer(m, o, unit), ScriptTransfer(Address(toBytes(n)), l, unit)])
5252 else throw("not the adress of the renter")
5353 }
5454
5555
5656
5757 @Callable(j)
5858 func withdraw () = if (if (g(lastBlock.timestamp))
5959 then (this == j.caller)
6060 else false)
6161 then {
6262 let d = getIntegerValue(this, "deposit")
6363 ScriptResult(WriteSet([DataEntry("deposit", 0), DataEntry("user", ""), DataEntry("timestart", "")]), TransferSet([ScriptTransfer(Address(toBytes(getStringValue(this, "withDrawalAddress"))), d, unit)]))
6464 }
6565 else throw("withdraw rejected because timelock is still active")
6666
6767
6868 @Verifier(p)
6969 func q () = true
7070

github/deemru/w8io/169f3d6 
44.48 ms