tx · 6cEvwuowyNt3nsaNx45XuaK1Pufubw3EcuJG3j3GLfvx

3MvjiKJg6BcgMQMUSuhESsVYFVBrbEat6Xe:  -0.01400000 Waves

2021.09.27 13:04 [1721221] smart account 3MvjiKJg6BcgMQMUSuhESsVYFVBrbEat6Xe > SELF 0.00000000 Waves

{ "type": 13, "id": "6cEvwuowyNt3nsaNx45XuaK1Pufubw3EcuJG3j3GLfvx", "fee": 1400000, "feeAssetId": null, "timestamp": 1632737060114, "version": 2, "chainId": 84, "sender": "3MvjiKJg6BcgMQMUSuhESsVYFVBrbEat6Xe", "senderPublicKey": "2NcGR7pmqBkzy6Qq9DnoKAPwdeqKRR1bQT7DsRK3oDd7", "proofs": [ "5SHwzU1hpfBHafZ1qdHB7xu7UMMGHgW1sqyZHwEpEbMsHt3Frf9tembYU8EeCJ1SisgZWrnyddgfz4e55NjMB9jD" ], "script": "base64:AAIFAAAAAAAAAXwIAhIDCgEBEgMKAQgSAwoBCBoRCgJhMRILbWludEFkZHJlc3MaEAoCYTISCmZlZUFkZHJlc3MaEAoCYTMSCmZlZVBlcmNlbnQaGAoCYTQSEm1pc3NpbmdBdWN0aW9uVGV4dBoUCgJhNRIOYXVjdGlvbkRhdGFLZXkaDwoCYTYSCWF1Y3Rpb25JZBoJCgJhNxIDa2V5GhYKAmE4EhBnZXRBdWN0aW9uU3RyaW5nGhcKAmE5EhFnZXRBdWN0aW9uSW50ZWdlchoHCgJiMRIBaRoLCgJiMhIFcHJpY2UaCQoCYjMSA3BtdBoNCgJiNBIHYXNzZXRJZBoLCgJiNRIFYXNzZXQaDQoCYjYSByRtYXRjaDAaBwoCYjcSAWEaEgoCYjgSDGF1Y3Rpb25Pd25lchoMCgJiORIGYW1vdW50GhMKAmMxEg1hdWN0aW9uU3RhdHVzGhEKAmMyEgtyZWNvcmRQcmljZRoICgJjMxICdHgaDAoCYzQSBnZlcmlmeQAAAAcAAAAAAmExAQAAABoBVNCC9GQP0Zch3P3Gi2s5DrAYwpPDaVlKRQAAAAACYTIBAAAAGgFUa3ZEE+1W3rTf7NBHb4Jo6uBLn4SnHnOfAAAAAAJhMwAAAAAAAAAABQAAAAACYTQCAAAAIVRoZXJlIGlzIG5vIGF1Y3Rpb24gd2l0aCBnaXZlbiBpZAEAAAACYTUAAAACAAAAAmE2AAAAAmE3CQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhdWN0aW9uXwUAAAACYTYCAAAAAV8FAAAAAmE3AQAAAAJhOAAAAAIAAAACYTYAAAACYTcJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCIAAAABCQEAAAACYTUAAAACBQAAAAJhNgUAAAACYTcFAAAAAmE0AQAAAAJhOQAAAAIAAAACYTYAAAACYTcJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB8AAAABCQEAAAACYTUAAAACBQAAAAJhNgUAAAACYTcFAAAAAmE0AAAAAwAAAAJiMQEAAAALaW5pdEF1Y3Rpb24AAAABAAAAAmIyBAAAAAJhNgkAAlgAAAABCAUAAAACYjEAAAANdHJhbnNhY3Rpb25JZAQAAAACYjMJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAmIxAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAJiNAkBAAAABXZhbHVlAAAAAQgFAAAAAmIzAAAAB2Fzc2V0SWQEAAAAAmI1BAAAAAJiNgkAA+wAAAABBQAAAAJiNAMJAAABAAAAAgUAAAACYjYCAAAABUFzc2V0BAAAAAJiNwUAAAACYjYFAAAAAmI3CQAAAgAAAAECAAAAE0Fzc2V0IGRvZXNuJ3QgZXhpc3QDCQEAAAACIT0AAAACCAgFAAAAAmI1AAAABmlzc3VlcgAAAAVieXRlcwUAAAACYTEJAAACAAAAAQIAAAAdWW91IGNhbiBvbmx5IHNlbGwgYW4gTkZULWNhcmQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAmE1AAAAAgUAAAACYTYCAAAABnN0YXR1cwIAAAAEb3BlbgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYXVjdGlvbl8JAAJYAAAAAQUAAAACYjQCAAAABV9sYXN0BQAAAAJhNgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYTUAAAACBQAAAAJhNgIAAAAHYXNzZXRJZAkAAlgAAAABBQAAAAJiNAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAmE1AAAAAgUAAAACYTYCAAAACXN0YXJ0ZWRBdAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAAmE1AAAAAgUAAAACYTYCAAAABW93bmVyCQAEJQAAAAEIBQAAAAJiMQAAAAZjYWxsZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAJhNQAAAAIFAAAAAmE2AgAAAAVwcmljZQUAAAACYjIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwkABCUAAAABCAUAAAACYjEAAAAGY2FsbGVyAgAAAAlfYXVjdGlvbl8FAAAAAmE2AgAAAApfbG9ja2VkTkZUCQACWAAAAAEFAAAAAmI0BQAAAANuaWwAAAACYjEBAAAADWNhbmNlbEF1Y3Rpb24AAAABAAAAAmE2BAAAAAJiOAkBAAAAAmE4AAAAAgUAAAACYTYCAAAABW93bmVyAwkBAAAAAiE9AAAAAgkABCUAAAABCAUAAAACYjEAAAAGY2FsbGVyBQAAAAJiOAkAAAIAAAABAgAAAB1Pbmx5IGFsbG93ZWQgdG8gYXVjdGlvbiBvd25lcgMJAQAAAAIhPQAAAAIJAQAAAAJhOAAAAAIFAAAAAmE2AgAAAAZzdGF0dXMCAAAABG9wZW4JAAACAAAAAQIAAAAQQXVjdGlvbiBpcyBjbG9zZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYTUAAAACBQAAAAJhNgIAAAAGc3RhdHVzAgAAAAljYW5jZWxsZWQJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAACYjgCAAAACV9hdWN0aW9uXwUAAAACYTYCAAAACl9sb2NrZWRORlQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAmIxAAAABmNhbGxlcgAAAAAAAAAAAQkAAlkAAAABCQEAAAACYTgAAAACBQAAAAJhNgIAAAAHYXNzZXRJZAUAAAADbmlsAAAAAmIxAQAAAANidXkAAAABAAAAAmE2BAAAAAJiMwkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAACYjEAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAAAmI5CAUAAAACYjMAAAAGYW1vdW50BAAAAAJiNAkBAAAAAmE4AAAAAgUAAAACYTYCAAAAB2Fzc2V0SWQEAAAAAmMxCQEAAAACYTgAAAACBQAAAAJhNgIAAAAGc3RhdHVzBAAAAAJiMgkBAAAAAmE5AAAAAgUAAAACYTYCAAAABXByaWNlBAAAAAJiOAkBAAAAAmE4AAAAAgUAAAACYTYCAAAABW93bmVyBAAAAAJjMgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB8AAAABCQABLAAAAAIFAAAAAmI0AgAAAAxfcmVjb3JkUHJpY2UAAAAAAAAAAAADCQEAAAACIT0AAAACCAUAAAACYjMAAAAHYXNzZXRJZAUAAAAEdW5pdAkAAAIAAAABAgAAAClBdWN0aW9uIGRvZXMgb25seSBzdXBwb3J0IFdBVkVTIHBheW1lbnRzLgMJAQAAAAIhPQAAAAIFAAAAAmMxAgAAAARvcGVuCQAAAgAAAAECAAAAKkF1Y3Rpb24gaXMgY2xvc2VkLiBZb3UgY2Fubm90IHBsYWNlIGEgYmlkLgMJAABmAAAAAgUAAAACYjIFAAAAAmI5CQAAAgAAAAEJAAEsAAAAAgIAAAAuRm9yIGluc3RhbnQgcHVyY2hhc2UgeW91IG5lZWQgdG8gcGF5IGF0IGxlYXN0IAkAAaQAAAABBQAAAAJiMgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAACYTUAAAACBQAAAAJhNgIAAAAGc3RhdHVzAgAAAAhmaW5pc2hlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAAmE1AAAAAgUAAAACYTYCAAAACmZpbmFsUHJpY2UFAAAAAmI5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAAAmI0AgAAAAxfcmVjb3JkUHJpY2UJAAGWAAAAAQkABEwAAAACBQAAAAJjMgkABEwAAAACBQAAAAJiOQUAAAADbmlsCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAAmI4AgAAAAlfYXVjdGlvbl8FAAAAAmE2AgAAAApfbG9ja2VkTkZUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAJiMQAAAAZjYWxsZXIAAAAAAAAAAAEJAAJZAAAAAQkBAAAAAmE4AAAAAgUAAAACYTYCAAAAB2Fzc2V0SWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAACYjgJAABrAAAAAwUAAAACYjkJAABlAAAAAgAAAAAAAAAAZAUAAAACYTMAAAAAAAAAAGQFAAAABHVuaXQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAB0FkZHJlc3MAAAABBQAAAAJhMgkAAGsAAAADBQAAAAJiOQUAAAACYTMAAAAAAAAAAGQFAAAABHVuaXQFAAAAA25pbAAAAAEAAAACYzMBAAAAAmM0AAAAAAkAAfQAAAADCAUAAAACYzMAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJjMwAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJjMwAAAA9zZW5kZXJQdWJsaWNLZXn0OyS2", "height": 1721221, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GwhiqjsTZNseFmU5NBKFkRobtvYRJ7aULmE94iJPYRfa Next: none Diff:
OldNewDifferences
6666 then throw("Auction is closed. You cannot place a bid.")
6767 else if ((k > r))
6868 then throw(("For instant purchase you need to pay at least " + toString(k)))
69- else [StringEntry(e(f, "status"), "finished"), IntegerEntry(e(f, "finalPrice"), r), IntegerEntry((m + "_recordPrice"), max([t, r])), DeleteEntry((((("address_" + q) + "_auction_") + f) + "_lockedNFT")), ScriptTransfer(j.caller, 1, fromBase58String(e(f, "assetId"))), ScriptTransfer(addressFromStringValue(q), fraction(r, (100 - c), 100), unit), ScriptTransfer(Address(b), fraction(r, c, 100), unit)]
69+ else [StringEntry(e(f, "status"), "finished"), IntegerEntry(e(f, "finalPrice"), r), IntegerEntry((m + "_recordPrice"), max([t, r])), DeleteEntry((((("address_" + q) + "_auction_") + f) + "_lockedNFT")), ScriptTransfer(j.caller, 1, fromBase58String(h(f, "assetId"))), ScriptTransfer(addressFromStringValue(q), fraction(r, (100 - c), 100), unit), ScriptTransfer(Address(b), fraction(r, c, 100), unit)]
7070 }
7171
7272
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'3N8vbCi8fbBq4cY8L3AWqQeq7VJR5FxvR7J'
55
66 let b = base58'3MyiHkhyJ5vr7fA7dMGCoU9mbT8ZTsV8Q8v'
77
88 let c = 5
99
1010 let d = "There is no auction with given id"
1111
1212 func e (f,g) = ((("auction_" + f) + "_") + g)
1313
1414
1515 func h (f,g) = valueOrErrorMessage(getString(e(f, g)), d)
1616
1717
1818 func i (f,g) = valueOrErrorMessage(getInteger(e(f, g)), d)
1919
2020
2121 @Callable(j)
2222 func initAuction (k) = {
2323 let f = toBase58String(j.transactionId)
2424 let l = value(j.payments[0])
2525 let m = value(l.assetId)
2626 let n = {
2727 let o = assetInfo(m)
2828 if ($isInstanceOf(o, "Asset"))
2929 then {
3030 let p = o
3131 p
3232 }
3333 else throw("Asset doesn't exist")
3434 }
3535 if ((n.issuer.bytes != a))
3636 then throw("You can only sell an NFT-card")
3737 else [StringEntry(e(f, "status"), "open"), StringEntry((("auction_" + toBase58String(m)) + "_last"), f), StringEntry(e(f, "assetId"), toBase58String(m)), IntegerEntry(e(f, "startedAt"), lastBlock.timestamp), StringEntry(e(f, "owner"), toString(j.caller)), IntegerEntry(e(f, "price"), k), StringEntry((((("address_" + toString(j.caller)) + "_auction_") + f) + "_lockedNFT"), toBase58String(m))]
3838 }
3939
4040
4141
4242 @Callable(j)
4343 func cancelAuction (f) = {
4444 let q = h(f, "owner")
4545 if ((toString(j.caller) != q))
4646 then throw("Only allowed to auction owner")
4747 else if ((h(f, "status") != "open"))
4848 then throw("Auction is close")
4949 else [StringEntry(e(f, "status"), "cancelled"), DeleteEntry((((("address_" + q) + "_auction_") + f) + "_lockedNFT")), ScriptTransfer(j.caller, 1, fromBase58String(h(f, "assetId")))]
5050 }
5151
5252
5353
5454 @Callable(j)
5555 func buy (f) = {
5656 let l = value(j.payments[0])
5757 let r = l.amount
5858 let m = h(f, "assetId")
5959 let s = h(f, "status")
6060 let k = i(f, "price")
6161 let q = h(f, "owner")
6262 let t = valueOrElse(getInteger((m + "_recordPrice")), 0)
6363 if ((l.assetId != unit))
6464 then throw("Auction does only support WAVES payments.")
6565 else if ((s != "open"))
6666 then throw("Auction is closed. You cannot place a bid.")
6767 else if ((k > r))
6868 then throw(("For instant purchase you need to pay at least " + toString(k)))
69- else [StringEntry(e(f, "status"), "finished"), IntegerEntry(e(f, "finalPrice"), r), IntegerEntry((m + "_recordPrice"), max([t, r])), DeleteEntry((((("address_" + q) + "_auction_") + f) + "_lockedNFT")), ScriptTransfer(j.caller, 1, fromBase58String(e(f, "assetId"))), ScriptTransfer(addressFromStringValue(q), fraction(r, (100 - c), 100), unit), ScriptTransfer(Address(b), fraction(r, c, 100), unit)]
69+ else [StringEntry(e(f, "status"), "finished"), IntegerEntry(e(f, "finalPrice"), r), IntegerEntry((m + "_recordPrice"), max([t, r])), DeleteEntry((((("address_" + q) + "_auction_") + f) + "_lockedNFT")), ScriptTransfer(j.caller, 1, fromBase58String(h(f, "assetId"))), ScriptTransfer(addressFromStringValue(q), fraction(r, (100 - c), 100), unit), ScriptTransfer(Address(b), fraction(r, c, 100), unit)]
7070 }
7171
7272
7373 @Verifier(u)
7474 func v () = sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey)
7575

github/deemru/w8io/873ac7e 
25.96 ms