tx · HEXE2ZWAwh6hsDvp1GmimaQDJyBZBZ3DR4cGnFYPGz9c

3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6:  -0.01000000 Waves

2023.03.09 02:49 [2481785] smart account 3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6 > SELF 0.00000000 Waves

{ "type": 13, "id": "HEXE2ZWAwh6hsDvp1GmimaQDJyBZBZ3DR4cGnFYPGz9c", "fee": 1000000, "feeAssetId": null, "timestamp": 1678319353801, "version": 2, "chainId": 84, "sender": "3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6", "senderPublicKey": "GmYZFRssDr88KiZt3x4LsJ6qfqaTfMUycQTKZVdipUgS", "proofs": [ "5E4EpePVbroP5nc9fvqWC8dPdTcCySZq3L1NdHofWkTVhLa7ek5aTWz6JCFmVpSp6K57VsczvRmAGhDq4Up4kVPS" ], "script": "base64:BgImCAISBAoCCAESBAoCCAESBAoCGBgSBAoCCAgSAwoBCBIFCgMICAgDAAxvcHRpb25zX2FkZHIJAQdBZGRyZXNzAQEaAVRBW/gr9hfqKqHLxIrx+8e7siBhMf6HIMEABHRSVUIBIL+yNSxI/30uJ2QBhJluNs/7yveJ33oijdPH8O2ulNmbAAR0VVNEASCrJEpqtkJG69L843mwYbrDrmlXTVJ6ykUcp0AdEbApDgYBaQERcmVpc3N1ZUZvckRlcEFkZHICBXRva2VuCHF1YW50aXR5BAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUMb3B0aW9uc19hZGRyAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4EB3JlaXNzdWUJAQdSZWlzc3VlAwkA2QQBBQV0b2tlbgUIcXVhbnRpdHkGAwkAAAIFB3JlaXNzdWUFB3JlaXNzdWUJAJQKAgkAzAgCBQdyZWlzc3VlBQNuaWwJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiFSZWlzc3VlIGVycm9yIGZvciBwYXJhbTogdG9rZW4gPT4FBXRva2VuAgogcXVhbnRpdHk6CQCkAwEFCHF1YW50aXR5AgssIGlzQWRtaW46IAUHaXNBZG1pbgIULCBjYWxsZXJBZGRyZXNzU3RyOiAFEGNhbGxlckFkZHJlc3NTdHICAS4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9Zb3Ugbm90IGFkbWluOiAFCWFkbWluTGlzdAILLCBpc0FkbWluOiAFB2lzQWRtaW4CFCwgY2FsbGVyQWRkcmVzc1N0cjogBRBjYWxsZXJBZGRyZXNzU3RyAgIsIAkAAgECEFVuc2V0IGFkbWluIGxpc3QBaQENcmVpc3N1ZVRva2VucwIFdG9rZW4IcXVhbnRpdHkECWFkbWluTGlzdAQHJG1hdGNoMAkAnQgCBQxvcHRpb25zX2FkZHICCmFkbWluX2xpc3QDCQABAgUHJG1hdGNoMAIEVW5pdAIFdW5zZXQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4CQACAQILTWF0Y2ggZXJyb3IEEGNhbGxlckFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgUJYWRtaW5MaXN0AgV1bnNldAQEdGVzdAkAnQgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQlhZG1pbkxpc3QFEGNhbGxlckFkZHJlc3NTdHIEB2lzQWRtaW4EByRtYXRjaDAFBHRlc3QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4AwkAAQIFByRtYXRjaDACBFVuaXQCCG5vIGFkbWluCQACAQILTWF0Y2ggZXJyb3IDCQECIT0CBQdpc0FkbWluAghubyBhZG1pbgQHcmVpc3N1ZQkBB1JlaXNzdWUDCQDZBAEFBXRva2VuBQhxdWFudGl0eQYJAJQKAgkAzAgCBQdyZWlzc3VlBQNuaWwJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiJSZWlzc3VlIGVycm9yIGZvciBwYXJhbTogdG9rZW4gPT4gBQV0b2tlbgILLCBxdWFudGl0eToJAKQDAQUIcXVhbnRpdHkCCywgaXNBZG1pbjogBQdpc0FkbWluAhQsIGNhbGxlckFkZHJlc3NTdHI6IAUQY2FsbGVyQWRkcmVzc1N0cgIBLgkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD1lvdSBub3QgYWRtaW46IAUJYWRtaW5MaXN0AgssIGlzQWRtaW46IAUHaXNBZG1p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MikBBQlhZG1pbkxpc3QFEGNhbGxlckFkZHJlc3NTdHIEB2lzQWRtaW4EByRtYXRjaDAFBHRlc3QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4AwkAAQIFByRtYXRjaDACBFVuaXQCCG5vIGFkbWluCQACAQILTWF0Y2ggZXJyb3IKAQdhZGRfZWxtAQdvcHRpb25zBANvcHQJALUJAgUHb3B0aW9ucwIBfAkBC1N0cmluZ0VudHJ5AgkAkQMCBQNvcHQAAAkAkQMCBQNvcHQAAQMJAQIhPQIFB2lzQWRtaW4CCG5vIGFkbWluBQFyCQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPWW91IG5vdCBhZG1pbjogBQlhZG1pbkxpc3QCCywgaXNBZG1pbjogBQdpc0FkbWluAhQsIGNhbGxlckFkZHJlc3NTdHI6IAUQY2FsbGVyQWRkcmVzc1N0cgICLCAJAAIBAhBVbnNldCBhZG1pbiBsaXN0CQACAQIvVGhlIG51bWJlciBvZiBsaXN0IGVsZW1lbnRzIG11c3Qgbm90IGV4Y2VlZCAxMDABaQEJc2V0T3B0aW9uAgh2YXJpYWJsZQV2YWx1ZQQJYWRtaW5MaXN0BAckbWF0Y2gwCQCdCAIFBHRoaXMCCmFkbWluX2xpc3QDCQABAgUHJG1hdGNoMAIEVW5pdAIFdW5zZXQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4CQACAQILTWF0Y2ggZXJyb3IEEGNhbGxlckFkZHJlc3NTdHIJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgUJYWRtaW5MaXN0AgV1bnNldAQEdGVzdAkAnQgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQlhZG1pbkxpc3QFEGNhbGxlckFkZHJlc3NTdHIEB2lzQWRtaW4EByRtYXRjaDAFBHRlc3QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4AwkAAQIFByRtYXRjaDACBFVuaXQCCG5vIGFkbWluCQACAQILTWF0Y2ggZXJyb3IDCQECIT0CBQdpc0FkbWluAghubyBhZG1pbgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFCHZhcmlhYmxlBQV2YWx1ZQUDbmlsBQR1bml0CQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPWW91IG5vdCBhZG1pbjogBQlhZG1pbkxpc3QCCywgaXNBZG1pbjogBQdpc0FkbWluAhQsIGNhbGxlckFkZHJlc3NTdHI6IAUQY2FsbGVyQWRkcmVzc1N0cgICLCAJAAIBAhBVbnNldCBhZG1pbiBsaXN0AWkBCWRlbE9wdGlvbgEIdmFyaWFibGUECWFkbWluTGlzdAQHJG1hdGNoMAkAnQgCBQR0aGlzAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4JAJQKAgkAzAgCCQELRGVsZXRlRW50cnkBBQh2YXJpYWJsZQUDbmlsBQR1bml0CQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPWW91IG5vdCBhZG1pbjogBQlhZG1pbkxpc3QCCywgaXNBZG1pbjogBQdpc0FkbWluAhQsIGNhbGxlckFkZHJlc3NTdHI6IAUQY2FsbGVyQWRkcmVzc1N0cgICLCAJAAIBAhBVbnNldCBhZG1pbiBsaXN0AWkBC3JlZ1Byb3ZpZGVyAwRuYW1lA2lubgRvZ3JuBA1pc0tub3duQ2FsbGVyBAckbWF0Y2gwCQCdCAIFBHRoaXMJANgEAQgIBQFpBmNhbGxlcgVieXRlcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBGhpc3QFByRtYXRjaDAFBGhpc3QCBXVuc2V0AwkBAiE9AgUNaXNLbm93bkNhbGxlcgIFdW5zZXQJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJAKwCAgkArAICCQCsAgIJAKwCAgUEbmFtZQIBfAUDaW5uAgF8BQRvZ3JuCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgDAhD0FBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAMCEPQUEdFVTRAUDbmlsBQR1bml0CQACAQIVQ2FuIGJlIHVzZWQgb25seSBvbmNlAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAUCdHgDCQABAgUHJG1hdGNoMAIPRGF0YVRyYW5zYWN0aW9uBANkdHgFByRtYXRjaDAHCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5ixcXyw==", "height": 2481785, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8JmEHU2rJ9151yvKVymwrT8b6fWLRx6KJeapEwyc4oK Next: EbRNPMnmTWZrq7eC8DG36PnnaMVR3iyKPH7x4T1bbSe Diff:
OldNewDifferences
3232 if ((isAdmin != "no admin"))
3333 then {
3434 let reissue = Reissue(fromBase58String(token), quantity, true)
35- $Tuple2([reissue], (((((((("Reissue error for param: token =>" + token) + " quantity:") + toString(quantity)) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + "."))
35+ if ((reissue == reissue))
36+ then $Tuple2([reissue], (((((((("Reissue error for param: token =>" + token) + " quantity:") + toString(quantity)) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + "."))
37+ else throw("Strict value is not equal to itself.")
3638 }
3739 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
3840 }
8991 throw("Match error")
9092 }
9193 func addStringEntry (accum,nextValue) = {
92- let $t029342957 = accum
93- let result = $t029342957._1
94- let j = $t029342957._2
94+ let $t029372960 = accum
95+ let result = $t029372960._1
96+ let j = $t029372960._2
9597 $Tuple2((result :+ StringEntry(opts[j], nextValue)), (j + 1))
9698 }
9799
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let options_addr = Address(base58'3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6')
55
66 let tRUB = base58'DuJUjEZJWmpFUo3bubFX8tomUVitqZZNAPuhd6KWgJNE'
77
88 let tUSD = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85'
99
1010 @Callable(i)
1111 func reissueForDepAddr (token,quantity) = {
1212 let adminList = match getString(options_addr, "admin_list") {
1313 case _: Unit =>
1414 "unset"
1515 case x: String =>
1616 x
1717 case _ =>
1818 throw("Match error")
1919 }
2020 let callerAddressStr = toString(i.caller)
2121 if ((adminList != "unset"))
2222 then {
2323 let test = getString(addressFromStringValue(adminList), callerAddressStr)
2424 let isAdmin = match test {
2525 case x: String =>
2626 x
2727 case _: Unit =>
2828 "no admin"
2929 case _ =>
3030 throw("Match error")
3131 }
3232 if ((isAdmin != "no admin"))
3333 then {
3434 let reissue = Reissue(fromBase58String(token), quantity, true)
35- $Tuple2([reissue], (((((((("Reissue error for param: token =>" + token) + " quantity:") + toString(quantity)) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + "."))
35+ if ((reissue == reissue))
36+ then $Tuple2([reissue], (((((((("Reissue error for param: token =>" + token) + " quantity:") + toString(quantity)) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + "."))
37+ else throw("Strict value is not equal to itself.")
3638 }
3739 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
3840 }
3941 else throw("Unset admin list")
4042 }
4143
4244
4345
4446 @Callable(i)
4547 func reissueTokens (token,quantity) = {
4648 let adminList = match getString(options_addr, "admin_list") {
4749 case _: Unit =>
4850 "unset"
4951 case x: String =>
5052 x
5153 case _ =>
5254 throw("Match error")
5355 }
5456 let callerAddressStr = toString(i.caller)
5557 if ((adminList != "unset"))
5658 then {
5759 let test = getString(addressFromStringValue(adminList), callerAddressStr)
5860 let isAdmin = match test {
5961 case x: String =>
6062 x
6163 case _: Unit =>
6264 "no admin"
6365 case _ =>
6466 throw("Match error")
6567 }
6668 if ((isAdmin != "no admin"))
6769 then {
6870 let reissue = Reissue(fromBase58String(token), quantity, true)
6971 $Tuple2([reissue], (((((((("Reissue error for param: token => " + token) + ", quantity:") + toString(quantity)) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + "."))
7072 }
7173 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
7274 }
7375 else throw("Unset admin list")
7476 }
7577
7678
7779
7880 @Callable(i)
7981 func setOptions (opts,vals) = {
8082 let opt_size = size(opts)
8183 if ((100 >= opt_size))
8284 then {
8385 let adminList = match getString(this, "admin_list") {
8486 case _: Unit =>
8587 "unset"
8688 case x: String =>
8789 x
8890 case _ =>
8991 throw("Match error")
9092 }
9193 func addStringEntry (accum,nextValue) = {
92- let $t029342957 = accum
93- let result = $t029342957._1
94- let j = $t029342957._2
94+ let $t029372960 = accum
95+ let result = $t029372960._1
96+ let j = $t029372960._2
9597 $Tuple2((result :+ StringEntry(opts[j], nextValue)), (j + 1))
9698 }
9799
98100 let r = {
99101 let $l = vals
100102 let $s = size($l)
101103 let $acc0 = $Tuple2(nil, 0)
102104 func $f0_1 ($a,$i) = if (($i >= $s))
103105 then $a
104106 else addStringEntry($a, $l[$i])
105107
106108 func $f0_2 ($a,$i) = if (($i >= $s))
107109 then $a
108110 else throw("List size exceeds 100")
109111
110112 $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)
111113 }
112114 let callerAddressStr = toString(i.caller)
113115 if ((adminList != "unset"))
114116 then {
115117 let test = getString(addressFromStringValue(adminList), callerAddressStr)
116118 let isAdmin = match test {
117119 case x: String =>
118120 x
119121 case _: Unit =>
120122 "no admin"
121123 case _ =>
122124 throw("Match error")
123125 }
124126 func add_elm (options) = {
125127 let opt = split(options, "|")
126128 StringEntry(opt[0], opt[1])
127129 }
128130
129131 if ((isAdmin != "no admin"))
130132 then r
131133 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
132134 }
133135 else throw("Unset admin list")
134136 }
135137 else throw("The number of list elements must not exceed 100")
136138 }
137139
138140
139141
140142 @Callable(i)
141143 func setOption (variable,value) = {
142144 let adminList = match getString(this, "admin_list") {
143145 case _: Unit =>
144146 "unset"
145147 case x: String =>
146148 x
147149 case _ =>
148150 throw("Match error")
149151 }
150152 let callerAddressStr = toString(i.caller)
151153 if ((adminList != "unset"))
152154 then {
153155 let test = getString(addressFromStringValue(adminList), callerAddressStr)
154156 let isAdmin = match test {
155157 case x: String =>
156158 x
157159 case _: Unit =>
158160 "no admin"
159161 case _ =>
160162 throw("Match error")
161163 }
162164 if ((isAdmin != "no admin"))
163165 then $Tuple2([StringEntry(variable, value)], unit)
164166 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
165167 }
166168 else throw("Unset admin list")
167169 }
168170
169171
170172
171173 @Callable(i)
172174 func delOption (variable) = {
173175 let adminList = match getString(this, "admin_list") {
174176 case _: Unit =>
175177 "unset"
176178 case x: String =>
177179 x
178180 case _ =>
179181 throw("Match error")
180182 }
181183 let callerAddressStr = toString(i.caller)
182184 if ((adminList != "unset"))
183185 then {
184186 let test = getString(addressFromStringValue(adminList), callerAddressStr)
185187 let isAdmin = match test {
186188 case x: String =>
187189 x
188190 case _: Unit =>
189191 "no admin"
190192 case _ =>
191193 throw("Match error")
192194 }
193195 if ((isAdmin != "no admin"))
194196 then $Tuple2([DeleteEntry(variable)], unit)
195197 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
196198 }
197199 else throw("Unset admin list")
198200 }
199201
200202
201203
202204 @Callable(i)
203205 func regProvider (name,inn,ogrn) = {
204206 let isKnownCaller = match getString(this, toBase58String(i.caller.bytes)) {
205207 case hist: String =>
206208 hist
207209 case _ =>
208210 "unset"
209211 }
210212 if ((isKnownCaller != "unset"))
211213 then $Tuple2([StringEntry(toBase58String(i.caller.bytes), ((((name + "|") + inn) + "|") + ogrn)), ScriptTransfer(i.caller, 1000000, unit), ScriptTransfer(i.caller, 1000000, tUSD)], unit)
212214 else throw("Can be used only once")
213215 }
214216
215217
216218 @Verifier(tx)
217219 func verify () = match tx {
218220 case dtx: DataTransaction =>
219221 false
220222 case _ =>
221223 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
222224 }
223225

github/deemru/w8io/873ac7e 
46.30 ms