tx · 2uC99yj81Fk8yFiyg6KS5QRAnVVZVWgzMHZAbgQczo22

3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB:  -0.01400000 Waves

2021.09.29 10:14 [1723918] smart account 3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB > SELF 0.00000000 Waves

{ "type": 13, "id": "2uC99yj81Fk8yFiyg6KS5QRAnVVZVWgzMHZAbgQczo22", "fee": 1400000, "feeAssetId": null, "timestamp": 1632899642458, "version": 2, "chainId": 84, "sender": "3NC28hSivrmsTUXaYD1x6L362J4ZpUnoTdB", "senderPublicKey": "Gd5NihbWQoWuTnSvq25TuV2BYZG4U1e9KDqZn9zBPix7", "proofs": [ "r1X5oiz2GakvsAUMLAae77CXMzmpguieVUXvN8VQ3W6YvhxD8T1sUWkKQsBTQcu9sDJGg8UAhLPWmowTfaCTAuZ" ], "script": "base64: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", "height": 1723918, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4hawzMxiBEspyPUH6rxyTJ5N2Y9PWSPCwLfF2PpgRUwp Next: HCMNYD1gru7BSEwezGAox2zAmfu2DjQhm4hNeZt3p6PZ Diff:
OldNewDifferences
125125 let n = if (M)
126126 then toString(addressFromPublicKey(fromBase58String(I)))
127127 else toBase58String(F.caller.bytes)
128- let N = m(n)
129128 if (true)
130129 then throw("up to gere ok")
131- else if ((K != "NONE"))
132- then throw("This entry already exist")
133- else if ((L != "NONE"))
134- then throw("This uuid already exist")
135- else if ((size(g) != 36))
136- then throw("Uuid should be 36 characters.")
137- else if ((size(G) != 64))
138- then throw("Hash should be 64 characters.")
139- else if ((size(H) > 150))
140- then throw("Title is too long, 150 characters max.")
141- else if ((N > 0))
142- then [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), IntegerEntry(("addr_WHITELISTED_" + n), (N - 1)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(n), 0, c)]
143- else if (!(M))
144- then {
145- let O = value(F.payments[0])
146- let P = value(O.amount)
147- let Q = if (isDefined(O.assetId))
148- then value(O.assetId)
149- else throw("Waves is not accepted as payment")
150- let R = getIntegerValue(a, ("certification_fee_" + toBase58String(value(Q))))
151- if ((c != Q))
152- then throw("This token is not accepted at the moment")
153- else if (if ((P != R))
154- then (0 >= N)
155- else false)
156- then throw("The price is wrong")
157- else [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(b), P, O.assetId)]
158- }
159- else throw("You are not allowed to do that")
130+ else {
131+ let N = m(n)
132+ if ((K != "NONE"))
133+ then throw("This entry already exist")
134+ else if ((L != "NONE"))
135+ then throw("This uuid already exist")
136+ else if ((size(g) != 36))
137+ then throw("Uuid should be 36 characters.")
138+ else if ((size(G) != 64))
139+ then throw("Hash should be 64 characters.")
140+ else if ((size(H) > 150))
141+ then throw("Title is too long, 150 characters max.")
142+ else if ((N > 0))
143+ then [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), IntegerEntry(("addr_WHITELISTED_" + n), (N - 1)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(n), 0, c)]
144+ else if (!(M))
145+ then {
146+ let O = value(F.payments[0])
147+ let P = value(O.amount)
148+ let Q = if (isDefined(O.assetId))
149+ then value(O.assetId)
150+ else throw("Waves is not accepted as payment")
151+ let R = getIntegerValue(a, ("certification_fee_" + toBase58String(value(Q))))
152+ if ((c != Q))
153+ then throw("This token is not accepted at the moment")
154+ else if (if ((P != R))
155+ then (0 >= N)
156+ else false)
157+ then throw("The price is wrong")
158+ else [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(b), P, O.assetId)]
159+ }
160+ else throw("You are not allowed to do that")
161+ }
160162 }
161163
162164
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = value(addressFromString("3N2s5RtaHPBenCsx2ECcoFRbYHx3noZhXW1"))
55
66 let b = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
77
88 let c = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
99
1010 let d = "3KFXBGGLCjA5Z2DuW4Dq9fDDrHjJJP1ZEkaoajSzuKsC"
1111
1212 func e (f,g) = {
1313 let h = getString(this, (f + g))
1414 if ($isInstanceOf(h, "String"))
1515 then {
1616 let i = h
1717 i
1818 }
1919 else "NONE"
2020 }
2121
2222
2323 func j (g,k) = {
2424 let h = getString(this, ((g + "@") + k))
2525 if ($isInstanceOf(h, "String"))
2626 then {
2727 let i = h
2828 i
2929 }
3030 else "NONE"
3131 }
3232
3333
3434 func l (g) = {
3535 let h = getString(this, g)
3636 if ($isInstanceOf(h, "String"))
3737 then {
3838 let i = h
3939 i
4040 }
4141 else "NONE"
4242 }
4343
4444
4545 func m (n) = {
4646 let h = getInteger(this, ("addr_WHITELISTED_" + n))
4747 if ($isInstanceOf(h, "Int"))
4848 then {
4949 let i = h
5050 i
5151 }
5252 else 0
5353 }
5454
5555
5656 func o (p) = if (if (if ((size(p) == 35))
5757 then (take(p, 2) == "3P")
5858 else false)
5959 then true
6060 else (take(p, 2) == "3N"))
6161 then true
6262 else (take(p, 2) == "3M")
6363
6464
6565 func q (r,p) = if ((size(p) > 0))
6666 then (r + 1)
6767 else (r + 0)
6868
6969
7070 func s (t) = {
7171 let h = getString(this, t)
7272 if ($isInstanceOf(h, "String"))
7373 then {
7474 let i = h
7575 if ((i == "PENDING"))
7676 then true
7777 else false
7878 }
7979 else false
8080 }
8181
8282
8383 func u (v) = take(drop(v, 1), value(indexOf(drop(v, 1), "\"")))
8484
8585
8686 func w (v,t) = {
8787 let x = value(indexOf(v, (("\"" + t) + "\":")))
8888 let y = drop(v, ((x + size(t)) + 3))
8989 let z = u(y)
9090 z
9191 }
9292
9393
9494 func A (v,t) = {
9595 let x = value(indexOf(v, (("\"" + t) + "\":")))
9696 let y = take(v, ((x + size(t)) + 3))
9797 y
9898 }
9999
100100
101101 func B (v,t) = {
102102 let x = value(indexOf(v, (("\"" + t) + "\":")))
103103 let y = takeRight(v, (size(v) - ((((x + size(t)) + 3) + 0) + 2)))
104104 y
105105 }
106106
107107
108108 func C (D) = {
109109 let h = D
110110 if ($isInstanceOf(h, "String"))
111111 then {
112112 let E = h
113113 E
114114 }
115115 else throw("Sponsored Public Key String expected")
116116 }
117117
118118
119119 @Callable(F)
120120 func fileCertification (G,H,g,y,I) = {
121121 let J = value(F.transactionId)
122122 let K = e(G, g)
123123 let L = l(g)
124124 let M = (this == F.caller)
125125 let n = if (M)
126126 then toString(addressFromPublicKey(fromBase58String(I)))
127127 else toBase58String(F.caller.bytes)
128- let N = m(n)
129128 if (true)
130129 then throw("up to gere ok")
131- else if ((K != "NONE"))
132- then throw("This entry already exist")
133- else if ((L != "NONE"))
134- then throw("This uuid already exist")
135- else if ((size(g) != 36))
136- then throw("Uuid should be 36 characters.")
137- else if ((size(G) != 64))
138- then throw("Hash should be 64 characters.")
139- else if ((size(H) > 150))
140- then throw("Title is too long, 150 characters max.")
141- else if ((N > 0))
142- then [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), IntegerEntry(("addr_WHITELISTED_" + n), (N - 1)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(n), 0, c)]
143- else if (!(M))
144- then {
145- let O = value(F.payments[0])
146- let P = value(O.amount)
147- let Q = if (isDefined(O.assetId))
148- then value(O.assetId)
149- else throw("Waves is not accepted as payment")
150- let R = getIntegerValue(a, ("certification_fee_" + toBase58String(value(Q))))
151- if ((c != Q))
152- then throw("This token is not accepted at the moment")
153- else if (if ((P != R))
154- then (0 >= N)
155- else false)
156- then throw("The price is wrong")
157- else [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(b), P, O.assetId)]
158- }
159- else throw("You are not allowed to do that")
130+ else {
131+ let N = m(n)
132+ if ((K != "NONE"))
133+ then throw("This entry already exist")
134+ else if ((L != "NONE"))
135+ then throw("This uuid already exist")
136+ else if ((size(g) != 36))
137+ then throw("Uuid should be 36 characters.")
138+ else if ((size(G) != 64))
139+ then throw("Hash should be 64 characters.")
140+ else if ((size(H) > 150))
141+ then throw("Title is too long, 150 characters max.")
142+ else if ((N > 0))
143+ then [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), IntegerEntry(("addr_WHITELISTED_" + n), (N - 1)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(n), 0, c)]
144+ else if (!(M))
145+ then {
146+ let O = value(F.payments[0])
147+ let P = value(O.amount)
148+ let Q = if (isDefined(O.assetId))
149+ then value(O.assetId)
150+ else throw("Waves is not accepted as payment")
151+ let R = getIntegerValue(a, ("certification_fee_" + toBase58String(value(Q))))
152+ if ((c != Q))
153+ then throw("This token is not accepted at the moment")
154+ else if (if ((P != R))
155+ then (0 >= N)
156+ else false)
157+ then throw("The price is wrong")
158+ else [StringEntry(g, toBase58String(J)), StringEntry((G + g), toBase58String(J)), StringEntry((H + g), toBase58String(J)), StringEntry(((("data_fc_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(b), P, O.assetId)]
159+ }
160+ else throw("You are not allowed to do that")
161+ }
160162 }
161163
162164
163165
164166 @Callable(F)
165167 func revokeCertification (S,I) = {
166168 let J = value(F.transactionId)
167169 let M = (this == F.caller)
168170 let n = if (M)
169171 then toString(addressFromPublicKey(fromBase58String(I)))
170172 else toBase58String(F.caller.bytes)
171173 let K = {
172174 let h = getString(this, ((("data_fc_" + S) + "_") + n))
173175 if ($isInstanceOf(h, "String"))
174176 then {
175177 let i = h
176178 i
177179 }
178180 else "NONE"
179181 }
180182 let T = {
181183 let h = getString(this, ("STATUS_FC_" + S))
182184 if ($isInstanceOf(h, "String"))
183185 then {
184186 let i = h
185187 i
186188 }
187189 else "NONE"
188190 }
189191 let N = m(n)
190192 let U = (((dropRight(K, 1) + ",\"status\":\"REVOKED_") + toBase58String(J)) + "\"}")
191193 if ((T != "NONE"))
192194 then throw("This certification have already been revoked.")
193195 else if ((K == "NONE"))
194196 then throw("You cannot change the status of this certification.")
195197 else if ((N > 0))
196198 then [IntegerEntry(("addr_WHITELISTED_" + n), (N - 1)), StringEntry(("STATUS_FC_" + S), ("REVOKED_" + toBase58String(J))), StringEntry(((("data_fc_" + S) + "_") + n), U)]
197199 else if (!(M))
198200 then {
199201 let O = value(F.payments[0])
200202 let P = value(O.amount)
201203 let Q = if (isDefined(O.assetId))
202204 then value(O.assetId)
203205 else throw("Waves is not accepted as payment")
204206 let R = getIntegerValue(a, ("certification_fee_" + toBase58String(value(Q))))
205207 if ((c != Q))
206208 then throw("This token is not accepted at the moment")
207209 else if (if ((P != R))
208210 then (0 >= N)
209211 else false)
210212 then throw("The price is wrong")
211213 else [StringEntry(("STATUS_FC_" + S), ("REVOKED_" + toBase58String(J))), StringEntry(((("data_fc_" + S) + "_") + n), U), ScriptTransfer(addressFromStringValue(b), P, O.assetId)]
212214 }
213215 else throw("You are not allowed to do that")
214216 }
215217
216218
217219
218220 @Callable(F)
219221 func emailCertification (k,H,g,y,I) = {
220222 let J = value(F.transactionId)
221223 let K = j(k, g)
222224 let L = l(g)
223225 let M = (this == F.caller)
224226 let n = if (M)
225227 then toString(addressFromPublicKey(fromBase58String(I)))
226228 else toBase58String(F.caller.bytes)
227229 let N = m(n)
228230 if ((K != "NONE"))
229231 then throw("This entry already exist")
230232 else if ((L != "NONE"))
231233 then throw("This uuid already exist")
232234 else if ((size(g) > 36))
233235 then throw("Uuid is too long, 36 characters max.")
234236 else if ((size(k) > 150))
235237 then throw("Domain is too long, 150 characters max.")
236238 else if ((size(H) > 150))
237239 then throw("Title is too long, 150 characters max.")
238240 else if ((N > 0))
239241 then [StringEntry(g, toBase58String(J)), StringEntry(((g + "@") + k), toBase58String(J)), StringEntry((H + g), toBase58String(J)), IntegerEntry(("addr_WHITELISTED_" + n), (N - 1)), StringEntry(((("data_ec_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(n), 0, c)]
240242 else if (!(M))
241243 then {
242244 let O = value(F.payments[0])
243245 let P = value(O.amount)
244246 let Q = if (isDefined(O.assetId))
245247 then value(O.assetId)
246248 else throw("Waves is not accepted as payment")
247249 let R = getIntegerValue(a, ("certification_fee_" + toBase58String(value(Q))))
248250 if ((c != Q))
249251 then throw("This token is not accepted at the moment")
250252 else if (if ((P != R))
251253 then (0 >= N)
252254 else false)
253255 then throw("The price is wrong")
254256 else [StringEntry(g, toBase58String(J)), StringEntry(((g + "@") + k), toBase58String(J)), StringEntry((H + g), toBase58String(J)), StringEntry(((("data_ec_" + toBase58String(J)) + "_") + n), y), ScriptTransfer(addressFromStringValue(b), P, O.assetId)]
255257 }
256258 else throw("You are not allowed to do that")
257259 }
258260
259261
260262
261263 @Callable(F)
262264 func createAgreement (G,H,V,W,I,g) = {
263265 let J = value(F.transactionId)
264266 let K = e(G, g)
265267 let L = l(g)
266268 let M = (this == F.caller)
267269 let n = if (M)
268270 then toString(addressFromPublicKey(fromBase58String(I)))
269271 else toBase58String(F.caller.bytes)
270272 let N = m(n)
271273 let X = ((((A(V, "creator") + "\"") + n) + "\"") + B(V, "creator"))
272274 let Y = split(W, ",")
273275 let Z = size(Y)
274276 let aa = StringEntry((H + g), toBase58String(J))
275277 let ab = StringEntry((G + g), toBase58String(J))
276278 let ac = StringEntry(((("data_MA_" + toBase58String(J)) + "_") + n), X)
277279 let ad = StringEntry(((n + "_MA_") + toBase58String(J)), ("SIGNED_" + toBase58String(J)))
278280 let ae = IntegerEntry(("addr_WHITELISTED_" + n), (N - (Z + 1)))
279281 if ((K != "NONE"))
280282 then throw("This entry already exist")
281283 else if ((L != "NONE"))
282284 then throw("This uuid already exist")
283285 else if ((size(g) > 36))
284286 then throw("Uuid is too long, 36 characters max.")
285287 else if ((size(G) > 64))
286288 then throw("Message-id is too long, 64 characters max.")
287289 else if ((size(H) > 150))
288290 then throw("Title is too long, 150 characters max.")
289291 else if ((N > 0))
290292 then if (((Z + 1) > N))
291293 then throw("You don't have enough certification credit")
292294 else if ((Z == 6))
293295 then [aa, ab, ac, ad, ae, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[3] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[4] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[5] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(n), 0, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c), ScriptTransfer(addressFromStringValue(Y[3]), 0, c), ScriptTransfer(addressFromStringValue(Y[4]), 0, c), ScriptTransfer(addressFromStringValue(Y[5]), 0, c)]
294296 else if ((Z == 5))
295297 then [aa, ab, ac, ad, ae, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[3] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[4] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(n), 0, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c), ScriptTransfer(addressFromStringValue(Y[3]), 0, c), ScriptTransfer(addressFromStringValue(Y[4]), 0, c)]
296298 else if ((Z == 4))
297299 then [aa, ab, ac, ad, ae, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[3] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(n), 0, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c), ScriptTransfer(addressFromStringValue(Y[3]), 0, c)]
298300 else if ((Z == 3))
299301 then [aa, ab, ac, ad, ae, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(n), 0, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c)]
300302 else if ((Z == 2))
301303 then [aa, ab, ac, ad, ae, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(n), 0, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c)]
302304 else if ((Z == 1))
303305 then [aa, ab, ac, ad, ae, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(n), 0, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c)]
304306 else throw("Wrong number of participants")
305307 else if (!(M))
306308 then {
307309 let O = value(F.payments[0])
308310 let P = if (isDefined(O.amount))
309311 then value(O.amount)
310312 else 0
311313 let Q = if (isDefined(O.assetId))
312314 then value(O.assetId)
313315 else c
314316 let R = getIntegerValue(a, ("certification_fee_" + toBase58String(value(Q))))
315317 if (((R * (Z + 1)) > P))
316318 then throw(("The price is wrong, it should be " + toString((R * (Z + 1)))))
317319 else if ((Z == 6))
318320 then [aa, ab, ac, ad, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[3] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[4] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[5] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(b), P, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c), ScriptTransfer(addressFromStringValue(Y[3]), 0, c), ScriptTransfer(addressFromStringValue(Y[4]), 0, c), ScriptTransfer(addressFromStringValue(Y[5]), 0, c)]
319321 else if ((Z == 5))
320322 then [aa, ab, ac, ad, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[3] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[4] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(b), P, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c), ScriptTransfer(addressFromStringValue(Y[3]), 0, c), ScriptTransfer(addressFromStringValue(Y[4]), 0, c)]
321323 else if ((Z == 4))
322324 then [aa, ab, ac, ad, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[3] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(b), P, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c), ScriptTransfer(addressFromStringValue(Y[3]), 0, c)]
323325 else if ((Z == 3))
324326 then [aa, ab, ac, ad, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[2] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(b), P, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c), ScriptTransfer(addressFromStringValue(Y[2]), 0, c)]
325327 else if ((Z == 2))
326328 then [aa, ab, ac, ad, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), StringEntry(((Y[1] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(b), P, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c), ScriptTransfer(addressFromStringValue(Y[1]), 0, c)]
327329 else if ((Z == 1))
328330 then [aa, ab, ac, ad, StringEntry(((Y[0] + "_MA_") + toBase58String(J)), "PENDING"), ScriptTransfer(addressFromStringValue(b), P, c), ScriptTransfer(addressFromStringValue(Y[0]), 0, c)]
329331 else throw(("Needs 1 to 6 recipient addresses, currently sent: " + toString(Z)))
330332 }
331333 else throw("You are not allowed to do that")
332334 }
333335
334336
335337
336338 @Callable(F)
337339 func signAgreement (G,af,I) = {
338340 let O = value(F.payments[0])
339341 let P = value(O.amount)
340342 let J = value(F.transactionId)
341343 let M = (this == F.caller)
342344 let ag = if (M)
343345 then toString(addressFromPublicKey(fromBase58String(I)))
344346 else toBase58String(F.caller.bytes)
345347 let ah = s(((ag + "_MA_") + af))
346348 if (!(ah))
347349 then throw("Sorry there is no pending signature")
348350 else [StringEntry(((ag + "_MA_") + af), ("SIGNED_" + toBase58String(J))), ScriptTransfer(addressFromStringValue(ag), 0, c)]
349351 }
350352
351353
352354
353355 @Callable(F)
354356 func usdnSignCredits () = {
355357 let O = value(F.payments[0])
356358 let n = toBase58String(F.caller.bytes)
357359 let ai = value(O.assetId)
358360 let P = value(O.amount)
359361 let aj = ((P * 2) / 1000000)
360362 let N = m(n)
361363 if ((toBase58String(ai) != d))
362364 then throw("Only USDN can be exchanged")
363365 else if (if (((P % 1000000) != 0))
364366 then ((P % 1000000) != 500000)
365367 else false)
366368 then throw(((("You can only exchange multiple of 0.5, you sent:" + dropRight(toString(P), 6)) + ".") + takeRight(toString(P), 6)))
367369 else [IntegerEntry(("addr_WHITELISTED_" + n), (N + aj)), ScriptTransfer(addressFromStringValue(b), P, ai)]
368370 }
369371
370372
371373 @Verifier(ak)
372374 func al () = {
373375 let h = ak
374376 if ($isInstanceOf(h, "InvokeScriptTransaction"))
375377 then {
376378 let am = h
377379 if (if (if ((am.function == "fileCertification"))
378380 then true
379381 else (am.function == "emailCertification"))
380382 then true
381383 else (am.function == "createAgreement"))
382384 then sigVerify(ak.bodyBytes, ak.proofs[0], fromBase58String(C(am.args[4])))
383385 else if ((am.function == "signAgreement"))
384386 then sigVerify(ak.bodyBytes, ak.proofs[0], fromBase58String(C(am.args[2])))
385387 else if ((am.function == "revokeCertification"))
386388 then sigVerify(ak.bodyBytes, ak.proofs[0], fromBase58String(C(am.args[1])))
387389 else sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
388390 }
389391 else sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
390392 }
391393

github/deemru/w8io/3ef1775 
171.72 ms