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:
OldNewDifferences
1-{-# STDLIB_VERSION 3 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let lpKey = "lastPayment"
4+let midiId = base58'R8sQUmwwAENBL6B5ejGztDh3RzJ3MbKRqK7GtspFxKT'
55
6-let liKey = "bestFomoer"
6+let datum = lastBlock.timestamp
77
8-let lhKey = "height"
8+let amMidi = 0
99
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+ }
3619
3720
3821 @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")
4852 }
4953
5054

github/deemru/w8io/169f3d6 
57.49 ms