tx · 2pEjguuGxQdqBDVEechtoriexTA9GyxRicXcRvxfXDJt

3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP:  -0.01400000 Waves

2019.07.12 08:30 [582083] smart account 3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP > SELF 0.00000000 Waves

{ "type": 13, "id": "2pEjguuGxQdqBDVEechtoriexTA9GyxRicXcRvxfXDJt", "fee": 1400000, "feeAssetId": null, "timestamp": 1562909408826, "version": 1, "sender": "3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP", "senderPublicKey": "EghK1ndUequAR8FfFYnK6itzJoz6XBXuBwJ9R2NBtRS4", "proofs": [ "47UR6XnC98e56rrAxHY4sAawz1NqbJ1sa5qNnTtM1emfZGhPtxptpcXBGZQGHAHB3BvYsrmPjKagxn3Pe3LREsxg" ], "script": "base64:AAIDAAAAAAAAAAAAAAAXAAAAAAthbGljZVB1YktleQEAAAAgOITRcCoKNTKqAsbsI7JcjEyc+1VR5mMOpsGoUi0JKjkAAAAACWJvYlB1YktleQEAAAAgOPBOW6N2bmWmpMd/LMXIwkA2OIUQhWJH019Pc7tgpSMAAAAADGNvb3BlclB1YktleQEAAAAgy1MpMZp8+4hN9rmZPzVtqBXPXqzIJa0q68vtAj5jLAUAAAAAC290aGVyUHViS2V5AQAAACCcUW8jVT9kpF19g4OlKJR98WVU6DO1nDSGe47M+HtjPwAAAAAETk9ORQIAAAAEbm9uZQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAADbnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAANudW0BAAAAC2dldFN0ckJ5S2V5AAAAAQAAAANrZXkEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAETk9ORQUAAAADc3RyAQAAAA9nZXRLZXlJdGVtUHJpY2UAAAABAAAABGl0ZW0JAAEsAAAAAgUAAAAEaXRlbQIAAAAGX3ByaWNlAQAAABFnZXRWYWx1ZUl0ZW1QcmljZQAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0BAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARpdGVtAgAAAAFfBQAAAAR1c2VyAgAAAARfY250AQAAABdnZXRWYWx1ZVVzZXJJdGVtQ291bnRlcgAAAAIAAAAEdXNlcgAAAARpdGVtCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5VXNlckl0ZW1Db3VudGVyAAAAAgUAAAAEdXNlcgUAAAAEaXRlbQEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAFdGl0bGUJAAEsAAAAAgIAAAAFaXRlbV8JAAJYAAAAAQkAAfcAAAABCQABmwAAAAEJAAEsAAAAAgUAAAAIc3VwcGxpZXIFAAAABXRpdGxlAQAAAA5nZXRLZXlJdGVtRGF0YQAAAAEAAAAEaXRlbQkAASwAAAACBQAAAARpdGVtAgAAAAVfZGF0YQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAABl9vd25lcgEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABAAAAB2FjY291bnQJAAEsAAAAAgUAAAAHYWNjb3VudAIAAAAIX2JhbGFuY2UBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAdhY2NvdW50CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAVZ2V0S2V5QmFsYW5jZVN1cHBsaWVyAAAAAQUAAAAHYWNjb3VudAAAAAAIdmVyaWZpZXICAAAAIzNOMmtZU201Tkhnc1ZZQnl1cXNIRXVKajNCMTc0aXc3aWtQAAAAAAhWRVJJRklFRAIAAAAIdmVyaWZpZWQAAAAAC0JMQUNLTElTVEVEAgAAAAlibGFja2xpc3QBAAAAE2dldEV4dEFkZHJlc3NPcmFjbGUAAAAACQEAAAAHZXh0cmFjdAAAAAEJAQAAABFhZGRyZXNzRnJvbVN0cmluZwAAAAECAAAAIzNOMmtZU201Tkhnc1ZZQnl1cXNIRXVKajNCMTc0aXc3aWtQAQAAABxnZXRFeHRLZXlJdGVtV2hpdGVMaXN0U3RhdHVzAAAAAQAAAAdhY2NvdW50CQABLAAAAAIFAAAAB2FjY291bnQCAAAAEF92ZXJpZmllcl9zdGF0dXMBAAAAHmdldEV4dFZhbHVlSXRlbVdoaXRlTGlzdFN0YXR1cwAAAAIAAAAGb3JhY2xlAAAAB2FjY291bnQEAAAAA3N0cgQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAZvcmFjbGUJAQAAABxnZXRFeHRLZXlJdGVtV2hpdGVMaXN0U3RhdHVzAAAAAQUAAAAHYWNjb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAdhY2NvdW50BQAAAAROT05FBQAAAANzdHIAAAACAAAAAWkBAAAAB2FkZEl0ZW0AAAADAAAABXRpdGxlAAAABXByaWNlAAAABGRhdGEEAAAAD3N1cHBsaWVyQWRkcmVzcwkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAARpdGVtCQEAAAAKZ2V0S2V5SXRlbQAAAAIFAAAAD3N1cHBsaWVyQWRkcmVzcwUAAAAFdGl0bGUEAAAAEXN1cHBsaWVyd2hpdGVsaXN0CQEAAAAeZ2V0RXh0VmFsdWVJdGVtV2hpdGVMaXN0U3RhdHVzAAAAAgkBAAAAE2dldEV4dEFkZHJlc3NPcmFjbGUAAAAABQAAAA9zdXBwbGllckFkZHJlc3MDCQAAZwAAAAIAAAAAAAAAAAAFAAAABXByaWNlCQAAAgAAAAECAAAALnB1cmNoYXNlIGFtb3VudCBjYW5ub3QgYmUgbGVzcyB0aGFuIGl0ZW0gcHJpY2UDCQEAAAACIT0AAAACCQEAAAAUZ2V0VmFsdWVJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtBQAAAAROT05FCQAAAgAAAAECAAAAGGFuIGl0ZW0gaXMgYWxyZWFkeSBleGlzdAMJAAAAAAAAAgUAAAARc3VwcGxpZXJ3aGl0ZWxpc3QFAAAAC0JMQUNLTElTVEVECQAAAgAAAAECAAAAJ3N1cHBsaWVyJ3MgYWNjb3VudCBoYXMgYmVlbiBibGFja2xpc3RlZAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0FAAAAD3N1cHBsaWVyQWRkcmVzcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAD2dldEtleUl0ZW1QcmljZQAAAAEFAAAABGl0ZW0FAAAABXByaWNlCQAETAAA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", "chainId": 84, "height": 582083, "spentComplexity": 0 } View: original | compacted Prev: CoQ8oyvoWHxTRqpaRUnTkkbJ9JwsVZQ28iC6v2r1HV2n Next: none Diff:
OldNewDifferences
99
1010 let otherPubKey = base58'BXCd46i2Pdzu8csVsX2nknDP9D1phC4sa1anNpDHJAog'
1111
12-func getExtValueItemWhiteListStatus (item) = (item + "_verifier_status")
12+let NONE = "none"
13+
14+func getNumberByKey (key) = {
15+ let num = match getInteger(this, key) {
16+ case a: Int =>
17+ a
18+ case _ =>
19+ 0
20+ }
21+ num
22+ }
1323
1424
15-let verifier = base58'3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP'
25+func getStrByKey (key) = {
26+ let str = match getString(this, key) {
27+ case a: String =>
28+ a
29+ case _ =>
30+ NONE
31+ }
32+ str
33+ }
34+
35+
36+func getKeyItemPrice (item) = (item + "_price")
37+
38+
39+func getValueItemPrice (item) = getNumberByKey(getKeyItemPrice(item))
40+
41+
42+func getKeyUserItemCounter (user,item) = (((item + "_") + user) + "_cnt")
43+
44+
45+func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
46+
47+
48+func getKeyItem (supplier,title) = ("item_" + toBase58String(sha256(toBytes((supplier + title)))))
49+
50+
51+func getKeyItemData (item) = (item + "_data")
52+
53+
54+func getKeyItemSupplier (item) = (item + "_owner")
55+
56+
57+func getValueItemSupplier (item) = getStrByKey(getKeyItemSupplier(item))
58+
59+
60+func getKeyBalanceSupplier (account) = (account + "_balance")
61+
62+
63+func getValueBalanceSupplier (account) = getNumberByKey(getKeyBalanceSupplier(account))
64+
65+
66+let verifier = "3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP"
1667
1768 let VERIFIED = "verified"
1869
1970 let BLACKLISTED = "blacklist"
2071
72+func getExtAddressOracle () = extract(addressFromString("3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP"))
73+
74+
75+func getExtKeyItemWhiteListStatus (account) = (account + "_verifier_status")
76+
77+
78+func getExtValueItemWhiteListStatus (oracle,account) = {
79+ let str = match getString(oracle, getExtKeyItemWhiteListStatus(account)) {
80+ case a: String =>
81+ account
82+ case _ =>
83+ NONE
84+ }
85+ str
86+ }
87+
88+
89+@Callable(i)
90+func addItem (title,price,data) = {
91+ let supplierAddress = toBase58String(i.caller.bytes)
92+ let item = getKeyItem(supplierAddress, title)
93+ let supplierwhitelist = getExtValueItemWhiteListStatus(getExtAddressOracle(), supplierAddress)
94+ if ((0 >= price))
95+ then throw("purchase amount cannot be less than item price")
96+ else if ((getValueItemSupplier(item) != NONE))
97+ then throw("an item is already exist")
98+ else if ((supplierwhitelist == BLACKLISTED))
99+ then throw("supplier's account has been blacklisted")
100+ else WriteSet([DataEntry(getKeyItemSupplier(item), supplierAddress), DataEntry(getKeyItemPrice(item), price), DataEntry(getKeyItemData(item), data), DataEntry(getExtKeyItemWhiteListStatus(supplierAddress), supplierwhitelist)])
101+ }
102+
103+
104+
21105 @Callable(i)
22106 func setstatus (supplier,status) = {
23- let account = i.caller.bytes
107+ let account = toBase58String(i.caller.bytes)
24108 if ((account != verifier))
25109 then throw("only oracle veryfier are able to manage whitelist")
26110 else if (if ((status != VERIFIED))
27111 then (status != BLACKLISTED)
28112 else false)
29113 then throw("wrong status")
30- else WriteSet([DataEntry(getExtValueItemWhiteListStatus(supplier), status)])
114+ else WriteSet([DataEntry(getExtKeyItemWhiteListStatus(supplier), status)])
31115 }
32116
33117
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let alicePubKey = base58'4odJB3xcaswGibZ1oQ7C9VNoBjtXMsWKexoo35zjBWUx'
55
66 let bobPubKey = base58'4qGMpfFhpc2L1VGrBe5tQFxCWsdYiYttdC9ZmHYJn2Lz'
77
88 let cooperPubKey = base58'EghK1ndUequAR8FfFYnK6itzJoz6XBXuBwJ9R2NBtRS4'
99
1010 let otherPubKey = base58'BXCd46i2Pdzu8csVsX2nknDP9D1phC4sa1anNpDHJAog'
1111
12-func getExtValueItemWhiteListStatus (item) = (item + "_verifier_status")
12+let NONE = "none"
13+
14+func getNumberByKey (key) = {
15+ let num = match getInteger(this, key) {
16+ case a: Int =>
17+ a
18+ case _ =>
19+ 0
20+ }
21+ num
22+ }
1323
1424
15-let verifier = base58'3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP'
25+func getStrByKey (key) = {
26+ let str = match getString(this, key) {
27+ case a: String =>
28+ a
29+ case _ =>
30+ NONE
31+ }
32+ str
33+ }
34+
35+
36+func getKeyItemPrice (item) = (item + "_price")
37+
38+
39+func getValueItemPrice (item) = getNumberByKey(getKeyItemPrice(item))
40+
41+
42+func getKeyUserItemCounter (user,item) = (((item + "_") + user) + "_cnt")
43+
44+
45+func getValueUserItemCounter (user,item) = getNumberByKey(getKeyUserItemCounter(user, item))
46+
47+
48+func getKeyItem (supplier,title) = ("item_" + toBase58String(sha256(toBytes((supplier + title)))))
49+
50+
51+func getKeyItemData (item) = (item + "_data")
52+
53+
54+func getKeyItemSupplier (item) = (item + "_owner")
55+
56+
57+func getValueItemSupplier (item) = getStrByKey(getKeyItemSupplier(item))
58+
59+
60+func getKeyBalanceSupplier (account) = (account + "_balance")
61+
62+
63+func getValueBalanceSupplier (account) = getNumberByKey(getKeyBalanceSupplier(account))
64+
65+
66+let verifier = "3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP"
1667
1768 let VERIFIED = "verified"
1869
1970 let BLACKLISTED = "blacklist"
2071
72+func getExtAddressOracle () = extract(addressFromString("3N2kYSm5NHgsVYByuqsHEuJj3B174iw7ikP"))
73+
74+
75+func getExtKeyItemWhiteListStatus (account) = (account + "_verifier_status")
76+
77+
78+func getExtValueItemWhiteListStatus (oracle,account) = {
79+ let str = match getString(oracle, getExtKeyItemWhiteListStatus(account)) {
80+ case a: String =>
81+ account
82+ case _ =>
83+ NONE
84+ }
85+ str
86+ }
87+
88+
89+@Callable(i)
90+func addItem (title,price,data) = {
91+ let supplierAddress = toBase58String(i.caller.bytes)
92+ let item = getKeyItem(supplierAddress, title)
93+ let supplierwhitelist = getExtValueItemWhiteListStatus(getExtAddressOracle(), supplierAddress)
94+ if ((0 >= price))
95+ then throw("purchase amount cannot be less than item price")
96+ else if ((getValueItemSupplier(item) != NONE))
97+ then throw("an item is already exist")
98+ else if ((supplierwhitelist == BLACKLISTED))
99+ then throw("supplier's account has been blacklisted")
100+ else WriteSet([DataEntry(getKeyItemSupplier(item), supplierAddress), DataEntry(getKeyItemPrice(item), price), DataEntry(getKeyItemData(item), data), DataEntry(getExtKeyItemWhiteListStatus(supplierAddress), supplierwhitelist)])
101+ }
102+
103+
104+
21105 @Callable(i)
22106 func setstatus (supplier,status) = {
23- let account = i.caller.bytes
107+ let account = toBase58String(i.caller.bytes)
24108 if ((account != verifier))
25109 then throw("only oracle veryfier are able to manage whitelist")
26110 else if (if ((status != VERIFIED))
27111 then (status != BLACKLISTED)
28112 else false)
29113 then throw("wrong status")
30- else WriteSet([DataEntry(getExtValueItemWhiteListStatus(supplier), status)])
114+ else WriteSet([DataEntry(getExtKeyItemWhiteListStatus(supplier), status)])
31115 }
32116
33117
34118 @Verifier(tx)
35119 func verify () = {
36120 let Al = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], alicePubKey))
37121 then true
38122 else sigVerify(tx.bodyBytes, tx.proofs[1], alicePubKey))
39123 then true
40124 else sigVerify(tx.bodyBytes, tx.proofs[0], alicePubKey)
41125 let Bo = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], bobPubKey))
42126 then true
43127 else sigVerify(tx.bodyBytes, tx.proofs[1], bobPubKey))
44128 then true
45129 else sigVerify(tx.bodyBytes, tx.proofs[2], bobPubKey)
46130 let Co = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], cooperPubKey))
47131 then true
48132 else sigVerify(tx.bodyBytes, tx.proofs[1], cooperPubKey))
49133 then true
50134 else sigVerify(tx.bodyBytes, tx.proofs[2], cooperPubKey)
51135 let Ot = if (if (sigVerify(tx.bodyBytes, tx.proofs[0], otherPubKey))
52136 then true
53137 else sigVerify(tx.bodyBytes, tx.proofs[1], otherPubKey))
54138 then true
55139 else sigVerify(tx.bodyBytes, tx.proofs[2], otherPubKey)
56140 match tx {
57141 case t: SetScriptTransaction =>
58142 if (if (Al)
59143 then true
60144 else Bo)
61145 then true
62146 else Co
63147 case t: InvokeScriptTransaction =>
64148 if (if (if (Al)
65149 then true
66150 else Bo)
67151 then true
68152 else Co)
69153 then true
70154 else Ot
71155 case t: IssueTransaction =>
72156 if (if (if (Al)
73157 then true
74158 else Bo)
75159 then true
76160 else Co)
77161 then true
78162 else Ot
79163 case t: ReissueTransaction =>
80164 if (if (if (Al)
81165 then true
82166 else Bo)
83167 then true
84168 else Co)
85169 then true
86170 else Ot
87171 case _ =>
88172 if (if (if (if (if (if (Al)
89173 then Bo
90174 else false)
91175 then true
92176 else if (Al)
93177 then Co
94178 else false)
95179 then true
96180 else if (Bo)
97181 then Co
98182 else false)
99183 then true
100184 else if (Al)
101185 then Ot
102186 else false)
103187 then true
104188 else if (Bo)
105189 then Ot
106190 else false)
107191 then true
108192 else if (Co)
109193 then Ot
110194 else false
111195 }
112196 }
113197

github/deemru/w8io/026f985 
23.63 ms