tx · 2Nqme25Yr4F2MmrW5dtBssQdcXofhoDQdsHCS5aEFtoy

3N1PPoNT4epUSgdGwx1eNePsZjeYp5RUAcj:  -0.01400000 Waves

2019.06.22 21:07 [553590] smart account 3N1PPoNT4epUSgdGwx1eNePsZjeYp5RUAcj > SELF 0.00000000 Waves

{ "type": 13, "id": "2Nqme25Yr4F2MmrW5dtBssQdcXofhoDQdsHCS5aEFtoy", "fee": 1400000, "feeAssetId": null, "timestamp": 1561226824705, "version": 1, "sender": "3N1PPoNT4epUSgdGwx1eNePsZjeYp5RUAcj", "senderPublicKey": "AomFdZHmK72gCbitdy7X2sUvNueScd3LhY9g2m7DJdo4", "proofs": [ "2L1zg5n2XEJFvt4GiB38sfC4iV7hzmRaWkDsJ8jexJykBm85g5ZUgDoSUdsDycgDFRqozmWPGhXwqK6rgBAH4RM" ], "script": "base64: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Y3Rpb25Mb3RBc3NldElkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAMX2xvdF9hc3NldElkBAAAABBhdWN0aW9uTG90QW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAALX2xvdF9hbW91bnQEAAAAE2F1Y3Rpb25QcmljZUFzc2V0SWQJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXVjdGlvbklkAgAAAA1fcHJpY2VBc3NldElkBAAAABBhdWN0aW9uV2luQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAKX3dpbkFtb3VudAQAAAAPYXVjdGlvbkxvdEFzc2V0AwkAAAAAAAACBQAAABFhdWN0aW9uTG90QXNzZXRJZAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAARYXVjdGlvbkxvdEFzc2V0SWQEAAAAEWF1Y3Rpb25QcmljZUFzc2V0AwMJAAAAAAAAAgUAAAATYXVjdGlvblByaWNlQXNzZXRJZAIAAAAFV0FWRVMGCQAAAAAAAAIFAAAAE2F1Y3Rpb25QcmljZUFzc2V0SWQCAAAAAAUAAAAEdW5pdAkAAlkAAAABBQAAABNhdWN0aW9uUHJpY2VBc3NldElkBAAAABFhdWN0aW9uV2lubmVyQWRkcgkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAAFdmFsdWUAAAABBQAAAA1hdWN0aW9uV2lubmVyBAAAABRhdWN0aW9uT3JnYW5pemVyQWRkcgkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABCQEAAAAFdmFsdWUAAAABBQAAABBhdWN0aW9uT3JnYW5pemVyBAAAAAliZXRBbW91bnQJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAACWF1Y3Rpb25JZAIAAAAIX2JpZGRlcl8FAAAAEGNhbGxl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", "chainId": 84, "height": 553590, "spentComplexity": 0 } View: original | compacted Prev: none Next: A3Q56WArTCQ5ySw86X9oFBwetu6TzVFrg8su9vrhHFzR Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = (1440 * 30)
5+
6+@Callable(b)
7+func startAuction (c,d,e) = {
8+ let f = toBase58String(b.transactionId)
9+ let g = (lastBlock.height + c)
10+ let h = extract(b.payment)
11+ if ((c > a))
12+ then throw(("Duration is too long. Must be less than " + toString(a)))
13+ else WriteSet([DataEntry(f, g), DataEntry((f + "_organizer"), toBase58String(b.caller.bytes)), DataEntry((f + "_lot_assetId"), if (isDefined(h.assetId))
14+ then toBase58String(value(h.assetId))
15+ else "WAVES"), DataEntry((f + "_lot_amount"), h.amount), DataEntry((f + "_startPrice"), d), DataEntry((f + "_priceAssetId"), e)])
16+ }
17+
18+
19+
20+@Callable(b)
21+func bid (f) = {
22+ let h = extract(b.payment)
23+ let i = if (isDefined(h.assetId))
24+ then toBase58String(value(h.assetId))
25+ else "WAVES"
26+ let j = toBase58String(b.caller.bytes)
27+ let g = getIntegerValue(this, f)
28+ let k = getStringValue(this, (f + "_priceAssetId"))
29+ let l = getInteger(this, (f + "_winAmount"))
30+ if ((lastBlock.height >= g))
31+ then throw("Auction already finished")
32+ else if ((k != i))
33+ then throw((("Bid must be in asset '" + k) + "'"))
34+ else if (if (isDefined(l))
35+ then (value(l) >= h.amount)
36+ else false)
37+ then throw(("Bid must be more then " + toString(h.amount)))
38+ else WriteSet([DataEntry(((f + "_bidder_") + j), h.amount), DataEntry((f + "_winner"), j), DataEntry((f + "_winAmount"), h.amount)])
39+ }
40+
41+
42+
43+@Callable(b)
44+func withdraw (f) = {
45+ let h = extract(b.payment)
46+ let i = if (isDefined(h.assetId))
47+ then toBase58String(value(h.assetId))
48+ else "WAVES"
49+ let j = toBase58String(b.caller.bytes)
50+ let g = getIntegerValue(this, f)
51+ let m = getStringValue(this, (f + "_organizer"))
52+ let n = getString(this, (f + "_winner"))
53+ let o = getStringValue(this, (f + "_lot_assetId"))
54+ let p = getIntegerValue(this, (f + "_lot_amount"))
55+ let k = getStringValue(this, (f + "_priceAssetId"))
56+ let l = getIntegerValue(this, (f + "_winAmount"))
57+ let q = if ((o == "WAVES"))
58+ then unit
59+ else fromBase58String(o)
60+ let r = if (if ((k == "WAVES"))
61+ then true
62+ else (k == ""))
63+ then unit
64+ else fromBase58String(k)
65+ let s = addressFromStringValue(value(n))
66+ let t = addressFromStringValue(value(m))
67+ let u = getInteger(this, ((f + "_bidder_") + j))
68+ if ((g > lastBlock.height))
69+ then throw("Auction is not finished yet")
70+ else if (!(isDefined(n)))
71+ then if ((j == m))
72+ then if (!(isDefined(getBoolean(this, (f + "_lot_passed")))))
73+ then throw("You have already got your lot back")
74+ else ScriptResult(WriteSet([DataEntry((f + "_lot_passed"), true)]), TransferSet([ScriptTransfer(b.caller, p, q)]))
75+ else throw("You haven't participate in this auction")
76+ else if (if ((j == m))
77+ then true
78+ else (j == n))
79+ then if (isDefined(getBoolean(this, (f + "_lot_passed"))))
80+ then throw("Lot is already passed to the winner, and organizer got his reward")
81+ else ScriptResult(WriteSet([DataEntry((f + "_lot_passed"), true)]), TransferSet([ScriptTransfer(s, p, q), ScriptTransfer(t, l, r)]))
82+ else if (!(isDefined(u)))
83+ then throw("You didn't bid anything")
84+ else if (isDefined(getBoolean(this, (((f + "_bidder_") + j) + "_return"))))
85+ then throw("You have already got your bid back")
86+ else ScriptResult(WriteSet([DataEntry((((f + "_bidder_") + j) + "_return"), true)]), TransferSet([ScriptTransfer(b.caller, value(u), r)]))
87+ }
88+
89+

github/deemru/w8io/03bedc9 
19.19 ms