tx · Sve5MDcEV9GqtZfEyZpxS8QdF5sN55vEhf6rqjqHqqQ

3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6:  -0.01000000 Waves

2023.03.09 00:23 [2481647] smart account 3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6 > SELF 0.00000000 Waves

{ "type": 13, "id": "Sve5MDcEV9GqtZfEyZpxS8QdF5sN55vEhf6rqjqHqqQ", "fee": 1000000, "feeAssetId": null, "timestamp": 1678310666825, "version": 2, "chainId": 84, "sender": "3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6", "senderPublicKey": "GmYZFRssDr88KiZt3x4LsJ6qfqaTfMUycQTKZVdipUgS", "proofs": [ "76oqSW2sKKevuQiZenk1t2i7CGzFUt7t8gXQhSGVyj7jCGgyKptqiiEfjLVoswCJ4AJ8BYpH2JMgrhgNMC32AjH" ], "script": "base64:BgIgCAISBAoCCAESBAoCGBgSBAoCCAgSAwoBCBIFCgMICAgCAAxvcHRpb25zX2FkZHIJAQdBZGRyZXNzAQEaAVRBW/gr9hfqKqHLxIrx+8e7siBhMf6HIMEABHRVU0QBIKskSmq2Qkbr0vzjebBhusOuaVdNUnrKRRynQB0RsCkOBQFpAQ1yZWlzc3VlVG9rZW5zAgV0b2tlbghxdWFudGl0eQQJYWRtaW5MaXN0BAckbWF0Y2gwCQCdCAIFDG9wdGlvbnNfYWRkcgIKYWRtaW5fbGlzdAMJAAECBQckbWF0Y2gwAgRVbml0AgV1bnNldAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgJAAIBAgtNYXRjaCBlcnJvcgQQY2FsbGVyQWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIDCQECIT0CBQlhZG1pbkxpc3QCBXVuc2V0BAR0ZXN0CQCdCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCWFkbWluTGlzdAUQY2FsbGVyQWRkcmVzc1N0cgQHaXNBZG1pbgQHJG1hdGNoMAUEdGVzdAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgDCQABAgUHJG1hdGNoMAIEVW5pdAIIbm8gYWRtaW4JAAIBAgtNYXRjaCBlcnJvcgMJAQIhPQIFB2lzQWRtaW4CCG5vIGFkbWluBAdyZWlzc3VlCQEHUmVpc3N1ZQMJANkEAQUFdG9rZW4FCHF1YW50aXR5BgkAlAoCCQDMCAIFB3JlaXNzdWUFA25pbAoAAUAFB3JlaXNzdWUDCQABAgUBQAIGU3RyaW5nBQFABQR1bml0CQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPWW91IG5vdCBhZG1pbjogBQlhZG1pbkxpc3QCCywgaXNBZG1pbjogBQdpc0FkbWluAhQsIGNhbGxlckFkZHJlc3NTdHI6IAUQY2FsbGVyQWRkcmVzc1N0cgICLCAJAAIBAhBVbnNldCBhZG1pbiBsaXN0AWkBCnNldE9wdGlvbnMCBG9wdHMEdmFscwQIb3B0X3NpemUJAJADAQUEb3B0cwMJAGcCAGQFCG9wdF9zaXplBAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUEdGhpcwIK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dAkAtQkCBQdvcHRpb25zAgF8CQELU3RyaW5nRW50cnkCCQCRAwIFA29wdAAACQCRAwIFA29wdAABAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4FAXIJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9Zb3Ugbm90IGFkbWluOiAFCWFkbWluTGlzdAILLCBpc0FkbWluOiAFB2lzQWRtaW4CFCwgY2FsbGVyQWRkcmVzc1N0cjogBRBjYWxsZXJBZGRyZXNzU3RyAgIsIAkAAgECEFVuc2V0IGFkbWluIGxpc3QJAAIBAi9UaGUgbnVtYmVyIG9mIGxpc3QgZWxlbWVudHMgbXVzdCBub3QgZXhjZWVkIDEwMAFpAQlzZXRPcHRpb24CCHZhcmlhYmxlBXZhbHVlBAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUEdGhpcwIKYWRtaW5fbGlzdAMJAAECBQckbWF0Y2gwAgRVbml0AgV1bnNldAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgJAAIBAgtNYXRjaCBlcnJvcgQQY2FsbGVyQWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIDCQECIT0CBQlhZG1pbkxpc3QCBXVuc2V0BAR0ZXN0CQCdCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCWFkbWluTGlzdAUQY2FsbGVyQWRkcmVzc1N0cgQHaXNBZG1pbgQHJG1hdGNoMAUEdGVzdAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgDCQABAgUHJG1hdGNoMAIEVW5pdAIIbm8gYWRtaW4JAAIBAgtNYXRjaCBlcnJvcgMJAQIhPQIFB2lzQWRtaW4CCG5vIGFkbWluCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUIdmFyaWFibGUFBXZhbHVlBQNuaWwFBHVuaXQJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9Zb3Ugbm90IGFkbWluOiAFCWFkbWluTGlzdAILLCBpc0FkbWluOiAFB2lzQWRtaW4CFCwgY2FsbGVyQWRkcmVzc1N0cjogBRBjYWxsZXJBZGRyZXNzU3RyAgIsIAkAAgECEFVuc2V0IGFkbWluIGxpc3QBaQEJZGVsT3B0aW9uAQh2YXJpYWJsZQQJYWRtaW5MaXN0BAckbWF0Y2gwCQCdCAIFBHRoaXMCCmFkbWluX2xpc3QDCQABAgUHJG1hdGNoMAIEVW5pdAIFdW5zZXQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4CQACAQILTWF0Y2ggZXJyb3IEEGNhbGxlckFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgUJYWRtaW5MaXN0AgV1bnNldAQEdGVzdAkAnQgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQlhZG1pbkxpc3QFEGNhbGxlckFkZHJlc3NTdHIEB2lzQWRtaW4EByRtYXRjaDAFBHRlc3QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4AwkAAQIFByRtYXRjaDACBFVuaXQCCG5vIGFkbWluCQACAQILTWF0Y2ggZXJyb3IDCQECIT0CBQdpc0FkbWluAghubyBhZG1pbgkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEFCHZhcmlhYmxlBQNuaWwFBHVuaXQJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9Zb3Ugbm90IGFkbWluOiAFCWFkbWluTGlzdAILLCBpc0FkbWluOiAFB2lzQWRtaW4CFCwgY2FsbGVyQWRkcmVzc1N0cjogBRBjYWxsZXJBZGRyZXNzU3RyAgIsIAkAAgECEFVuc2V0IGFkbWluIGxpc3QBaQELcmVnUHJvdmlkZXIDBG5hbWUDaW5uBG9ncm4EDWlzS25vd25DYWxsZXIEByRtYXRjaDAJAJ0IAgUEdGhpcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzAwkAAQIFByRtYXRjaDACBlN0cmluZwQEaGlzdAUHJG1hdGNoMAUEaGlzdAIFdW5zZXQDCQECIT0CBQ1pc0tub3duQ2FsbGVyAgV1bnNldAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkArAICCQCsAgIJAKwCAgkArAICBQRuYW1lAgF8BQNpbm4CAXwFBG9ncm4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAMCEPQUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAwIQ9BQR0VVNEBQNuaWwFBHVuaXQJAAIBAhVDYW4gYmUgdXNlZCBvbmx5IG9uY2UBAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAg9EYXRhVHJhbnNhY3Rpb24EA2R0eAUHJG1hdGNoMAcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkqN9X2", "height": 2481647, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6y5mXHWyoT5BUa2uA45J8w2JtBUqD8Qqx1ugtK9GVtKU Next: GZRhmZTwAjnCBv5o4dyRam5txBdjFbvn9kUkayjvZhJD Diff:
OldNewDifferences
3030 if ((isAdmin != "no admin"))
3131 then {
3232 let reissue = Reissue(fromBase58String(token), quantity, true)
33- $Tuple2([reissue], "Reissue error")
33+ $Tuple2([reissue], {
34+ let @ = reissue
35+ if ($isInstanceOf(@, "String"))
36+ then @
37+ else unit
38+ })
3439 }
3540 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
3641 }
5358 throw("Match error")
5459 }
5560 func addStringEntry (accum,nextValue) = {
56- let $t015971620 = accum
57- let result = $t015971620._1
58- let j = $t015971620._2
61+ let $t016001623 = accum
62+ let result = $t016001623._1
63+ let j = $t016001623._2
5964 $Tuple2((result :+ StringEntry(opts[j], nextValue)), (j + 1))
6065 }
6166
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let options_addr = Address(base58'3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6')
55
66 let tUSD = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85'
77
88 @Callable(i)
99 func reissueTokens (token,quantity) = {
1010 let adminList = match getString(options_addr, "admin_list") {
1111 case _: Unit =>
1212 "unset"
1313 case x: String =>
1414 x
1515 case _ =>
1616 throw("Match error")
1717 }
1818 let callerAddressStr = toString(i.caller)
1919 if ((adminList != "unset"))
2020 then {
2121 let test = getString(addressFromStringValue(adminList), callerAddressStr)
2222 let isAdmin = match test {
2323 case x: String =>
2424 x
2525 case _: Unit =>
2626 "no admin"
2727 case _ =>
2828 throw("Match error")
2929 }
3030 if ((isAdmin != "no admin"))
3131 then {
3232 let reissue = Reissue(fromBase58String(token), quantity, true)
33- $Tuple2([reissue], "Reissue error")
33+ $Tuple2([reissue], {
34+ let @ = reissue
35+ if ($isInstanceOf(@, "String"))
36+ then @
37+ else unit
38+ })
3439 }
3540 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
3641 }
3742 else throw("Unset admin list")
3843 }
3944
4045
4146
4247 @Callable(i)
4348 func setOptions (opts,vals) = {
4449 let opt_size = size(opts)
4550 if ((100 >= opt_size))
4651 then {
4752 let adminList = match getString(this, "admin_list") {
4853 case _: Unit =>
4954 "unset"
5055 case x: String =>
5156 x
5257 case _ =>
5358 throw("Match error")
5459 }
5560 func addStringEntry (accum,nextValue) = {
56- let $t015971620 = accum
57- let result = $t015971620._1
58- let j = $t015971620._2
61+ let $t016001623 = accum
62+ let result = $t016001623._1
63+ let j = $t016001623._2
5964 $Tuple2((result :+ StringEntry(opts[j], nextValue)), (j + 1))
6065 }
6166
6267 let r = {
6368 let $l = vals
6469 let $s = size($l)
6570 let $acc0 = $Tuple2(nil, 0)
6671 func $f0_1 ($a,$i) = if (($i >= $s))
6772 then $a
6873 else addStringEntry($a, $l[$i])
6974
7075 func $f0_2 ($a,$i) = if (($i >= $s))
7176 then $a
7277 else throw("List size exceeds 100")
7378
7479 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
7580 }
7681 let callerAddressStr = toString(i.caller)
7782 if ((adminList != "unset"))
7883 then {
7984 let test = getString(addressFromStringValue(adminList), callerAddressStr)
8085 let isAdmin = match test {
8186 case x: String =>
8287 x
8388 case _: Unit =>
8489 "no admin"
8590 case _ =>
8691 throw("Match error")
8792 }
8893 func add_elm (options) = {
8994 let opt = split(options, "|")
9095 StringEntry(opt[0], opt[1])
9196 }
9297
9398 if ((isAdmin != "no admin"))
9499 then r
95100 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
96101 }
97102 else throw("Unset admin list")
98103 }
99104 else throw("The number of list elements must not exceed 100")
100105 }
101106
102107
103108
104109 @Callable(i)
105110 func setOption (variable,value) = {
106111 let adminList = match getString(this, "admin_list") {
107112 case _: Unit =>
108113 "unset"
109114 case x: String =>
110115 x
111116 case _ =>
112117 throw("Match error")
113118 }
114119 let callerAddressStr = toString(i.caller)
115120 if ((adminList != "unset"))
116121 then {
117122 let test = getString(addressFromStringValue(adminList), callerAddressStr)
118123 let isAdmin = match test {
119124 case x: String =>
120125 x
121126 case _: Unit =>
122127 "no admin"
123128 case _ =>
124129 throw("Match error")
125130 }
126131 if ((isAdmin != "no admin"))
127132 then $Tuple2([StringEntry(variable, value)], unit)
128133 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
129134 }
130135 else throw("Unset admin list")
131136 }
132137
133138
134139
135140 @Callable(i)
136141 func delOption (variable) = {
137142 let adminList = match getString(this, "admin_list") {
138143 case _: Unit =>
139144 "unset"
140145 case x: String =>
141146 x
142147 case _ =>
143148 throw("Match error")
144149 }
145150 let callerAddressStr = toString(i.caller)
146151 if ((adminList != "unset"))
147152 then {
148153 let test = getString(addressFromStringValue(adminList), callerAddressStr)
149154 let isAdmin = match test {
150155 case x: String =>
151156 x
152157 case _: Unit =>
153158 "no admin"
154159 case _ =>
155160 throw("Match error")
156161 }
157162 if ((isAdmin != "no admin"))
158163 then $Tuple2([DeleteEntry(variable)], unit)
159164 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
160165 }
161166 else throw("Unset admin list")
162167 }
163168
164169
165170
166171 @Callable(i)
167172 func regProvider (name,inn,ogrn) = {
168173 let isKnownCaller = match getString(this, toBase58String(i.caller.bytes)) {
169174 case hist: String =>
170175 hist
171176 case _ =>
172177 "unset"
173178 }
174179 if ((isKnownCaller != "unset"))
175180 then $Tuple2([StringEntry(toBase58String(i.caller.bytes), ((((name + "|") + inn) + "|") + ogrn)), ScriptTransfer(i.caller, 1000000, unit), ScriptTransfer(i.caller, 1000000, tUSD)], unit)
176181 else throw("Can be used only once")
177182 }
178183
179184
180185 @Verifier(tx)
181186 func verify () = match tx {
182187 case dtx: DataTransaction =>
183188 false
184189 case _ =>
185190 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
186191 }
187192

github/deemru/w8io/873ac7e 
43.77 ms