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: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Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yCgEHYWRkX2VsbQEHb3B0aW9ucwQDb3B0CQC1CQIFB29wdGlvbnMCAXwJAQtTdHJpbmdFbnRyeQIJAJEDAgUDb3B0AAAJAJEDAgUDb3B0AAEDCQECIT0CBQdpc0FkbWluAghubyBhZG1pbgUBcgkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD1lvdSBub3QgYWRtaW46IAUJYWRtaW5MaXN0AgssIGlzQWRtaW46IAUHaXNBZG1pbgIULCBjYWxsZXJBZGRyZXNzU3RyOiAFEGNhbGxlckFkZHJlc3NTdHICAiwgCQACAQIQVW5zZXQgYWRtaW4gbGlzdAkAAgECL1RoZSBudW1iZXIgb2YgbGlzdCBlbGVtZW50cyBtdXN0IG5vdCBleGNlZWQgMTAwAWkBCXNldE9wdGlvbgIIdmFyaWFibGUFdmFsdWUECWFkbWluTGlzdAQHJG1hdGNoMAkAnQgCBQR0aGlzAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4JAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQh2YXJpYWJsZQUFdmFsdWUFA25pbAUEdW5pdAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD1lvdSBub3QgYWRtaW46IAUJYWRtaW5MaXN0AgssIGlzQWRtaW46IAUHaXNBZG1pbgIULCBjYWxsZXJBZGRyZXNzU3RyOiAFEGNhbGxlckFkZHJlc3NTdHICAiwgCQACAQIQVW5zZXQgYWRtaW4gbGlzdAFpAQtyZWdQcm92aWRlcgMEbmFtZQNpbm4Eb2dybgQNaXNLbm93bkNhbGxlcgQHJG1hdGNoMAkAnQgCBQR0aGlzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMDCQABAgUHJG1hdGNoMAIGU3RyaW5nBARoaXN0BQckbWF0Y2gwBQRoaXN0AgV1bnNldAQEdFVTRAEgqyRKarZCRuvS/ON5sGG6w65pV01SespFHKdAHRGwKQ4DCQECIT0CBQ1pc0tub3duQ2FsbGVyAgV1bnNldAkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkArAICCQCsAgIJAKwCAgkArAICBQRuYW1lAgF8BQNpbm4CAXwFBG9ncm4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAMCEPQUEdW5pdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAwIQ9BQR0VVNEBQNuaWwFBHVuaXQJAAIBAhVDYW4gYmUgdXNlZCBvbmx5IG9uY2UBAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAg9EYXRhVHJhbnNhY3Rpb24EA2R0eAUHJG1hdGNoMAcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXk+EePr", "height": 2431394, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E2TeSJy2qmKwooAP3jTgCGve8srUkrmV8jsHehVwEqj1 Next: AYCfzvxLSv2wQF3GLr19GoMEScDigfMsL42Te5gnnzHQ Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# 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+
466
567
668 @Callable(i)
3597
3698
3799 @Callable(i)
38-func faucet () = {
39- let isKnownCaller = match getBoolean(this, toBase58String(i.caller.bytes)) {
40- case hist: Boolean =>
100+func regProvider (name,inn,ogrn) = {
101+ let isKnownCaller = match getString(this, toBase58String(i.caller.bytes)) {
102+ case hist: String =>
41103 hist
42104 case _ =>
43- false
105+ "unset"
44106 }
45107 let tUSD = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85'
46- if (!(isKnownCaller))
47- then $Tuple2([BooleanEntry(toBase58String(i.caller.bytes), true), ScriptTransfer(i.caller, 1000000, unit), ScriptTransfer(i.caller, 1000000, tUSD)], unit)
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)
48110 else throw("Can be used only once")
49111 }
50112
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# 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+
466
567
668 @Callable(i)
769 func setOption (variable,value) = {
870 let adminList = match getString(this, "admin_list") {
971 case _: Unit =>
1072 "unset"
1173 case x: String =>
1274 x
1375 case _ =>
1476 throw("Match error")
1577 }
1678 let callerAddressStr = toString(i.caller)
1779 if ((adminList != "unset"))
1880 then {
1981 let test = getString(addressFromStringValue(adminList), callerAddressStr)
2082 let isAdmin = match test {
2183 case x: String =>
2284 x
2385 case _: Unit =>
2486 "no admin"
2587 case _ =>
2688 throw("Match error")
2789 }
2890 if ((isAdmin != "no admin"))
2991 then $Tuple2([StringEntry(variable, value)], unit)
3092 else throw((((((("You not admin: " + adminList) + ", isAdmin: ") + isAdmin) + ", callerAddressStr: ") + callerAddressStr) + ", "))
3193 }
3294 else throw("Unset admin list")
3395 }
3496
3597
3698
3799 @Callable(i)
38-func faucet () = {
39- let isKnownCaller = match getBoolean(this, toBase58String(i.caller.bytes)) {
40- case hist: Boolean =>
100+func regProvider (name,inn,ogrn) = {
101+ let isKnownCaller = match getString(this, toBase58String(i.caller.bytes)) {
102+ case hist: String =>
41103 hist
42104 case _ =>
43- false
105+ "unset"
44106 }
45107 let tUSD = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85'
46- if (!(isKnownCaller))
47- then $Tuple2([BooleanEntry(toBase58String(i.caller.bytes), true), ScriptTransfer(i.caller, 1000000, unit), ScriptTransfer(i.caller, 1000000, tUSD)], unit)
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)
48110 else throw("Can be used only once")
49111 }
50112
51113
52114 @Verifier(tx)
53115 func verify () = match tx {
54116 case dtx: DataTransaction =>
55117 false
56118 case _ =>
57119 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
58120 }
59121

github/deemru/w8io/169f3d6 
36.17 ms