tx · J31SvotDRjyYKZbrwRogRAJzoTGm35uh7eSR3r2R8NNo 3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH: -0.01400000 Waves 2021.05.17 19:38 [1529928] smart account 3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH > SELF 0.00000000 Waves
{ "type": 13, "id": "J31SvotDRjyYKZbrwRogRAJzoTGm35uh7eSR3r2R8NNo", "fee": 1400000, "feeAssetId": null, "timestamp": 1621269518624, "version": 2, "chainId": 84, "sender": "3MpRDrT92zK6yWJh47UdA8mRDH7f2F3CSzH", "senderPublicKey": "6it1s6XyHkFTbzgCJPXSeHjyLYixDHy6hJgzzfbntDGB", "proofs": [ "2rfkpkmPxjbXv3g5JCpnYdvfwzUdfsvCKZGLVZG1ndfCs39LVzLweLYVanFbGBQGHEnnFi5pVKukNoLTrc1aV4gM" ], "script": "base64:AAIEAAAAAAAAAAcIAhIDCgEIAAAABAAAAAAGbWlkaUlkAQAAACAGLtZERQwp0mc9GkII6TL8MrO9FCVbUZ4Q1IdRUGKaigAAAAAFZGF0dW0IBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAAAAAAZhbU1pZGkAAAAAAAAAAAABAAAAC2lzUGF5bWVudE9rAAAAAQAAAAFpAwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAFFBheW1lbnQgbm90IGF0dGFjaGVkBAAAAAFwCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAckbWF0Y2gwCAUAAAABcAAAAAdhc3NldElkCQAAZwAAAAIAAAAbSOtX4AAIBQAAAAFwAAAABmFtb3VudAAAAAEAAAABaQEAAAAHYnV5bWlkaQAAAAEAAAAEd2hhdAQAAAAEY29lZgMJAABmAAAAAgAAAAF5m6vUAAUAAAAFZGF0dW0AAAAAAAAA6mADCQAAZgAAAAIAAAABease6AAFAAAABWRhdHVtAAAAAAAAAHUwAwkAAGYAAAACAAAAAXm6kfwABQAAAAVkYXR1bQAAAAAAAABpeAMJAABmAAAAAgAAAAF5ygUQAAUAAAAFZGF0dW0AAAAAAAAAXcADCQAAZgAAAAIAAAABedl4JAAFAAAABWRhdHVtAAAAAAAAAFIIAwkAAGYAAAACAAAAAXno6zgABQAAAAVkYXR1bQAAAAAAAABGUAMJAABmAAAAAgAAAAF5+F5MAAUAAAAFZGF0dW0AAAAAAAAAOpgDCQAAZgAAAAIAAAABegfRYAAFAAAABWRhdHVtAAAAAAAAAC7gAwkAAGYAAAACAAAAAXomt4gABQAAAAVkYXR1bQAAAAAAAAAjKAMJAABmAAAAAgAAAAF6NiqcAAUAAAAFZGF0dW0AAAAAAAAAF3AJAAACAAAAAQIAAAAPU29ycnkgSUNPIGVuZGVkAwkBAAAAC2lzUGF5bWVudE9rAAAAAQUAAAABaQQAAAACcHAJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAABGFtbnQIBQAAAAJwcAAAAAZhbW91bnQEAAAACGVsQW1vdW50CQAAaAAAAAIJAABpAAAAAgUAAAAEYW1udAAAAAAABfXhAAkAAGgAAAACBQAAAARjb2VmAAAAAAAAACcQCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAIZWxBbW91bnQFAAAABm1pZGlJZAUAAAADbmlsCQAAAgAAAAECAAAAHVdyb25nIHBheW1lbnQgYW1vdW50IG9yIGFzc2V0AAAAAH0H4U4=", "height": 1529928, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6d4aTJouxAF2jGMAJHyfAZLc7wCnqzggNBKrKxR8N4N3 Next: GicYCky62vVn2d5DVWPsS7Vpv9RY5kWDWFBXojgcbKYW Full:
Old | New | Differences | |
---|---|---|---|
1 | - | {-# STDLIB_VERSION | |
1 | + | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let | |
4 | + | let midiId = base58'R8sQUmwwAENBL6B5ejGztDh3RzJ3MbKRqK7GtspFxKT' | |
5 | 5 | ||
6 | - | let | |
6 | + | let datum = lastBlock.timestamp | |
7 | 7 | ||
8 | - | let | |
8 | + | let amMidi = 0 | |
9 | 9 | ||
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 | - | ||
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 | + | } | |
36 | 19 | ||
37 | 20 | ||
38 | 21 | @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") | |
22 | + | func buymidi (what) = { | |
23 | + | let coef = if ((1621814400000 > datum)) | |
24 | + | then 60000 | |
25 | + | else if ((1622073600000 > datum)) | |
26 | + | then 30000 | |
27 | + | else if ((1622332800000 > datum)) | |
28 | + | then 27000 | |
29 | + | else if ((1622592000000 > datum)) | |
30 | + | then 24000 | |
31 | + | else if ((1622851200000 > datum)) | |
32 | + | then 21000 | |
33 | + | else if ((1623110400000 > datum)) | |
34 | + | then 18000 | |
35 | + | else if ((1623369600000 > datum)) | |
36 | + | then 15000 | |
37 | + | else if ((1623628800000 > datum)) | |
38 | + | then 12000 | |
39 | + | else if ((1624147200000 > datum)) | |
40 | + | then 9000 | |
41 | + | else if ((1624406400000 > datum)) | |
42 | + | then 6000 | |
43 | + | else throw("Sorry ICO ended") | |
44 | + | if (isPaymentOk(i)) | |
45 | + | then { | |
46 | + | let pp = i.payments[0] | |
47 | + | let amnt = pp.amount | |
48 | + | let elAmount = ((amnt / 100000000) * (coef * 10000)) | |
49 | + | [ScriptTransfer(i.caller, elAmount, midiId)] | |
50 | + | } | |
51 | + | else throw("Wrong payment amount or asset") | |
48 | 52 | } | |
49 | 53 | ||
50 | 54 |
github/deemru/w8io/169f3d6 57.49 ms ◑![]()