tx · 2JBBQZraFxkqSDz6pYS5QAVMNLYQUTx312234GVe5WSa 3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW: -0.01400000 Waves 2021.12.20 07:38 [1842117] smart account 3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW > SELF 0.00000000 Waves
{ "type": 13, "id": "2JBBQZraFxkqSDz6pYS5QAVMNLYQUTx312234GVe5WSa", "fee": 1400000, "feeAssetId": null, "timestamp": 1639975189476, "version": 2, "chainId": 84, "sender": "3MsX9C2MzzxE4ySF5aYcJoaiPfkyxZMg4cW", "senderPublicKey": "AXbaBkJNocyrVpwqTzD4TpUY8fQ6eeRto9k1m2bNCzXV", "proofs": [ "bMzZhgDiezc2mcKreRnE9Cfh2xshkLJnTMkjYxWCZjp7o5eqxTYGAWknCZ8zYZB5pZmQ5C4h9PiXYnTPgyQcfCE" ], "script": "base64:AAIFAAAAAAAAAMkIAhIECgIICBoJCgFhEgRDT0xTGgkKAWISBFJPV1MaCgoBYxIFcHJvb2YaDgoBZBIJbmZ0RG9tYWluGhIKAWUSDWNvb3Jkc1RvSW5kZXgaBgoBZhIBeBoGCgFnEgF5GgYKAWgSAWkaDgoBaRIJYXNzZXROYW1lGg0KAWoSCGFzc2V0VXJsGgoKAWsSBWFzc2V0GgwKAWwSB2Fzc2V0SWQaEgoBbRINZGF0YUtleVByZWZpeBoHCgFuEgJ0eBoLCgFvEgZ2ZXJpZnkAAAAFAAAAAAFhAAAAAAAAAAPoAAAAAAFiAAAAAAAAAAPoAAAAAAFjAgAAAFg0UHlaUUNRWmt6dXdDZE5BdFo3WGVFZ3F6NHM0dkJ0cjdVU0pLV2RleldYQ0JxOUFuVVNiZVVvQjJqY0hHZTZnUmVHRVRkSll6OUhTZ0FrcmRSTk5pOWV2AAAAAAFkAgAAABpodHRwczovL25mdC5yZWJlbHBpeGVsLmNhLwEAAAABZQAAAAIAAAABZgAAAAFnCQAAZAAAAAIJAABoAAAAAgUAAAABZgUAAAABYQUAAAABZwAAAAEAAAABaAEAAAAIcHVyY2hhc2UAAAACAAAAAWYAAAABZwQAAAABaQkABLkAAAACCQAETAAAAAIFAAAAAWYJAARMAAAAAgUAAAABZwUAAAADbmlsAgAAAAEsBAAAAAFqCQAEuQAAAAIJAARMAAAAAgUAAAABZAkABEwAAAACAgAAAAlzb21ldGhpbmcJAARMAAAAAgIAAAAELnBuZwUAAAADbmlsAgAAAAAEAAAAAWsJAARCAAAABQUAAAABaQUAAAABagAAAAAAAAAAAQAAAAAAAAAAAAcEAAAAAWwJAAQ4AAAAAQUAAAABawQAAAABbQkAAloAAAABBQAAAAFsCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAABbQIAAAAFX25hbWUFAAAAAWkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAFtAgAAAAZfYXNzZXQFAAAAAWoJAARMAAAAAgkBAAAAC0JpbmFyeUVudHJ5AAAAAgIAAAACaWQFAAAAAWwFAAAAA25pbAAAAAEAAAABbgEAAAABbwAAAAAJAAH0AAAAAwgFAAAAAW4AAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAFuAAAABnByb29mcwAAAAAAAAAAAAgFAAAAAW4AAAAPc2VuZGVyUHVibGljS2V5/hF1TA==", "height": 1842117, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9sfw73oXgdBMo1qiM9kwd1ZLTiCarKyer48L3iNEnHuH Next: 8h6udT2UeQTbiCkF4qP7jKg68jEieBmYe7r8ioutTw92 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let | |
4 | + | let COLS = 1000 | |
5 | 5 | ||
6 | - | let | |
6 | + | let ROWS = 1000 | |
7 | 7 | ||
8 | - | let | |
8 | + | let proof = "4PyZQCQZkzuwCdNAtZ7XeEgqz4s4vBtr7USJKWdezWXCBq9AnUSbeUoB2jcHGe6gReGETdJYz9HSgAkrdRNNi9ev" | |
9 | 9 | ||
10 | - | let day = 1440 | |
10 | + | let nftDomain = "https://nft.rebelpixel.ca/" | |
11 | + | ||
12 | + | func coordsToIndex (x,y) = ((x * COLS) + y) | |
13 | + | ||
11 | 14 | ||
12 | 15 | @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)]) | |
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), BinaryEntry("id", assetId)] | |
34 | 23 | } | |
35 | 24 | ||
36 | 25 | ||
37 | - | ||
38 | - | @Callable(i) | |
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 | - | } | |
49 | - | ||
26 | + | @Verifier(tx) | |
27 | + | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
50 | 28 |
github/deemru/w8io/873ac7e 30.09 ms ◑![]()