tx · BEXHRai6xeiLR9w13KSLjZEPaiWXhgtAAMBPY4eB7GTJ

3Mr7HCJPTazuYjJbfbbpRMvZX8xrNTjT1Kx:  -0.01000000 Waves

2023.03.02 01:34 [2471613] smart account 3Mr7HCJPTazuYjJbfbbpRMvZX8xrNTjT1Kx > SELF 0.00000000 Waves

{ "type": 13, "id": "BEXHRai6xeiLR9w13KSLjZEPaiWXhgtAAMBPY4eB7GTJ", "fee": 1000000, "feeAssetId": null, "timestamp": 1677710122918, "version": 2, "chainId": 84, "sender": "3Mr7HCJPTazuYjJbfbbpRMvZX8xrNTjT1Kx", "senderPublicKey": "D35PGQCSSdrp9pvujggj7b2DaCK1BhcU3kho7tikKJYs", "proofs": [ "3mVQhkHKMSCke4399ZQHHFNfvnsn6STqjBZRYFvaqyBeLpjyeaaYmocZiJtTTYhNSA6vKjXdf36d2sJLy7V2Yw5e" ], "script": "base64:BgIfCAISAwoBARIAEgMKAQESBAoCGBESBAoCCAESAwoBCAIADG9wdGlvbnNfYWRkcgkBB0FkZHJlc3MBARoBVEFb+Cv2F+oqocvEivH7x7uyIGEx/ocgwQAEdFVTRAEgqyRKarZCRuvS/ON5sGG6w65pV01SespFHKdAHRGwKQ4GAWkBCWlzc3VlQmlsbAEJcHJvdmlkaW5nBApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUKY3VycmVudEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQRbWluQmlsbERlcG9zaXRTdHIEByRtYXRjaDAJAJ0IAgUMb3B0aW9uc19hZGRyAhBtaW5fYmlsbF9kZXBvc2l0AwkAAQIFByRtYXRjaDACBFVuaXQCATADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF4BQckbWF0Y2gwBQF4CQACAQILTWF0Y2ggZXJyb3IEDm1pbkJpbGxEZXBvc2l0BAckbWF0Y2gwCQC2CQEJAJEDAgkAtQkCBRFtaW5CaWxsRGVwb3NpdFN0cgIBLgAAAwkAAQIFByRtYXRjaDACBFVuaXQAAAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAgtNYXRjaCBlcnJvcgQJbmV3QW1vdW50CQBlAgUNY3VycmVudEFtb3VudAUJcHJvdmlkaW5nAwkAZgIJAGgCBQ5taW5CaWxsRGVwb3NpdABkBQlwcm92aWRpbmcJAAIBCQCsAgIJAKwCAgkArAICCQCsAgICJ1RoZSBzZWN1cml0eSBkZXBvc2l0IG11c3QgYmUgbW9yZSB0aGFuIAURbWluQmlsbERlcG9zaXRTdHICFC4gWW91IHNldCB0aGUgc2l6ZTogCQCkAwEJAGkCBQlwcm92aWRpbmcAZAIDLjAwAwkAZgIAAAUJbmV3QW1vdW50CQACAQISTm90IGVub3VnaCBiYWxhbmNlBAVpc3N1ZQkAwggFCQCsAgICCWJpbGwgZm9yOgkApAMBCQBpAgUJcHJvdmlkaW5nAGQFCmN1cnJlbnRLZXkAAQAABwQCaWQJALgIAQUFaXNzdWUJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUKY3VycmVudEtleQUJbmV3QW1vdW50CQDMCAIFBWlzc3VlCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQJpZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICAgJsXwkA2AQBBQJpZAUJbmV3QW1vdW50BQNuaWwFBHVuaXQBaQEHZGVwb3NpdAADCQAAAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUUGF5bWVudCBub3QgYXR0YWNoZWQEA3BtdAkAkQMCCQEFdmFsdWUBCAUBaQhwYXltZW50cwAABA1taW5EZXBvc2l0U3RyBAckbWF0Y2gwCQCdCAIFDG9wdGlvbnNfYWRkcgILbWluX2RlcG9zaXQDCQABAgUHJG1hdGNoMAIEVW5pdAIBMAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgJAAIBAgtNYXRjaCBlcnJvcgQKbWluRGVwb3NpdAQHJG1hdGNoMAkAtgkBCQCRAwIJALUJAgUNbWluRGVwb3NpdFN0cgIBLgAAAwkAAQIFByRtYXRjaDACBFVuaXQAAAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAgtNYXRjaCBlcnJvcgMJAQIhPQIIBQNwbXQHYXNzZXRJZAUEdFVTRAkAAgECF2hvbGRlZCBwYXltZW50IG5vdCB0VVNEAwkAZgIJAGgCBQptaW5EZXBvc2l0AGQIBQNwbXQGYW1vdW50CQACAQkArAICCQCsAgIJAKwCAgkArAICAiNZb3UgaGF2ZSBzZXQgdGhlIGRlcG9zaXQgYW1vdW50IHRvIAkApAMBCQBpAggFA3BtdAZhbW91bnQAZAIlLjAwLCB3aGljaCBpcyBsZXNzIHRoYW4gdGhlIG1pbmltdW0gKAUNbWluRGVwb3NpdFN0cgIBKQQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jdXJyZW50QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFCmN1cnJlbnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAECW5ld0Ftb3VudAkAZAIFDWN1cnJlbnRBbW91bnQIBQNwbXQGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQpjdXJyZW50S2V5BQluZXdBbW91bnQFA25pbAFpAQh3aXRoZHJhdwEGYW1vdW50BApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUKY3VycmVudEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQJbmV3QW1vdW50CQBlAgUNY3VycmVudEFtb3VudAUGYW1vdW50AwkAZgIAAAUGYW1vdW50CQACAQIeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAZgIAAAUJbmV3QW1vdW50CQACAQISTm90IGVub3VnaCBiYWxhbmNlCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFCmN1cnJlbnRLZXkFCW5ld0Ftb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUEdFVTRAUDbmlsBQR1bml0AWkBCnNldE9wdGlvbnMCBG9wdHMEdmFscwQIb3B0X3NpemUJAJADAQUEb3B0cwMJAGcCAGQFCG9wdF9zaXplBAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUMb3B0aW9uc19hZGRyAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yCgEOYWRkU3RyaW5nRW50cnkCBWFjY3VtCW5leHRWYWx1ZQQLJHQwNDY0ODQ2NzEFBWFjY3VtBAZyZXN1bHQIBQskdDA0NjQ4NDY3MQJfMQQBaggFCyR0MDQ2NDg0NjcxAl8yCQCUCgIJAM0IAgUGcmVzdWx0CQEMSW50ZWdlckVudHJ5AgkAkQMCBQRvcHRzBQFqBQluZXh0VmFsdWUJAGQCBQFqAAEEAXIKAAIkbAUEdmFscwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDmFkZFN0cmluZ0VudHJ5AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZAQQY2FsbGVyQWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIDCQECIT0CBQlhZG1pbkxpc3QCBXVuc2V0BAR0ZXN0CQCdCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCWFkbWluTGlzdAUQY2FsbGVyQWRkcmVzc1N0cgQHaXNBZG1pbgQHJG1hdGNoMAUEdGVzdAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgDCQABAgUHJG1hdGNoMAIEVW5pdAIIbm8gYWRtaW4JAAIBAgtNYXRjaCBlcnJvcgoBB2FkZF9lbG0BB29wdGlvbnMEA29wdAkAtQkCBQdvcHRpb25zAgF8CQELU3RyaW5nRW50cnkCCQCRAwIFA29wdAAACQCRAwIFA29wdAABAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4FAXIJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9Zb3Ugbm90IGFkbWluOiAFCWFkbWluTGlzdAILLCBpc0FkbWluOiAFB2lzQWRtaW4CFCwgY2FsbGVyQWRkcmVzc1N0cjogBRBjYWxsZXJBZGRyZXNzU3RyAgIsIAkAAgECEFVuc2V0IGFkbWluIGxpc3QJAAIBAi9UaGUgbnVtYmVyIG9mIGxpc3QgZWxlbWVudHMgbXVzdCBub3QgZXhjZWVkIDEwMAFpAQlzZXRPcHRpb24CCHZhcmlhYmxlBXZhbHVlBAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUMb3B0aW9uc19hZGRyAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4JAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUIdmFyaWFibGUFBXZhbHVlBQNuaWwFBHVuaXQJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9Zb3Ugbm90IGFkbWluOiAFCWFkbWluTGlzdAILLCBpc0FkbWluOiAFB2lzQWRtaW4CFCwgY2FsbGVyQWRkcmVzc1N0cjogBRBjYWxsZXJBZGRyZXNzU3RyAgIsIAkAAgECEFVuc2V0IGFkbWluIGxpc3QBaQEJZGVsT3B0aW9uAQh2YXJpYWJsZQQJYWRtaW5MaXN0BAckbWF0Y2gwCQCdCAIFDG9wdGlvbnNfYWRkcgIKYWRtaW5fbGlzdAMJAAECBQckbWF0Y2gwAgRVbml0AgV1bnNldAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgJAAIBAgtNYXRjaCBlcnJvcgQQY2FsbGVyQWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIDCQECIT0CBQlhZG1pbkxpc3QCBXVuc2V0BAR0ZXN0CQCdCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCWFkbWluTGlzdAUQY2FsbGVyQWRkcmVzc1N0cgQHaXNBZG1pbgQHJG1hdGNoMAUEdGVzdAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgDCQABAgUHJG1hdGNoMAIEVW5pdAIIbm8gYWRtaW4JAAIBAgtNYXRjaCBlcnJvcgMJAQIhPQIFB2lzQWRtaW4CCG5vIGFkbWluCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQUIdmFyaWFibGUFA25pbAUEdW5pdAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD1lvdSBub3QgYWRtaW46IAUJYWRtaW5MaXN0AgssIGlzQWRtaW46IAUHaXNBZG1pbgIULCBjYWxsZXJBZGRyZXNzU3RyOiAFEGNhbGxlckFkZHJlc3NTdHICAiwgCQACAQIQVW5zZXQgYWRtaW4gbGlzdAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXmMLAgU", "height": 2471613, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4f2TFHQyqoZsoDgKMBuwUBpLa6FczAvDu8XYDrQ1RrqF Next: GD6KdATuGQAnjuxNi4UmyokT9rp14dLCCEkFznxRUUsr Diff:
OldNewDifferences
4747 else {
4848 let n = Issue(("bill for:" + toString((d / 100))), e, 1, 0, false)
4949 let o = calculateAssetId(n)
50- $Tuple2([IntegerEntry(e, m), n, ScriptTransfer(c.caller, 1, o)], unit)
50+ $Tuple2([IntegerEntry(e, m), n, ScriptTransfer(c.caller, 1, o), IntegerEntry(("l_" + toBase58String(o)), m)], unit)
5151 }
5252 }
5353
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = Address(base58'3MusfsY6PqDh1YnF7YyTi5ffVT16Dm2bqf6')
55
66 let b = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85'
77
88 @Callable(c)
99 func issueBill (d) = {
1010 let e = toBase58String(c.caller.bytes)
1111 let f = {
1212 let g = getInteger(this, e)
1313 if ($isInstanceOf(g, "Int"))
1414 then {
1515 let h = g
1616 h
1717 }
1818 else 0
1919 }
2020 let i = {
2121 let g = getString(a, "min_bill_deposit")
2222 if ($isInstanceOf(g, "Unit"))
2323 then "0"
2424 else if ($isInstanceOf(g, "String"))
2525 then {
2626 let j = g
2727 j
2828 }
2929 else throw("Match error")
3030 }
3131 let k = {
3232 let g = parseInt(split(i, ".")[0])
3333 if ($isInstanceOf(g, "Unit"))
3434 then 0
3535 else if ($isInstanceOf(g, "Int"))
3636 then {
3737 let l = g
3838 l
3939 }
4040 else throw("Match error")
4141 }
4242 let m = (f - d)
4343 if (((k * 100) > d))
4444 then throw((((("The security deposit must be more than " + i) + ". You set the size: ") + toString((d / 100))) + ".00"))
4545 else if ((0 > m))
4646 then throw("Not enough balance")
4747 else {
4848 let n = Issue(("bill for:" + toString((d / 100))), e, 1, 0, false)
4949 let o = calculateAssetId(n)
50- $Tuple2([IntegerEntry(e, m), n, ScriptTransfer(c.caller, 1, o)], unit)
50+ $Tuple2([IntegerEntry(e, m), n, ScriptTransfer(c.caller, 1, o), IntegerEntry(("l_" + toBase58String(o)), m)], unit)
5151 }
5252 }
5353
5454
5555
5656 @Callable(c)
5757 func deposit () = if ((size(c.payments) == 0))
5858 then throw("Payment not attached")
5959 else {
6060 let p = value(c.payments)[0]
6161 let q = {
6262 let g = getString(a, "min_deposit")
6363 if ($isInstanceOf(g, "Unit"))
6464 then "0"
6565 else if ($isInstanceOf(g, "String"))
6666 then {
6767 let j = g
6868 j
6969 }
7070 else throw("Match error")
7171 }
7272 let r = {
7373 let g = parseInt(split(q, ".")[0])
7474 if ($isInstanceOf(g, "Unit"))
7575 then 0
7676 else if ($isInstanceOf(g, "Int"))
7777 then {
7878 let l = g
7979 l
8080 }
8181 else throw("Match error")
8282 }
8383 if ((p.assetId != b))
8484 then throw("holded payment not tUSD")
8585 else if (((r * 100) > p.amount))
8686 then throw((((("You have set the deposit amount to " + toString((p.amount / 100))) + ".00, which is less than the minimum (") + q) + ")"))
8787 else {
8888 let e = toBase58String(c.caller.bytes)
8989 let f = {
9090 let g = getInteger(this, e)
9191 if ($isInstanceOf(g, "Int"))
9292 then {
9393 let h = g
9494 h
9595 }
9696 else 0
9797 }
9898 let m = (f + p.amount)
9999 [IntegerEntry(e, m)]
100100 }
101101 }
102102
103103
104104
105105 @Callable(c)
106106 func withdraw (s) = {
107107 let e = toBase58String(c.caller.bytes)
108108 let f = {
109109 let g = getInteger(this, e)
110110 if ($isInstanceOf(g, "Int"))
111111 then {
112112 let h = g
113113 h
114114 }
115115 else 0
116116 }
117117 let m = (f - s)
118118 if ((0 > s))
119119 then throw("Can't withdraw negative amount")
120120 else if ((0 > m))
121121 then throw("Not enough balance")
122122 else $Tuple2([IntegerEntry(e, m), ScriptTransfer(c.caller, s, b)], unit)
123123 }
124124
125125
126126
127127 @Callable(c)
128128 func setOptions (t,u) = {
129129 let v = size(t)
130130 if ((100 >= v))
131131 then {
132132 let w = {
133133 let g = getString(a, "admin_list")
134134 if ($isInstanceOf(g, "Unit"))
135135 then "unset"
136136 else if ($isInstanceOf(g, "String"))
137137 then {
138138 let j = g
139139 j
140140 }
141141 else throw("Match error")
142142 }
143143 func x (y,z) = {
144144 let A = y
145145 let B = A._1
146146 let C = A._2
147147 $Tuple2((B :+ IntegerEntry(t[C], z)), (C + 1))
148148 }
149149
150150 let D = {
151151 let E = u
152152 let F = size(E)
153153 let G = $Tuple2(nil, 0)
154154 func H (I,J) = if ((J >= F))
155155 then I
156156 else x(I, E[J])
157157
158158 func K (I,J) = if ((J >= F))
159159 then I
160160 else throw("List size exceeds 100")
161161
162162 K(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(H(G, 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)
163163 }
164164 let L = toString(c.caller)
165165 if ((w != "unset"))
166166 then {
167167 let M = getString(addressFromStringValue(w), L)
168168 let N = {
169169 let g = M
170170 if ($isInstanceOf(g, "String"))
171171 then {
172172 let j = g
173173 j
174174 }
175175 else if ($isInstanceOf(g, "Unit"))
176176 then "no admin"
177177 else throw("Match error")
178178 }
179179 func O (P) = {
180180 let Q = split(P, "|")
181181 StringEntry(Q[0], Q[1])
182182 }
183183
184184 if ((N != "no admin"))
185185 then D
186186 else throw((((((("You not admin: " + w) + ", isAdmin: ") + N) + ", callerAddressStr: ") + L) + ", "))
187187 }
188188 else throw("Unset admin list")
189189 }
190190 else throw("The number of list elements must not exceed 100")
191191 }
192192
193193
194194
195195 @Callable(c)
196196 func setOption (R,S) = {
197197 let w = {
198198 let g = getString(a, "admin_list")
199199 if ($isInstanceOf(g, "Unit"))
200200 then "unset"
201201 else if ($isInstanceOf(g, "String"))
202202 then {
203203 let j = g
204204 j
205205 }
206206 else throw("Match error")
207207 }
208208 let L = toString(c.caller)
209209 if ((w != "unset"))
210210 then {
211211 let M = getString(addressFromStringValue(w), L)
212212 let N = {
213213 let g = M
214214 if ($isInstanceOf(g, "String"))
215215 then {
216216 let j = g
217217 j
218218 }
219219 else if ($isInstanceOf(g, "Unit"))
220220 then "no admin"
221221 else throw("Match error")
222222 }
223223 if ((N != "no admin"))
224224 then $Tuple2([IntegerEntry(R, S)], unit)
225225 else throw((((((("You not admin: " + w) + ", isAdmin: ") + N) + ", callerAddressStr: ") + L) + ", "))
226226 }
227227 else throw("Unset admin list")
228228 }
229229
230230
231231
232232 @Callable(c)
233233 func delOption (R) = {
234234 let w = {
235235 let g = getString(a, "admin_list")
236236 if ($isInstanceOf(g, "Unit"))
237237 then "unset"
238238 else if ($isInstanceOf(g, "String"))
239239 then {
240240 let j = g
241241 j
242242 }
243243 else throw("Match error")
244244 }
245245 let L = toString(c.caller)
246246 if ((w != "unset"))
247247 then {
248248 let M = getString(addressFromStringValue(w), L)
249249 let N = {
250250 let g = M
251251 if ($isInstanceOf(g, "String"))
252252 then {
253253 let j = g
254254 j
255255 }
256256 else if ($isInstanceOf(g, "Unit"))
257257 then "no admin"
258258 else throw("Match error")
259259 }
260260 if ((N != "no admin"))
261261 then $Tuple2([DeleteEntry(R)], unit)
262262 else throw((((((("You not admin: " + w) + ", isAdmin: ") + N) + ", callerAddressStr: ") + L) + ", "))
263263 }
264264 else throw("Unset admin list")
265265 }
266266
267267
268268 @Verifier(T)
269269 func U () = sigVerify(T.bodyBytes, T.proofs[0], T.senderPublicKey)
270270

github/deemru/w8io/169f3d6 
54.39 ms