tx · 5fG3Agtrdb1dvz29fTaNF4URLWGnAQVa5zDKAFvJ7E4A 3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6: -0.01000000 Waves 2023.02.02 05:37 [2431394] smart account 3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6 > SELF 0.00000000 Waves
{ "type": 13, "id": "5fG3Agtrdb1dvz29fTaNF4URLWGnAQVa5zDKAFvJ7E4A", "fee": 1000000, "feeAssetId": null, "timestamp": 1675305429293, "version": 2, "chainId": 84, "sender": "3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6", "senderPublicKey": "GmYZFRssDr88KiZt3x4LsJ6qfqaTfMUycQTKZVdipUgS", "proofs": [ "25P6Cs4aiZCZnQaaMfb2TE9DNq1KkE1gdiJxJbwaaKX55i16pKqdfp4aY5VCvvo8ShJ1cyihbKYNTVnJvnHkcYQA" ], "script": "base64:BgIVCAISBAoCGBgSBAoCCAgSBQoDCAgIAAMBaQEKc2V0T3B0aW9ucwIEb3B0cwR2YWxzBAhvcHRfc2l6ZQkAkAMBBQRvcHRzAwkAZwIAZAUIb3B0X3NpemUECWFkbWluTGlzdAQHJG1hdGNoMAkAnQgCBQR0aGlzAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yCgEOYWRkU3RyaW5nRW50cnkCBWFjY3VtCW5leHRWYWx1ZQQJJHQwNDcyNDk1BQVhY2N1bQQGcmVzdWx0CAUJJHQwNDcyNDk1Al8xBAFqCAUJJHQwNDcyNDk1Al8yCQCUCgIJAM0IAgUGcmVzdWx0CQELU3RyaW5nRW50cnkCCQCRAwIFBG9wdHMFAWoFCW5leHRWYWx1ZQkAZAIFAWoAAQQBcgoAAiRsBQR2YWxzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEOYWRkU3RyaW5nRW50cnkCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yCgEHYWRkX2VsbQEHb3B0aW9ucwQDb3B0CQC1CQIFB29wdGlvbnMCAXwJAQtTdHJpbmdFbnRyeQIJAJEDAgUDb3B0AAAJAJEDAgUDb3B0AAEDCQECIT0CBQdpc0FkbWluAghubyBhZG1pbgUBcgkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD1lvdSBub3QgYWRtaW46IAUJYWRtaW5MaXN0AgssIGlzQWRtaW46IAUHaXNBZG1pbgIULCBjYWxsZXJBZGRyZXNzU3RyOiAFEGNhbGxlckFkZHJlc3NTdHICAiwgCQACAQIQVW5zZXQgYWRtaW4gbGlzdAkAAgECL1RoZSBudW1iZXIgb2YgbGlzdCBlbGVtZW50cyBtdXN0IG5vdCBleGNlZWQgMTAwAWkBCXNldE9wdGlvbgIIdmFyaWFibGUFdmFsdWUECWFkbWluTGlzdAQHJG1hdGNoMAkAnQgCBQR0aGlzAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4JAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQh2YXJpYWJsZQUFdmFsdWUFA25pbAUEdW5pdAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD1lvdSBub3QgYWRtaW46IAUJYWRtaW5MaXN0AgssIGlzQWRtaW46IAUHaXNBZG1pbgIULCBjYWxsZXJBZGRyZXNzU3RyOiAFEGNhbGxlckFkZHJlc3NTdHICAiwgCQACAQIQVW5zZXQgYWRtaW4gbGlzdAFpAQtyZWdQcm92aWRlcgMEbmFtZQNpbm4Eb2dybgQNaXNLbm93bkNhbGxlcgQHJG1hdGNoMAkAnQgCBQR0aGlzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMDCQABAgUHJG1hdGNoMAIGU3RyaW5nBARoaXN0BQckbWF0Y2gwBQRoaXN0AgV1bnNldAQEdFVTRAEgqyRKarZCRuvS/ON5sGG6w65pV01SespFHKdAHRGwKQ4DCQECIT0CBQ1pc0tub3duQ2FsbGVyAgV1bnNldAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkArAICCQCsAgIJAKwCAgkArAICBQRuYW1lAgF8BQNpbm4CAXwFBG9ncm4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAMCEPQUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAwIQ9BQR0VVNEBQNuaWwFBHVuaXQJAAIBAhVDYW4gYmUgdXNlZCBvbmx5IG9uY2UBAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAg9EYXRhVHJhbnNhY3Rpb24EA2R0eAUHJG1hdGNoMAcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXk+EePr", "height": 2431394, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E2TeSJy2qmKwooAP3jTgCGve8srUkrmV8jsHehVwEqj1 Next: AYCfzvxLSv2wQF3GLr19GoMEScDigfMsL42Te5gnnzHQ Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | ||
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func setOptions (opts,vals) = { | |
8 | + | let opt_size = size(opts) | |
9 | + | if ((100 >= opt_size)) | |
10 | + | then { | |
11 | + | let adminList = match getString(this, "admin_list") { | |
12 | + | case _: Unit => | |
13 | + | "unset" | |
14 | + | case x: String => | |
15 | + | x | |
16 | + | case _ => | |
17 | + | throw("Match error") | |
18 | + | } | |
19 | + | func addStringEntry (accum,nextValue) = { | |
20 | + | let $t0472495 = accum | |
21 | + | let result = $t0472495._1 | |
22 | + | let j = $t0472495._2 | |
23 | + | $Tuple2((result :+ StringEntry(opts[j], nextValue)), (j + 1)) | |
24 | + | } | |
25 | + | ||
26 | + | let r = { | |
27 | + | let $l = vals | |
28 | + | let $s = size($l) | |
29 | + | let $acc0 = $Tuple2(nil, 0) | |
30 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
31 | + | then $a | |
32 | + | else addStringEntry($a, $l[$i]) | |
33 | + | ||
34 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
35 | + | then $a | |
36 | + | else throw("List size exceeds 100") | |
37 | + | ||
38 | + | $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) | |
39 | + | } | |
40 | + | let callerAddressStr = toString(i.caller) | |
41 | + | if ((adminList != "unset")) | |
42 | + | then { | |
43 | + | let test = getString(addressFromStringValue(adminList), callerAddressStr) | |
44 | + | let isAdmin = match test { | |
45 | + | case x: String => | |
46 | + | x | |
47 | + | case _: Unit => | |
48 | + | "no admin" | |
49 | + | case _ => | |
50 | + | throw("Match error") | |
51 | + | } | |
52 | + | func add_elm (options) = { | |
53 | + | let opt = split(options, "|") | |
54 | + | StringEntry(opt[0], opt[1]) | |
55 | + | } | |
56 | + | ||
57 | + | if ((isAdmin != "no admin")) | |
58 | + | then r | |
59 | + | else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", ")) | |
60 | + | } | |
61 | + | else throw("Unset admin list") | |
62 | + | } | |
63 | + | else throw("The number of list elements must not exceed 100") | |
64 | + | } | |
65 | + | ||
4 | 66 | ||
5 | 67 | ||
6 | 68 | @Callable(i) | |
35 | 97 | ||
36 | 98 | ||
37 | 99 | @Callable(i) | |
38 | - | func | |
39 | - | let isKnownCaller = match | |
40 | - | case hist: | |
100 | + | func regProvider (name,inn,ogrn) = { | |
101 | + | let isKnownCaller = match getString(this, toBase58String(i.caller.bytes)) { | |
102 | + | case hist: String => | |
41 | 103 | hist | |
42 | 104 | case _ => | |
43 | - | | |
105 | + | "unset" | |
44 | 106 | } | |
45 | 107 | let tUSD = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85' | |
46 | - | if ( | |
47 | - | then $Tuple2([ | |
108 | + | if ((isKnownCaller != "unset")) | |
109 | + | then $Tuple2([StringEntry(toBase58String(i.caller.bytes), ((((name + "|") + inn) + "|") + ogrn)), ScriptTransfer(i.caller, 1000000, unit), ScriptTransfer(i.caller, 1000000, tUSD)], unit) | |
48 | 110 | else throw("Can be used only once") | |
49 | 111 | } | |
50 | 112 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | ||
5 | + | ||
6 | + | @Callable(i) | |
7 | + | func setOptions (opts,vals) = { | |
8 | + | let opt_size = size(opts) | |
9 | + | if ((100 >= opt_size)) | |
10 | + | then { | |
11 | + | let adminList = match getString(this, "admin_list") { | |
12 | + | case _: Unit => | |
13 | + | "unset" | |
14 | + | case x: String => | |
15 | + | x | |
16 | + | case _ => | |
17 | + | throw("Match error") | |
18 | + | } | |
19 | + | func addStringEntry (accum,nextValue) = { | |
20 | + | let $t0472495 = accum | |
21 | + | let result = $t0472495._1 | |
22 | + | let j = $t0472495._2 | |
23 | + | $Tuple2((result :+ StringEntry(opts[j], nextValue)), (j + 1)) | |
24 | + | } | |
25 | + | ||
26 | + | let r = { | |
27 | + | let $l = vals | |
28 | + | let $s = size($l) | |
29 | + | let $acc0 = $Tuple2(nil, 0) | |
30 | + | func $f0_1 ($a,$i) = if (($i >= $s)) | |
31 | + | then $a | |
32 | + | else addStringEntry($a, $l[$i]) | |
33 | + | ||
34 | + | func $f0_2 ($a,$i) = if (($i >= $s)) | |
35 | + | then $a | |
36 | + | else throw("List size exceeds 100") | |
37 | + | ||
38 | + | $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) | |
39 | + | } | |
40 | + | let callerAddressStr = toString(i.caller) | |
41 | + | if ((adminList != "unset")) | |
42 | + | then { | |
43 | + | let test = getString(addressFromStringValue(adminList), callerAddressStr) | |
44 | + | let isAdmin = match test { | |
45 | + | case x: String => | |
46 | + | x | |
47 | + | case _: Unit => | |
48 | + | "no admin" | |
49 | + | case _ => | |
50 | + | throw("Match error") | |
51 | + | } | |
52 | + | func add_elm (options) = { | |
53 | + | let opt = split(options, "|") | |
54 | + | StringEntry(opt[0], opt[1]) | |
55 | + | } | |
56 | + | ||
57 | + | if ((isAdmin != "no admin")) | |
58 | + | then r | |
59 | + | else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", ")) | |
60 | + | } | |
61 | + | else throw("Unset admin list") | |
62 | + | } | |
63 | + | else throw("The number of list elements must not exceed 100") | |
64 | + | } | |
65 | + | ||
4 | 66 | ||
5 | 67 | ||
6 | 68 | @Callable(i) | |
7 | 69 | func setOption (variable,value) = { | |
8 | 70 | let adminList = match getString(this, "admin_list") { | |
9 | 71 | case _: Unit => | |
10 | 72 | "unset" | |
11 | 73 | case x: String => | |
12 | 74 | x | |
13 | 75 | case _ => | |
14 | 76 | throw("Match error") | |
15 | 77 | } | |
16 | 78 | let callerAddressStr = toString(i.caller) | |
17 | 79 | if ((adminList != "unset")) | |
18 | 80 | then { | |
19 | 81 | let test = getString(addressFromStringValue(adminList), callerAddressStr) | |
20 | 82 | let isAdmin = match test { | |
21 | 83 | case x: String => | |
22 | 84 | x | |
23 | 85 | case _: Unit => | |
24 | 86 | "no admin" | |
25 | 87 | case _ => | |
26 | 88 | throw("Match error") | |
27 | 89 | } | |
28 | 90 | if ((isAdmin != "no admin")) | |
29 | 91 | then $Tuple2([StringEntry(variable, value)], unit) | |
30 | 92 | else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", ")) | |
31 | 93 | } | |
32 | 94 | else throw("Unset admin list") | |
33 | 95 | } | |
34 | 96 | ||
35 | 97 | ||
36 | 98 | ||
37 | 99 | @Callable(i) | |
38 | - | func | |
39 | - | let isKnownCaller = match | |
40 | - | case hist: | |
100 | + | func regProvider (name,inn,ogrn) = { | |
101 | + | let isKnownCaller = match getString(this, toBase58String(i.caller.bytes)) { | |
102 | + | case hist: String => | |
41 | 103 | hist | |
42 | 104 | case _ => | |
43 | - | | |
105 | + | "unset" | |
44 | 106 | } | |
45 | 107 | let tUSD = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85' | |
46 | - | if ( | |
47 | - | then $Tuple2([ | |
108 | + | if ((isKnownCaller != "unset")) | |
109 | + | then $Tuple2([StringEntry(toBase58String(i.caller.bytes), ((((name + "|") + inn) + "|") + ogrn)), ScriptTransfer(i.caller, 1000000, unit), ScriptTransfer(i.caller, 1000000, tUSD)], unit) | |
48 | 110 | else throw("Can be used only once") | |
49 | 111 | } | |
50 | 112 | ||
51 | 113 | ||
52 | 114 | @Verifier(tx) | |
53 | 115 | func verify () = match tx { | |
54 | 116 | case dtx: DataTransaction => | |
55 | 117 | false | |
56 | 118 | case _ => | |
57 | 119 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
58 | 120 | } | |
59 | 121 |
github/deemru/w8io/169f3d6 36.17 ms ◑