tx · 6d4aTJouxAF2jGMAJHyfAZLc7wCnqzggNBKrKxR8N4N3
3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH: -0.01400000 Waves
2021.05.17 19:21 [1529913] smart account 3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH > SELF 0.00000000 Waves
{
"type": 13,
"id": "6d4aTJouxAF2jGMAJHyfAZLc7wCnqzggNBKrKxR8N4N3",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1621268503003,
"version": 2,
"chainId": 84,
"sender": "3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH",
"senderPublicKey": "6it1s6XyHkFTbzgCJPXSeHjyLYixDHy6hJgzzfbntDGB",
"proofs": [
"34wTHmV4RiGFNV9316GsCdRGus174SUM1FzFTfkLEeyRFeUv3kG2KsBteBGDeRBaeacVXbFFsYD7miKf1zUB13Xx"
],
"script": "base64:AAIDAAAAAAAAAAYIARIAEgAAAAAEAAAAAAVscEtleQIAAAALbGFzdFBheW1lbnQAAAAABWxpS2V5AgAAAApiZXN0Rm9tb2VyAAAAAAVsaEtleQIAAAAGaGVpZ2h0AAAAAANkYXkAAAAAAAAABaAAAAACAAAAAWkBAAAAC2ZlYXJtaXNzaW5nAAAAAAQAAAAHcGF5bWVudAQAAAAHJG1hdGNoMAgFAAAAAWkAAAAHcGF5bWVudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQXR0YWNoZWRQYXltZW50BAAAAAFwBQAAAAckbWF0Y2gwBAAAAAckbWF0Y2gxCAUAAAABcAAAAAdhc3NldElkAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAApCeXRlVmVjdG9yBAAAAAdhc3NldElkBQAAAAckbWF0Y2gxCQAAAgAAAAECAAAAD2ZvbW8gd2F2ZXMgb25seQgFAAAAAXAAAAAGYW1vdW50CQAAAgAAAAECAAAAGHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQAAAALbGFzdFBheW1lbnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAALbGFzdFBheW1lbnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABcAUAAAAHJG1hdGNoMAUAAAABcAAAAAAAAAAAAAMJAABnAAAAAgUAAAALbGFzdFBheW1lbnQFAAAAB3BheW1lbnQJAAACAAAAAQkAASwAAAACAgAAAA9taW4gcGF5bWVudCBpcyAJAAGkAAAAAQUAAAAHcGF5bWVudAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAFbHBLZXkFAAAAB3BheW1lbnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABWxpS2V5CAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAVsaEtleQUAAAAGaGVpZ2h0BQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAAABAAAAA1jYWxsZXJDb3JyZWN0CQAAAAAAAAIICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMJAQAAAAdleHRyYWN0AAAAAQkABBwAAAACBQAAAAR0aGlzBQAAAAVsaUtleQQAAAANaGVpZ2h0Q29ycmVjdAkAAGcAAAACCQAAZQAAAAIJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAAVsaEtleQUAAAAGaGVpZ2h0BQAAAANkYXkEAAAAC2NhbldpdGhkcmF3AwUAAAANaGVpZ2h0Q29ycmVjdAUAAAANY2FsbGVyQ29ycmVjdAcDBQAAAAtjYW5XaXRoZHJhdwkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzBQAAAAR1bml0BQAAAANuaWwJAAACAAAAAQIAAAAGYmVob2xkAAAAACSiqig=",
"height": 1529913,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 7y8oygm4SyCDPPX3mt1SmbA2fMejRyx3cQE2dGr991tR
Next: J31SvotDRjyYKZbrwRogRAJzoTGm35uh7eSR3r2R8NNo
Full:
Old | New | | Differences |
---|
1 | | - | {-# STDLIB_VERSION 4 #-} |
---|
| 1 | + | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | let midiId = base58'R8sQUmwwAENBL6B5ejGztDh3RzJ3MbKRqK7GtspFxKT' |
---|
| 4 | + | let lpKey = "lastPayment" |
---|
5 | 5 | | |
---|
6 | | - | let date = lastBlock.timestamp |
---|
| 6 | + | let liKey = "bestFomoer" |
---|
7 | 7 | | |
---|
8 | | - | let amMidi = 0 |
---|
| 8 | + | let lhKey = "height" |
---|
9 | 9 | | |
---|
10 | | - | func isPaymentOk (i) = if ((size(i.payments) == 0)) |
---|
11 | | - | then throw("Payment not attached") |
---|
12 | | - | else { |
---|
13 | | - | let p = i.payments[0] |
---|
14 | | - | match p.assetId { |
---|
15 | | - | case _ => |
---|
16 | | - | (30000000000000 >= p.amount) |
---|
17 | | - | } |
---|
18 | | - | } |
---|
| 10 | + | let day = 1440 |
---|
| 11 | + | |
---|
| 12 | + | @Callable(i) |
---|
| 13 | + | func fearmissing () = { |
---|
| 14 | + | let payment = match i.payment { |
---|
| 15 | + | case p: AttachedPayment => |
---|
| 16 | + | match p.assetId { |
---|
| 17 | + | case assetId: ByteVector => |
---|
| 18 | + | throw("fomo waves only") |
---|
| 19 | + | case _ => |
---|
| 20 | + | p.amount |
---|
| 21 | + | } |
---|
| 22 | + | case _ => |
---|
| 23 | + | throw("payment must be attached") |
---|
| 24 | + | } |
---|
| 25 | + | let lastPayment = match getInteger(this, "lastPayment") { |
---|
| 26 | + | case p: Int => |
---|
| 27 | + | p |
---|
| 28 | + | case _ => |
---|
| 29 | + | 0 |
---|
| 30 | + | } |
---|
| 31 | + | if ((lastPayment >= payment)) |
---|
| 32 | + | then throw(("min payment is " + toString(payment))) |
---|
| 33 | + | else WriteSet([DataEntry(lpKey, payment), DataEntry(liKey, i.caller.bytes), DataEntry(lhKey, height)]) |
---|
| 34 | + | } |
---|
| 35 | + | |
---|
19 | 36 | | |
---|
20 | 37 | | |
---|
21 | 38 | | @Callable(i) |
---|
22 | | - | func buymidi (what) = if (isPaymentOk(i)) |
---|
23 | | - | then { |
---|
24 | | - | let pp = i.payments[0] |
---|
25 | | - | let amnt = pp.amount |
---|
26 | | - | let elAmount = ((amnt / 100000) * 6000) |
---|
27 | | - | [ScriptTransfer(i.caller, elAmount, midiId)] |
---|
28 | | - | } |
---|
29 | | - | else throw("Wrong payment amount or asset") |
---|
| 39 | + | func withdraw () = { |
---|
| 40 | + | let callerCorrect = (i.caller.bytes == extract(getBinary(this, liKey))) |
---|
| 41 | + | let heightCorrect = ((extract(getInteger(this, lhKey)) - height) >= day) |
---|
| 42 | + | let canWithdraw = if (heightCorrect) |
---|
| 43 | + | then callerCorrect |
---|
| 44 | + | else false |
---|
| 45 | + | if (canWithdraw) |
---|
| 46 | + | then TransferSet([ScriptTransfer(i.caller, wavesBalance(this), unit)]) |
---|
| 47 | + | else throw("behold") |
---|
| 48 | + | } |
---|
30 | 49 | | |
---|
31 | 50 | | |
---|