tx · 9sfw73oXgdBMo1qiM9kwd1ZLTiCarKyer48L3iNEnHuH 3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW: -0.01400000 Waves 2021.12.20 07:37 [1842116] smart account 3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW > SELF 0.00000000 Waves
{ "type": 13, "id": "9sfw73oXgdBMo1qiM9kwd1ZLTiCarKyer48L3iNEnHuH", "fee": 1400000, "feeAssetId": null, "timestamp": 1639975047303, "version": 2, "chainId": 84, "sender": "3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW", "senderPublicKey": "AXbaBkJNocyrVpwqTzD4TpUY8fQ6eeRto9k1m2bNCzXV", "proofs": [ "4Uz5L5DCs3REN7UPYtdToabqdZnQkDBoPcUnXhftep8YzYe3jqDXZ4hNrexuiyYaX3AkWzpoYhHSaFUSdpHPZ5pn" ], "script": "base64:AAIDAAAAAAAAAMgIARIAEgAaCgoBYRIFbHBLZXkaCgoBYhIFbGlLZXkaCgoBYxIFbGhLZXkaCAoBZBIDZGF5GgYKAWUSAWkaDAoBZhIHcGF5bWVudBoMCgFnEgckbWF0Y2gwGgYKAWgSAXAaDAoBaRIHJG1hdGNoMRoMCgFqEgdhc3NldElkGhAKAWsSC2xhc3RQYXltZW50GhIKAWwSDWNhbGxlckNvcnJlY3QaEgoBbRINaGVpZ2h0Q29ycmVjdBoQCgFuEgtjYW5XaXRoZHJhdwAAAAQAAAAAAWECAAAAC2xhc3RQYXltZW50AAAAAAFiAgAAAApiZXN0Rm9tb2VyAAAAAAFjAgAAAAZoZWlnaHQAAAAAAWQAAAAAAAAABaAAAAACAAAAAWUBAAAAC2ZlYXJtaXNzaW5nAAAAAAQAAAABZgQAAAABZwgFAAAAAWUAAAAHcGF5bWVudAMJAAABAAAAAgUAAAABZwIAAAAPQXR0YWNoZWRQYXltZW50BAAAAAFoBQAAAAFnBAAAAAFpCAUAAAABaAAAAAdhc3NldElkAwkAAAEAAAACBQAAAAFpAgAAAApCeXRlVmVjdG9yBAAAAAFqBQAAAAFpCQAAAgAAAAECAAAAD2ZvbW8gd2F2ZXMgb25seQgFAAAAAWgAAAAGYW1vdW50CQAAAgAAAAECAAAAGHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQAAAABawQAAAABZwkABBoAAAACBQAAAAR0aGlzAgAAAAtsYXN0UGF5bWVudAMJAAABAAAAAgUAAAABZwIAAAADSW50BAAAAAFoBQAAAAFnBQAAAAFoAAAAAAAAAAAAAwkAAGcAAAACBQAAAAFrBQAAAAFmCQAAAgAAAAEJAAEsAAAAAgIAAAAPbWluIHBheW1lbnQgaXMgCQABpAAAAAEFAAAAAWYJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAAWEFAAAAAWYJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAAWIICAUAAAABZQAAAAZjYWxsZXIAAAAFYnl0ZXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAAWMFAAAABmhlaWdodAUAAAADbmlsAAAAAWUBAAAACHdpdGhkcmF3AAAAAAQAAAABbAkAAAAAAAACCAgFAAAAAWUAAAAGY2FsbGVyAAAABWJ5dGVzCQEAAAAHZXh0cmFjdAAAAAEJAAQcAAAAAgUAAAAEdGhpcwUAAAABYgQAAAABbQkAAGcAAAACCQAAZQAAAAIJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzBQAAAAFjBQAAAAZoZWlnaHQFAAAAAWQEAAAAAW4DBQAAAAFtBQAAAAFsBwMFAAAAAW4JAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWUAAAAGY2FsbGVyCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEdGhpcwUAAAAEdW5pdAUAAAADbmlsCQAAAgAAAAECAAAABmJlaG9sZAAAAAAJUNA8", "height": 1842116, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C9dF3wWs4wdkGW8bwSYoJAdhSsYCUM7M7kykTLwh4x5g Next: 2JBBQZraFxkqSDz6pYS5QAVMNLYQUTx312234GVe5WSa Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let | |
4 | + | let lpKey = "lastPayment" | |
5 | 5 | ||
6 | - | let | |
6 | + | let liKey = "bestFomoer" | |
7 | 7 | ||
8 | - | let | |
8 | + | let lhKey = "height" | |
9 | 9 | ||
10 | - | let | |
10 | + | let day = 1440 | |
11 | 11 | ||
12 | - | func coordsToIndex (x,y) = ((x * COLS) + y) | |
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 | + | ||
13 | 36 | ||
14 | 37 | ||
15 | 38 | @Callable(i) | |
16 | - | func purchase (x,y) = { | |
17 | - | let assetName = makeString([x, y], ",") | |
18 | - | let assetUrl = makeString([nftDomain, "something", ".png"], "") | |
19 | - | let asset = Issue(assetName, assetUrl, 1, 0, false) | |
20 | - | let assetId = calculateAssetId(asset) | |
21 | - | let dataKeyPrefix = toBase64String(assetId) | |
22 | - | [StringEntry((dataKeyPrefix + "_name"), assetName), StringEntry((dataKeyPrefix + "_asset"), assetUrl), ScriptTransfer(i.caller, 1, assetId)] | |
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") | |
23 | 48 | } | |
24 | 49 | ||
25 | - | ||
26 | - | @Verifier(tx) | |
27 | - | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
28 | 50 |
github/deemru/w8io/873ac7e 18.27 ms ◑![]()