tx · 9WpguEanXtScpgVnqLhBPA8uvKWypehKXhreM5aY8Uez

3NCUmMmkaFG7PwJfJuS2dpnVE8Uqh6aQHBv:  -0.01400000 Waves

2019.07.03 11:26 [568992] smart account 3NCUmMmkaFG7PwJfJuS2dpnVE8Uqh6aQHBv > SELF 0.00000000 Waves

{ "type": 13, "id": "9WpguEanXtScpgVnqLhBPA8uvKWypehKXhreM5aY8Uez", "fee": 1400000, "feeAssetId": null, "timestamp": 1562142434648, "version": 1, "sender": "3NCUmMmkaFG7PwJfJuS2dpnVE8Uqh6aQHBv", "senderPublicKey": "2UzFiBcF1Niw3M6eCKueKU6d1N4hVt7jy5Kq27LSrFJt", "proofs": [ "8ZQZJ3Ye7EVRJV56NUhDDYz32R9ykL9soXGP1gETbhKswZk5pRM2fQWwnNsfXF9yniXBYWyqEKAGHqZA7MvAQ3R" ], "script": "base64:AAIDAAAAAAAAAAAAAAARAAAAAAROT05FAgAAAARub25lAAAAAAtCTEFDS0xJU1RFRAIAAAAJYmxhY2tsaXN0AQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5BAAAAANudW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAA251bQEAAAALZ2V0U3RyQnlLZXkAAAABAAAAA2tleQQAAAADc3RyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAROT05FBQAAAANzdHIBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAZfcHJpY2UBAAAAEWdldFZhbHVlSXRlbVByaWNlAAAAAQAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAPZ2V0S2V5SXRlbVByaWNlAAAAAQUAAAAEaXRlbQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABGl0ZW0CAAAAAV8FAAAABHVzZXICAAAABF9jbnQBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgAAAAR1c2VyAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACBQAAAAR1c2VyBQAAAARpdGVtAQAAAApnZXRLZXlJdGVtAAAAAgAAAAhzdXBwbGllcgAAAAV0aXRsZQkAASwAAAACAgAAAAVpdGVtXwkAAlgAAAABCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACBQAAAAhzdXBwbGllcgUAAAAFdGl0bGUBAAAADmdldEtleUl0ZW1EYXRhAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABV9kYXRhAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX293bmVyAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEAAAAHYWNjb3VudAkAASwAAAACBQAAAAdhY2NvdW50AgAAAAhfYmFsYW5jZQEAAAAXZ2V0VmFsdWVCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAdhY2NvdW50AQAAABNnZXRFeHRBZGRyZXNzT3JhY2xlAAAAAAkBAAAAB2V4dHJhY3QAAAABCQEAAAARYWRkcmVzc0Zyb21TdHJpbmcAAAABAgAAACMzTjFRTUFSelZUb1ltaHdKSjVmbUNjS1NnS0NINkJEWFRFSgEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEAAAAHYWNjb3VudAkAASwAAAACBQAAAAdhY2NvdW50AgAAABBfdmVyaWZpZXJfc3RhdHVzAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAACAAAABm9yYWNsZQAAAAdhY2NvdW50BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAGb3JhY2xlCQEAAAAcZ2V0RXh0S2V5SXRlbVdoaXRlTGlzdFN0YXR1cwAAAAEFAAAAB2FjY291bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAAHYWNjb3VudAUAAAAETk9ORQUAAAADc3RyAAAAAQAAAAFpAQAAAAdhZGRJdGVtAAAAAwAAAAV0aXRsZQAAAAVwcmljZQAAAARkYXRhBAAAAA9zdXBwbGllckFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAEaXRlbQkBAAAACmdldEtleUl0ZW0AAAACBQAAAA9zdXBwbGllckFkZHJlc3MFAAAABXRpdGxlBAAAABFzdXBwbGllcndoaXRlbGlzdAkBAAAAHmdldEV4dFZhbHVlSXRlbVdoaXRlTGlzdFN0YXR1cwAAAAIJAQAAABNnZXRFeHRBZGRyZXNzT3JhY2xlAAAAAAUAAAAPc3VwcGxpZXJBZGRyZXNzAwkAAGcAAAACAAAAAAAAAAAABQAAAAVwcmljZQkAAAIAAAABAgAAAC5wdXJjaGFzZSBhbW91bnQgY2Fubm90IGJlIGxlc3MgdGhhbiBpdGVtIHByaWNlAwkBAAAAAiE9AAAAAgkBAAAAFGdldFZhbHVlSXRlbVN1cHBsaWVyAAAAAQUAAAAEaXRlbQUAAAAETk9ORQkAAAIAAAABAgAAABhhbiBpdGVtIGlzIGFscmVhZHkgZXhpc3QDCQAAAAAAAAIFAAAAEXN1cHBsaWVyd2hpdGVsaXN0BQAAAAtCTEFDS0xJU1RFRAkAAAIAAAABAgAAACdzdXBwbGllcidzIGFjY291bnQgaGFzIGJlZW4gYmxhY2tsaXN0ZWQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAA9zdXBwbGllckFkZHJlc3MJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABBQAAAARpdGVtBQAAAAVwcmljZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAADmdldEtleUl0ZW1EYXRhAAAAAQUAAAAEaXRlbQUAAAAEZGF0YQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHGdldEV4dEtleUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAABBQAAAA9zdXBwbGllckFkZHJlc3MFAAAAEXN1cHBsaWVyd2hpdGVsaXN0BQAAAANuaWwAAAAA1Vu2AQ==", "chainId": 84, "height": 568992, "spentComplexity": 0 } View: original | compacted Prev: Dwqf3KmZ3dPF5JLZY6au5XMdn1MRWjZCBajErxBqvuxn Next: none Diff:
OldNewDifferences
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NONE = "none"
5+
6+let BLACKLISTED = "blacklist"
57
68 func getNumberByKey (key) = {
79 let num = match getInteger(this, key) {
8183 then throw("purchase amount cannot be less than item price")
8284 else if ((getValueItemSupplier(item) != NONE))
8385 then throw("an item is already exist")
84- else WriteSet([DataEntry(getKeyItemSupplier(item), supplierAddress), DataEntry(getKeyItemPrice(item), price), DataEntry(getKeyItemData(item), data), DataEntry(getExtKeyItemWhiteListStatus(supplierAddress), supplierwhitelist)])
86+ else if ((supplierwhitelist == BLACKLISTED))
87+ then throw("supplier's account has been blacklisted")
88+ else WriteSet([DataEntry(getKeyItemSupplier(item), supplierAddress), DataEntry(getKeyItemPrice(item), price), DataEntry(getKeyItemData(item), data), DataEntry(getExtKeyItemWhiteListStatus(supplierAddress), supplierwhitelist)])
8589 }
8690
8791
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NONE = "none"
5+
6+let BLACKLISTED = "blacklist"
57
68 func getNumberByKey (key) = {
79 let num = match getInteger(this, key) {
810 case a: Int =>
911 a
1012 case _ =>
1113 0
1214 }
1315 num
1416 }
1517
1618
1719 func getStrByKey (key) = {
1820 let str = match getString(this, key) {
1921 case a: String =>
2022 a
2123 case _ =>
2224 NONE
2325 }
2426 str
2527 }
2628
2729
2830 func getKeyItemPrice (item) = (item + "_price")
2931
3032
3133 func getValueItemPrice (item) = getNumberByKey(getKeyItemPrice(item))
3234
3335
3436 func getKeyUserItemCounter (user,item) = (((item + "_") + user) + "_cnt")
3537
3638
3739 func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
3840
3941
4042 func getKeyItem (supplier,title) = ("item_" + toBase58String(sha256(toBytes((supplier + title)))))
4143
4244
4345 func getKeyItemData (item) = (item + "_data")
4446
4547
4648 func getKeyItemSupplier (item) = (item + "_owner")
4749
4850
4951 func getValueItemSupplier (item) = getStrByKey(getKeyItemSupplier(item))
5052
5153
5254 func getKeyBalanceSupplier (account) = (account + "_balance")
5355
5456
5557 func getValueBalanceSupplier (account) = getNumberByKey(getKeyBalanceSupplier(account))
5658
5759
5860 func getExtAddressOracle () = extract(addressFromString("3N1QMARzVToYmhwJJ5fmCcKSgKCH6BDXTEJ"))
5961
6062
6163 func getExtKeyItemWhiteListStatus (account) = (account + "_verifier_status")
6264
6365
6466 func getExtValueItemWhiteListStatus (oracle,account) = {
6567 let str = match getString(oracle, getExtKeyItemWhiteListStatus(account)) {
6668 case a: String =>
6769 account
6870 case _ =>
6971 NONE
7072 }
7173 str
7274 }
7375
7476
7577 @Callable(i)
7678 func addItem (title,price,data) = {
7779 let supplierAddress = toBase58String(i.caller.bytes)
7880 let item = getKeyItem(supplierAddress, title)
7981 let supplierwhitelist = getExtValueItemWhiteListStatus(getExtAddressOracle(), supplierAddress)
8082 if ((0 >= price))
8183 then throw("purchase amount cannot be less than item price")
8284 else if ((getValueItemSupplier(item) != NONE))
8385 then throw("an item is already exist")
84- else WriteSet([DataEntry(getKeyItemSupplier(item), supplierAddress), DataEntry(getKeyItemPrice(item), price), DataEntry(getKeyItemData(item), data), DataEntry(getExtKeyItemWhiteListStatus(supplierAddress), supplierwhitelist)])
86+ else if ((supplierwhitelist == BLACKLISTED))
87+ then throw("supplier's account has been blacklisted")
88+ else WriteSet([DataEntry(getKeyItemSupplier(item), supplierAddress), DataEntry(getKeyItemPrice(item), price), DataEntry(getKeyItemData(item), data), DataEntry(getExtKeyItemWhiteListStatus(supplierAddress), supplierwhitelist)])
8589 }
8690
8791

github/deemru/w8io/873ac7e 
18.75 ms