tx · z1ee8qEkJGEi92t1LHqzy2qSXDfhkTgS12HtkKZrcqC

3N9GKCsktAL7oPFmaKsgPBoDfu3ijk23Vmm:  -0.01400000 Waves

2020.03.20 22:50 [918102] smart account 3N9GKCsktAL7oPFmaKsgPBoDfu3ijk23Vmm > SELF 0.00000000 Waves

{ "type": 13, "id": "z1ee8qEkJGEi92t1LHqzy2qSXDfhkTgS12HtkKZrcqC", "fee": 1400000, "feeAssetId": null, "timestamp": 1584733809638, "version": 1, "sender": "3N9GKCsktAL7oPFmaKsgPBoDfu3ijk23Vmm", "senderPublicKey": "BjzUYgMDny7cYArZdjtnVo62UoVZKiCEeCoKYFnevrWU", "proofs": [ "Gybcuu7Cx7KWvBzdH54kHVqqCqaLCBYLXF6vjU1JUbyhupjudKcXABy7RVUjFBB2TVco7tkWQYFyHYJgbdMBnG2" ], "script": "base64:AAIDAAAAAAAAABYIARIDCgEBEgcKBQgICAEBEgQKAggBAAAAGAAAAAAHYUJpdENPMgEAAAAgx/h6AJ03UJ8qMmy7JIhz3VjOE4OL3ofCGi0oG2fBKJYAAAAACHN0YXJ0UXR5AAAAAAAAAknwAAAAAAhub21QcmljZQAAAAAABfXhAAAAAAAETk9ORQIAAAAEbm9uZQAAAAALT3duZXJQdWJLZXkBAAAAIJ+YQBeV0x/8GNlJbr9kR/uTmvTPi2KwfwbDWc0arYRJAAAAAAZpc3N1ZXIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTUPeuO2Y1p2TpK+OH14WsDuVCV2jcMFFQBAAAADmdldE51bWJlckJ5S2V5AAAAAQAAAANrZXkEAAAAA251bQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAUAAAADbnVtAQAAAAtnZXRTdHJCeUtleQAAAAEAAAADa2V5BAAAAANzdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUFAAAAA3N0cgEAAAAKZ2V0S2V5SXRlbQAAAAIAAAAIc3VwcGxpZXIAAAAFdGl0bGUJAAEsAAAAAgIAAAAPQml0LUNPMl90b2tlbjogCQACWAAAAAEJAAH3AAAAAQkAAZsAAAABCQABLAAAAAIFAAAACHN1cHBsaWVyBQAAAAV0aXRsZQEAAAASZ2V0S2V5SXRlbVN1cHBsaWVyAAAAAQAAAARpdGVtCQABLAAAAAIFAAAABGl0ZW0CAAAAGl90b19BbWF6b25pYW5fQ29uc2VydmF0aW9uAQAAABRnZXRWYWx1ZUl0ZW1TdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAAC2dldFN0ckJ5S2V5AAAAAQkBAAAAEmdldEtleUl0ZW1TdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEAAAAEaXRlbQIAAAAVT2ZmZXJlZF9RdHksIGJhbGFuY2U6AQAAABpnZXRWYWx1ZUJhbGFuY2VRdHlTdXBwbGllcgAAAAEAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAGGdldEtleUJhbGFuY2VRdHlTdXBwbGllcgAAAAEFAAAABGl0ZW0BAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEAAAAIc3VwcGxpZXICAAAAFlNlbGxlcl9CYWxhbmNlLF93YXZlczoBAAAAF2dldFZhbHVlQmFsYW5jZVN1cHBsaWVyAAAAAQAAAAhzdXBwbGllcgkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleUJhbGFuY2VTdXBwbGllcgAAAAEFAAAACHN1cHBsaWVyAQAAABVnZXRLZXlVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQIAAAAKT3JkZXJf4oSWOgEAAAAXZ2V0VmFsdWVVc2VySXRlbUNvdW50ZXIAAAACAAAABHVzZXIAAAAEaXRlbQkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAFWdldEtleVVzZXJJdGVtQ291bnRlcgAAAAIFAAAABHVzZXIFAAAABGl0ZW0BAAAADmdldEtleUl0ZW1Vc2VyAAAAAQAAAARpdGVtAgAAAAlVc2VyTmFtZToBAAAAEGdldFZhbHVlSXRlbVVzZXIAAAABAAAABGl0ZW0JAQAAAAtnZXRTdHJCeUtleQAAAAEJAQAAAA5nZXRLZXlJdGVtVXNlcgAAAAEFAAAABGl0ZW0BAAAAEmdldEtleUl0ZW1Vc2VyRGF0YQAAAAEAAAAEaXRlbQIAAAAMVXNlckNvdW50cnk6AQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQAAAARpdGVtAgAAABBVc2VyRGlzY291bnQsXyU6AQAAABhnZXRWYWx1ZUl0ZW1EaXNjb3VudFVzZXIAAAABAAAABGl0ZW0JAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQUAAAAEaXRlbQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEAAAAEaXRlbQIAAAAST3JkZXJfcXR5LF90b2tl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AAALdXNlckFkZHJlc3MFAAAABGl0ZW0JAABkAAAAAgkBAAAAF2dldFZhbHVlVXNlckl0ZW1Db3VudGVyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABGl0ZW0AAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABhnZXRLZXlCYWxhbmNlUXR5U3VwcGxpZXIAAAABBQAAAARpdGVtCQAAZQAAAAIFAAAACXByZUljb1F0eQUAAAAIb3JkZXJRdHkJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAAA5nZXRLZXlJdGVtVXNlcgAAAAEFAAAABGl0ZW0FAAAACHVzZXJOYW1lCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAASZ2V0S2V5SXRlbVVzZXJEYXRhAAAAAQUAAAAEaXRlbQUAAAAIdXNlckRhdGEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABZnZXRLZXlJdGVtRGlzY291bnRVc2VyAAAAAQUAAAAEaXRlbQUAAAAMdXNlckRpc2NvdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAWZ2V0S2V5SXRlbVVzZXJPcmRlclF0eQAAAAEFAAAABGl0ZW0FAAAACG9yZGVyUXR5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAGlVzZXJQcmljZV8xX3Rva2VuLF93YXZlczpfBQAAAAt1c2VyQWRkcmVzcwUAAAAPYnV5ZXJUb2tlblByaWNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAICAAAAF1BheW1lbnRfYW1vdW50LF93YXZlczpfBQAAAAt1c2VyQWRkcmVzcwUAAAALdG90YWxBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgIAAAAOT3JkZXJfU3RhdHVzOl8FAAAAC3VzZXJBZGRyZXNzAgAAAAljb25maXJtZWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAQAAABVnZXRLZXlCYWxhbmNlU3VwcGxpZXIAAAABBQAAAAhzdXBwbGllcgkAAGQAAAACBQAAAA9iYWxhbmNlU3VwcGxpZXIIBQAAAANwbXQAAAAGYW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAHEBleHRyVXNlcihhZGRyZXNzRnJvbVN0cmluZykAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAAIb3JkZXJRdHkFAAAAB2FCaXRDTzIFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAEaXRlbQAAAAZhbW91bnQEAAAAC3VzZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAACHN1cHBsaWVyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMJAQAAABJnZXRLZXlJdGVtU3VwcGxpZXIAAAABBQAAAARpdGVtAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEFAAAABE5PTkUEAAAACXByZUljb1F0eQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQEAAAAYZ2V0S2V5QmFsYW5jZVF0eVN1cHBsaWVyAAAAAQUAAAAEaXRlbQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhBQAAAAhzdGFydFF0eQQAAAAJbmV3QW1vdW50CQAAZQAAAAIFAAAACXByZUljb1F0eQUAAAAGYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAZhbW91bnQJAAACAAAAAQIAAAAeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAluZXdBbW91bnQJAAACAAAAAQIAAAAfTm90IGVub3VnaHQgL3N1ZmljaWVudGUgYmFsYW5jZQkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABGl0ZW0FAAAACW5ld0Ftb3VudAUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAdhQml0Q08yBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAtPd25lclB1YktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAAFkBQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAEAAAACXJlY2lwaWVudAkAAlgAAAABCAkABCQAAAABCAUAAAACdHgAAAAJcmVjaXBpZW50AAAABWJ5dGVzAwkAAAAAAAACCAUAAAACdHgAAAAGc2VuZGVyBQAAAAZpc3N1ZXIGCQAAAgAAAAECAAAAIFlvdSBjYW4ndCB0cmFuc2ZlcnJlZCB0aGlzIHRva2VuB2pJkJY=", "chainId": 84, "height": 918102, "spentComplexity": 0 } View: original | compacted Prev: B7AEcg1RFioP3ZKTwYzs6ska3vb1tPfUm3XdDjPXLbGQ Next: GKUB4z2ctU5hWWnHDoAPSbjLmamAnMPHvLQfRoLb7kVG Diff:
OldNewDifferences
4141 }
4242
4343
44-func n (o,p) = ("tokens_Bit-CO2:_" + toBase58String(sha256(toBytes((o + p)))))
44+func n (o,p) = ("Bit-CO2_token: " + toBase58String(sha256(toBytes((o + p)))))
4545
4646
4747 func q (r) = (r + "_to_Amazonian_Conservation")
5050 func s (r) = l(q(r))
5151
5252
53-func t (r) = "Tokens_ofertados,_Saldo"
53+func t (r) = "Offered_Qty, balance:"
5454
5555
5656 func u (r) = g(t(r))
5757
5858
59-func v (o) = "Seller_Balance:_waves"
59+func v (o) = "Seller_Balance,_waves:"
6060
6161
6262 func w (o) = g(v(o))
6363
6464
65-func x (y,r) = (((r + "_") + y) + "_cnt")
65+func x (y,r) = "Order_№:"
6666
6767
6868 func z (y,r) = g(x(y, r))
6969
7070
71-func A (r) = "Project_name:"
71+func A (r) = "UserName:"
7272
7373
7474 func B (r) = l(A(r))
7575
7676
77-func C (r) = "_userdata"
77+func C (r) = "UserCountry:"
7878
7979
80-func D (r) = "_tokens"
80+func D (r) = "UserDiscount,_%:"
8181
8282
8383 func E (r) = g(D(r))
8484
8585
86-@Callable(F)
87-func deposit (G) = {
88- let H = extract(F.payment)
89- if ((H.assetId != a))
86+func F (r) = "Order_qty,_tokens:"
87+
88+
89+func G (r) = g(F(r))
90+
91+
92+@Callable(H)
93+func deposit (I) = {
94+ let J = extract(H.payment)
95+ if ((J.assetId != a))
9096 then throw("Use cBitCO2 tokens only for the wallet deposit")
9197 else {
92- let o = toBase58String(F.caller.bytes)
93- let I = {
98+ let o = toBase58String(H.caller.bytes)
99+ let K = {
94100 let j = getInteger(this, o)
95101 if ($isInstanceOf(j, "Int"))
96102 then {
99105 }
100106 else b
101107 }
102- let J = (I + H.amount)
103- WriteSet([DataEntry(o, J)])
108+ let L = (K + J.amount)
109+ WriteSet([DataEntry(o, L)])
104110 }
105111 }
106112
107113
108114
109-@Callable(F)
110-func purchase (r,K,L,M,N,G) = {
111- let H = extract(F.payment)
112- if (isDefined(H.assetId))
115+@Callable(H)
116+func purchase (r,M,N,O,P) = {
117+ let J = extract(H.payment)
118+ if (isDefined(J.assetId))
113119 then throw("you can adquire cBitCO2 only by Waves tokens")
114120 else {
115121 let o = {
121127 }
122128 else d
123129 }
124- let O = {
130+ let Q = {
125131 let j = getInteger(this, t(r))
126132 if ($isInstanceOf(j, "Int"))
127133 then {
130136 }
131137 else b
132138 }
133- let P = {
139+ let R = {
134140 let j = getInteger(this, v(o))
135141 if ($isInstanceOf(j, "Int"))
136142 then {
139145 }
140146 else 0
141147 }
142- let Q = toBase58String(F.caller.bytes)
143- let R = ((c * (100 - M)) / 100)
144- let S = (N * R)
145- if ((S > H.amount))
148+ let S = toBase58String(H.caller.bytes)
149+ let T = ((c * (100 - O)) / 100)
150+ let U = (P * T)
151+ if ((U > J.amount))
146152 then throw("Payment Amount cannot be less than item Purchase Order")
147- else if ((H.amount > S))
153+ else if ((J.amount > U))
148154 then throw("Payment Amount can't be higher than item Purchase Order")
149- else ScriptResult(WriteSet([DataEntry(x(Q, r), (z(Q, r) + 1)), DataEntry(A(r), K), DataEntry(t(r), (O - N)), DataEntry(C(r), L), DataEntry((("Descuento solicitado:_" + Q) + "_%"), M), DataEntry(("Cantidad_solicitada:" + D(r)), N), DataEntry((("Monto pagado:_" + Q) + "_waves"), G), DataEntry(("Request_Status:_" + Q), "confirmed"), DataEntry(v(o), (P + H.amount))]), TransferSet([ScriptTransfer(addressFromStringValue(Q), N, a)]))
155+ else ScriptResult(WriteSet([DataEntry(x(S, r), (z(S, r) + 1)), DataEntry(t(r), (Q - P)), DataEntry(A(r), M), DataEntry(C(r), N), DataEntry(D(r), O), DataEntry(F(r), P), DataEntry(("UserPrice_1_token,_waves:_" + S), T), DataEntry(("Payment_amount,_waves:_" + S), U), DataEntry(("Order_Status:_" + S), "confirmed"), DataEntry(v(o), (R + J.amount))]), TransferSet([ScriptTransfer(addressFromStringValue(S), P, a)]))
150156 }
151157 }
152158
153159
154160
155-@Callable(F)
156-func withdraw (r,G) = {
157- let Q = toBase58String(F.caller.bytes)
161+@Callable(H)
162+func withdraw (r,I) = {
163+ let S = toBase58String(H.caller.bytes)
158164 let o = {
159165 let j = getString(this, q(r))
160166 if ($isInstanceOf(j, "String"))
164170 }
165171 else d
166172 }
167- let O = {
173+ let Q = {
168174 let j = getInteger(this, t(r))
169175 if ($isInstanceOf(j, "Int"))
170176 then {
173179 }
174180 else b
175181 }
176- let J = (O - G)
177- if ((0 > G))
182+ let L = (Q - I)
183+ if ((0 > I))
178184 then throw("Can't withdraw negative amount")
179- else if ((0 > J))
185+ else if ((0 > L))
180186 then throw("Not enought /suficiente balance")
181- else ScriptResult(WriteSet([DataEntry(r, J)]), TransferSet([ScriptTransfer(F.caller, G, a)]))
187+ else ScriptResult(WriteSet([DataEntry(r, L)]), TransferSet([ScriptTransfer(H.caller, I, a)]))
182188 }
183189
184190
185-@Verifier(T)
186-func U () = {
187- let j = T
191+@Verifier(V)
192+func W () = {
193+ let j = V
188194 if ($isInstanceOf(j, "SetScriptTransaction"))
189195 then {
190- let V = j
191- sigVerify(T.bodyBytes, T.proofs[0], e)
196+ let X = j
197+ sigVerify(V.bodyBytes, V.proofs[0], e)
192198 }
193199 else if ($isInstanceOf(j, "DataTransaction"))
194200 then {
195- let W = j
201+ let Y = j
196202 true
197203 }
198204 else if ($isInstanceOf(j, "TransferTransaction"))
199205 then {
200- let T = j
201- let X = toBase58String(addressFromRecipient(T.recipient).bytes)
202- if ((T.sender == f))
206+ let V = j
207+ let Z = toBase58String(addressFromRecipient(V.recipient).bytes)
208+ if ((V.sender == f))
203209 then true
204210 else throw("You can't transferred this token")
205211 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'ETbtNp6MBuSM9EfjmLDwctrYEBBiq8CZ7ti7zbwTktry'
55
66 let b = 150000
77
88 let c = 100000000
99
1010 let d = "none"
1111
1212 let e = base58'BjzUYgMDny7cYArZdjtnVo62UoVZKiCEeCoKYFnevrWU'
1313
1414 let f = Address(base58'3N9GKCsktAL7oPFmaKsgPBoDfu3ijk23Vmm')
1515
1616 func g (h) = {
1717 let i = {
1818 let j = getInteger(this, h)
1919 if ($isInstanceOf(j, "Int"))
2020 then {
2121 let k = j
2222 k
2323 }
2424 else 0
2525 }
2626 i
2727 }
2828
2929
3030 func l (h) = {
3131 let m = {
3232 let j = getString(this, h)
3333 if ($isInstanceOf(j, "String"))
3434 then {
3535 let k = j
3636 k
3737 }
3838 else d
3939 }
4040 m
4141 }
4242
4343
44-func n (o,p) = ("tokens_Bit-CO2:_" + toBase58String(sha256(toBytes((o + p)))))
44+func n (o,p) = ("Bit-CO2_token: " + toBase58String(sha256(toBytes((o + p)))))
4545
4646
4747 func q (r) = (r + "_to_Amazonian_Conservation")
4848
4949
5050 func s (r) = l(q(r))
5151
5252
53-func t (r) = "Tokens_ofertados,_Saldo"
53+func t (r) = "Offered_Qty, balance:"
5454
5555
5656 func u (r) = g(t(r))
5757
5858
59-func v (o) = "Seller_Balance:_waves"
59+func v (o) = "Seller_Balance,_waves:"
6060
6161
6262 func w (o) = g(v(o))
6363
6464
65-func x (y,r) = (((r + "_") + y) + "_cnt")
65+func x (y,r) = "Order_№:"
6666
6767
6868 func z (y,r) = g(x(y, r))
6969
7070
71-func A (r) = "Project_name:"
71+func A (r) = "UserName:"
7272
7373
7474 func B (r) = l(A(r))
7575
7676
77-func C (r) = "_userdata"
77+func C (r) = "UserCountry:"
7878
7979
80-func D (r) = "_tokens"
80+func D (r) = "UserDiscount,_%:"
8181
8282
8383 func E (r) = g(D(r))
8484
8585
86-@Callable(F)
87-func deposit (G) = {
88- let H = extract(F.payment)
89- if ((H.assetId != a))
86+func F (r) = "Order_qty,_tokens:"
87+
88+
89+func G (r) = g(F(r))
90+
91+
92+@Callable(H)
93+func deposit (I) = {
94+ let J = extract(H.payment)
95+ if ((J.assetId != a))
9096 then throw("Use cBitCO2 tokens only for the wallet deposit")
9197 else {
92- let o = toBase58String(F.caller.bytes)
93- let I = {
98+ let o = toBase58String(H.caller.bytes)
99+ let K = {
94100 let j = getInteger(this, o)
95101 if ($isInstanceOf(j, "Int"))
96102 then {
97103 let k = j
98104 k
99105 }
100106 else b
101107 }
102- let J = (I + H.amount)
103- WriteSet([DataEntry(o, J)])
108+ let L = (K + J.amount)
109+ WriteSet([DataEntry(o, L)])
104110 }
105111 }
106112
107113
108114
109-@Callable(F)
110-func purchase (r,K,L,M,N,G) = {
111- let H = extract(F.payment)
112- if (isDefined(H.assetId))
115+@Callable(H)
116+func purchase (r,M,N,O,P) = {
117+ let J = extract(H.payment)
118+ if (isDefined(J.assetId))
113119 then throw("you can adquire cBitCO2 only by Waves tokens")
114120 else {
115121 let o = {
116122 let j = getString(this, q(r))
117123 if ($isInstanceOf(j, "String"))
118124 then {
119125 let k = j
120126 k
121127 }
122128 else d
123129 }
124- let O = {
130+ let Q = {
125131 let j = getInteger(this, t(r))
126132 if ($isInstanceOf(j, "Int"))
127133 then {
128134 let k = j
129135 k
130136 }
131137 else b
132138 }
133- let P = {
139+ let R = {
134140 let j = getInteger(this, v(o))
135141 if ($isInstanceOf(j, "Int"))
136142 then {
137143 let k = j
138144 k
139145 }
140146 else 0
141147 }
142- let Q = toBase58String(F.caller.bytes)
143- let R = ((c * (100 - M)) / 100)
144- let S = (N * R)
145- if ((S > H.amount))
148+ let S = toBase58String(H.caller.bytes)
149+ let T = ((c * (100 - O)) / 100)
150+ let U = (P * T)
151+ if ((U > J.amount))
146152 then throw("Payment Amount cannot be less than item Purchase Order")
147- else if ((H.amount > S))
153+ else if ((J.amount > U))
148154 then throw("Payment Amount can't be higher than item Purchase Order")
149- else ScriptResult(WriteSet([DataEntry(x(Q, r), (z(Q, r) + 1)), DataEntry(A(r), K), DataEntry(t(r), (O - N)), DataEntry(C(r), L), DataEntry((("Descuento solicitado:_" + Q) + "_%"), M), DataEntry(("Cantidad_solicitada:" + D(r)), N), DataEntry((("Monto pagado:_" + Q) + "_waves"), G), DataEntry(("Request_Status:_" + Q), "confirmed"), DataEntry(v(o), (P + H.amount))]), TransferSet([ScriptTransfer(addressFromStringValue(Q), N, a)]))
155+ else ScriptResult(WriteSet([DataEntry(x(S, r), (z(S, r) + 1)), DataEntry(t(r), (Q - P)), DataEntry(A(r), M), DataEntry(C(r), N), DataEntry(D(r), O), DataEntry(F(r), P), DataEntry(("UserPrice_1_token,_waves:_" + S), T), DataEntry(("Payment_amount,_waves:_" + S), U), DataEntry(("Order_Status:_" + S), "confirmed"), DataEntry(v(o), (R + J.amount))]), TransferSet([ScriptTransfer(addressFromStringValue(S), P, a)]))
150156 }
151157 }
152158
153159
154160
155-@Callable(F)
156-func withdraw (r,G) = {
157- let Q = toBase58String(F.caller.bytes)
161+@Callable(H)
162+func withdraw (r,I) = {
163+ let S = toBase58String(H.caller.bytes)
158164 let o = {
159165 let j = getString(this, q(r))
160166 if ($isInstanceOf(j, "String"))
161167 then {
162168 let k = j
163169 k
164170 }
165171 else d
166172 }
167- let O = {
173+ let Q = {
168174 let j = getInteger(this, t(r))
169175 if ($isInstanceOf(j, "Int"))
170176 then {
171177 let k = j
172178 k
173179 }
174180 else b
175181 }
176- let J = (O - G)
177- if ((0 > G))
182+ let L = (Q - I)
183+ if ((0 > I))
178184 then throw("Can't withdraw negative amount")
179- else if ((0 > J))
185+ else if ((0 > L))
180186 then throw("Not enought /suficiente balance")
181- else ScriptResult(WriteSet([DataEntry(r, J)]), TransferSet([ScriptTransfer(F.caller, G, a)]))
187+ else ScriptResult(WriteSet([DataEntry(r, L)]), TransferSet([ScriptTransfer(H.caller, I, a)]))
182188 }
183189
184190
185-@Verifier(T)
186-func U () = {
187- let j = T
191+@Verifier(V)
192+func W () = {
193+ let j = V
188194 if ($isInstanceOf(j, "SetScriptTransaction"))
189195 then {
190- let V = j
191- sigVerify(T.bodyBytes, T.proofs[0], e)
196+ let X = j
197+ sigVerify(V.bodyBytes, V.proofs[0], e)
192198 }
193199 else if ($isInstanceOf(j, "DataTransaction"))
194200 then {
195- let W = j
201+ let Y = j
196202 true
197203 }
198204 else if ($isInstanceOf(j, "TransferTransaction"))
199205 then {
200- let T = j
201- let X = toBase58String(addressFromRecipient(T.recipient).bytes)
202- if ((T.sender == f))
206+ let V = j
207+ let Z = toBase58String(addressFromRecipient(V.recipient).bytes)
208+ if ((V.sender == f))
203209 then true
204210 else throw("You can't transferred this token")
205211 }
206212 else false
207213 }
208214

github/deemru/w8io/169f3d6 
56.80 ms