tx · kpqeGW1uyKk3fLep7azDVjNFiCcsYPusNhUP2odZXDm

3N1xRtmfYrHPVPazzLPAdzQsbjPCZsuboLu:  -0.01000000 Waves

2019.08.13 13:53 [629216] smart account 3N1xRtmfYrHPVPazzLPAdzQsbjPCZsuboLu > SELF 0.00000000 Waves

{ "type": 13, "id": "kpqeGW1uyKk3fLep7azDVjNFiCcsYPusNhUP2odZXDm", "fee": 1000000, "feeAssetId": null, "timestamp": 1565693674858, "version": 1, "sender": "3N1xRtmfYrHPVPazzLPAdzQsbjPCZsuboLu", "senderPublicKey": "ASGW7oENSusnjTTJ7YUgnfWgvz4DxRLWjWWcn7nVhaV5", "proofs": [ "4djbB4Wmc5gn2N7vjMMRrA6Wc5jp8JUN8DAHhYkaQLxTT45rpv5Y7ta9nU3v3EQQ7JtwGipS1TPhr7vJRybCMrmQ" ], "script": "base64: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AAAAAAAACAAAAAAAAAAAIAAAAAAAAAAAIAQAAAABcAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAthbW91bnRUb0J1eQkAAGkAAAACCAUAAAABcAAAAAZhbW91bnQFAAAABXByaWNlAwkAAAAAAAACCAUAAAABcAAAAAdhc3NldElkBQAAAAx3YXZlc0Fzc2V0SWQJAAACAAAAAQIAAAAWSW52YWxpZCBwYXltZW50IGFzc2V0LgMJAABnAAAAAgAAAAAAAAAAAAUAAAALYW1vdW50VG9CdXkJAAACAAAAAQIAAAAXSW52YWxpZCBwYXltZW50IGFtb3VudC4DCQEAAAACIT0AAAACCQAAaAAAAAIFAAAAC2Ftb3VudFRvQnV5BQAAAAVwcmljZQgFAAAAAXAAAAAGYW1vdW50CQAAAgAAAAECAAAAF0ludmFsaWQgcGF5bWVudCBhbW91bnQuAwkBAAAAAiE9AAAAAgkAAMgAAAABBQAAAARkYXRhCQAAZAAAAAIJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIAAAAAAAAAAAgAAAAAAAAAAAgAAAAAAAAAACAAAAAAAAAAACAAAAAAAAAAACAJAAACAAAAAQIAAAAaQWxyZWFkeSBzb2xkIG9yIGNhbmNlbGxlZC4DCQAAZgAAAAIFAAAAC2Ftb3VudFRvQnV5BQAAAAZhbW91bnQJAAACAAAAAQIAAAAaTm90IGVub3VnaCBpdGVtcyBpbiBzdG9jay4DAwkBAAAAAiE9AAAAAgUAAAAKcHJpY2VBc3NldAgFAAAAAXAAAAAHYXNzZXRJZAYJAQAAAAEhAAAAAQMJAAAAAAAAAgUAAAAKcHJpY2VBc3NldAUAAAAMd2F2ZXNBc3NldElkCQAAAAAAAAIIBQAAAAFwAAAAB2Fzc2V0SWQFAAAABHVuaXQHCQAAAgAAAAECAAAAFkludmFsaWQgcGF5bWVudCBhc3NldC4JAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAJpZAkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQABmgAAAAEFAAAABXByaWNlCQABmgAAAAEJAABlAAAAAgUAAAAGYW1vdW50BQAAAAthbW91bnRUb0J1eQUAAAAKcHJpY2VBc3NldAUAAAALYW1vdW50QXNzZXQFAAAABnNlbGxlcgUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAALYW1vdW50VG9CdXkFAAAAC2Ftb3VudEFzc2V0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAABnNlbGxlcgUAAAAFcHJpY2UFAAAACnByaWNlQXNzZXQFAAAAA25pbAAAAADnL9an", "chainId": 84, "height": 629216, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = base58'11111111111111111111111111111111'
5+
6+@Callable(b)
7+func sell (c,d) = {
8+ let e = extract(b.payment)
9+ if ((e.assetId == unit))
10+ then throw("You can't sell Waves.")
11+ else if ((0 >= e.amount))
12+ then throw("You can't nothing.")
13+ else WriteSet([DataEntry(toBase58String(b.transactionId), ((((toBytes(c) + toBytes(e.amount)) + d) + extract(extract(b.payment).assetId)) + b.callerPublicKey))])
14+ }
15+
16+
17+
18+@Callable(b)
19+func cancel (f) = {
20+ let g = extract(getBinary(this, f))
21+ let c = toInt(take(g, 8))
22+ let h = toInt(take(drop(g, 0), 8))
23+ let d = take(drop(g, (8 + 8)), 32)
24+ let i = take(drop(g, ((8 + 8) + 32)), 32)
25+ let j = drop(g, (((8 + 8) + 32) + 32))
26+ if ((j != b.callerPublicKey))
27+ then throw("Invalid user.")
28+ else ScriptResult(WriteSet([DataEntry(f, ((((toBytes(c) + toBytes(0)) + d) + i) + j))]), TransferSet([ScriptTransfer(addressFromPublicKey(j), h, i)]))
29+ }
30+
31+
32+
33+@Callable(b)
34+func buy (f) = {
35+ let g = extract(getBinary(this, f))
36+ let c = toInt(take(g, 8))
37+ let h = toInt(take(drop(g, 0), 8))
38+ let d = take(drop(g, (8 + 8)), 32)
39+ let i = take(drop(g, ((8 + 8) + 32)), 32)
40+ let j = drop(g, (((8 + 8) + 32) + 32))
41+ let e = extract(b.payment)
42+ let k = (e.amount / c)
43+ if ((e.assetId == a))
44+ then throw("Invalid payment asset.")
45+ else if ((0 >= k))
46+ then throw("Invalid payment amount.")
47+ else if (((k * c) != e.amount))
48+ then throw("Invalid payment amount.")
49+ else if ((size(g) != ((((8 + 8) + 32) + 32) + 32)))
50+ then throw("Already sold or cancelled.")
51+ else if ((k > h))
52+ then throw("Not enough items in stock.")
53+ else if (if ((d != e.assetId))
54+ then true
55+ else !(if ((d == a))
56+ then (e.assetId == unit)
57+ else false))
58+ then throw("Invalid payment asset.")
59+ else ScriptResult(WriteSet([DataEntry(f, ((((toBytes(c) + toBytes((h - k))) + d) + i) + j))]), TransferSet([ScriptTransfer(b.caller, k, i), ScriptTransfer(addressFromPublicKey(j), c, d)]))
60+ }
61+
62+

github/deemru/w8io/c3f4982 
25.05 ms