tx · 7J7uoWgHq71coxdhgtzi6qdNK1wgHG2cWKgaompgievq

3Mr7HCJPTazuYjJbfbbpRMvZX8xrNTjT1Kx:  -0.01000000 Waves

2023.03.09 01:33 [2481716] smart account 3Mr7HCJPTazuYjJbfbbpRMvZX8xrNTjT1Kx > SELF 0.00000000 Waves

{ "type": 13, "id": "7J7uoWgHq71coxdhgtzi6qdNK1wgHG2cWKgaompgievq", "fee": 1000000, "feeAssetId": null, "timestamp": 1678314859277, "version": 2, "chainId": 84, "sender": "3Mr7HCJPTazuYjJbfbbpRMvZX8xrNTjT1Kx", "senderPublicKey": "D35PGQCSSdrp9pvujggj7b2DaCK1BhcU3kho7tikKJYs", "proofs": [ "VwTVA2uv8t6Mtqrk8mS4H8tsPtwrBx27EYqf7Mofgxoniq42Nnbt78sN4ymdxrC5BqcnFX4LpC5k7GhJbateh6i" ], "script": "base64:BgIiCAISABIECgIBARIAEgMKAQESBAoCGBESBAoCCAgSAwoBCAMADG9wdGlvbnNfYWRkcgkBB0FkZHJlc3MBARoBVEFb+Cv2F+oqocvEivH7x7uyIGEx/ocgwQAEdFJVQgEgv7I1LEj/fS4nZAGEmW42z/vK94nfeiKN08fw7a6U2ZsABHRVU0QBIKskSmq2Qkbr0vzjebBhusOuaVdNUnrKRRynQB0RsCkOBwFpARRyZWlzc3VlVG9rZW5zTG95YWx0eQADCQAAAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUUGF5bWVudCBub3QgYXR0YWNoZWQECGFzc2V0X2lkBAckbWF0Y2gwCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQCaWQFByRtYXRjaDAFAmlkCQACAQIQQ2FuJ3QgZmluZCBhc3NldAQKYXNzZXRfaW5mbwQHJG1hdGNoMAkA7AcBBQhhc3NldF9pZAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAFBWFzc2V0CQACAQIbQ2FuJ3QgZ2V0IGluZm8gZnJvbSBwYXltZW50BAhxdWFudGl0eQQHJG1hdGNoMAkAtgkBCQCRAwIJALUJAggFCmFzc2V0X2luZm8LZGVzY3JpcHRpb24CAToAAQMJAAECBQckbWF0Y2gwAgNJbnQEAXEFByRtYXRjaDAFAXEJAAIBAh9DYW4ndCBnZXQgcXVhbnRpdHkgZnJvbSBwYXltZW50BAtpc19vcHRfYWRkcgQHJG1hdGNoMAgFCmFzc2V0X2luZm8GaXNzdWVyAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEBmlzc3VlcgUHJG1hdGNoMAUGaXNzdWVyCQACAQIdQ2FuJ3QgZ2V0IGlzc3VlciBmcm9tIHBheW1lbnQDCQECIT0CCQClCAEFC2lzX29wdF9hZGRyCQClCAEFBHRoaXMJAAIBAhdJc3N1ZXIgbm90IG9wdGlvbnNfYWRkcgQDcmVzCQD8BwQFDG9wdGlvbnNfYWRkcgIRcmVpc3N1ZUZvckRlcEFkZHIJAMwIAgUIcXVhbnRpdHkFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzBAckbWF0Y2gwBQNyZXMDCQABAgUHJG1hdGNoMAIDSW50BAFyBQckbWF0Y2gwCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQhxdWFudGl0eQUEdFJVQgkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICAgRsX2JfCQDYBAEFCGFzc2V0X2lkBQhxdWFudGl0eQUDbmlsBQR1bml0CQACAQoAAUAFA3JlcwMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEJaXNzdWVCaWxsAglwcm92aWRpbmcEc2l6ZQQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jdXJyZW50QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFCmN1cnJlbnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEEW1pbkJpbGxEZXBvc2l0U3RyBAckbWF0Y2gwCQCdCAIFDG9wdGlvbnNfYWRkcgIQbWluX2JpbGxfZGVwb3NpdAMJAAECBQckbWF0Y2gwAgRVbml0AgEwAwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBA5taW5CaWxsRGVwb3NpdAQHJG1hdGNoMAkAtgkBCQCRAwIJALUJAgURbWluQmlsbERlcG9zaXRTdHICAS4AAAMJAAECBQckbWF0Y2gwAgRVbml0AAADCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQILTWF0Y2ggZXJyb3IED2V4Y2hhbmdlUmF0ZVN0cgQHJG1hdGNoMAkAnQgCBQxvcHRpb25zX2FkZHICDWV4Y2hhbmdlX3JhdGUDCQABAgUHJG1hdGNoMAIEVW5pdAIBMAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgJAAIBAgtNYXRjaCBlcnJvcgQMZXhjaGFuZ2VSYXRlBAckbWF0Y2gwCQC2CQEFD2V4Y2hhbmdlUmF0ZVN0cgMJAAECBQckbWF0Y2gwAgRVbml0AAADCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQILTWF0Y2ggZXJyb3IEFHNoYXJlR3VhcmFudGVlRmVlU3RyBAckbWF0Y2gwCQCdCAIFDG9wdGlvbnNfYWRkcgITc2hhcmVfZ3VhcmFudGVlX2ZlZQMJAAECBQckbWF0Y2gwAgRVbml0AgEwAwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBFzaGFyZUd1YXJhbnRlZUZlZQQHJG1hdGNoMAkAtgkBBRRzaGFyZUd1YXJhbnRlZUZlZVN0cgMJAAECBQckbWF0Y2gwAgRVbml0AAADCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQILTWF0Y2ggZXJyb3IECHRSVUJfbWluCQBpAgkAaAIJAGgCBQ5taW5CaWxsRGVwb3NpdAUMZXhjaGFuZ2VSYXRlAGQFEXNoYXJlR3VhcmFudGVlRmVlBAh0UlVCX21heAkAaQIJAGgCBQlwcm92aWRpbmcFDGV4Y2hhbmdlUmF0ZQURc2hhcmVHdWFyYW50ZWVGZWUECW5ld0Ftb3VudAkAZQIFDWN1cnJlbnRBbW91bnQFCXByb3ZpZGluZwMJAGYCCQBoAgUObWluQmlsbERlcG9zaXQAZAUJcHJvdmlkaW5nCQACAQkArAICCQCsAgIJAKwCAgkArAICAidUaGUgc2VjdXJpdHkgZGVwb3NpdCBtdXN0IGJlIG1vcmUgdGhhbiAFEW1pbkJpbGxEZXBvc2l0U3RyAhQuIFlvdSBzZXQgdGhlIHNpemU6IAkApAMBCQBpAgUJcHJvdmlkaW5nAGQCAy4wMAMJAGYCAAAFCW5ld0Ftb3VudAkAAgECEk5vdCBlbm91Z2ggYmFsYW5jZQMJAGYCBQh0UlVCX21pbgUEc2l6ZQkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgJIVGhlIG5vbWluYWwgdmFsdWUgb2YgdGhlIHByb21pc3NvcnkgYmlsbCBleGNlZWRzIHRoZSBjb2xsYXRlcmFsIG1pbmltdW0gCQCkAwEFCHRSVUJfbWluAgXigr0gKAURbWluQmlsbERlcG9zaXRTdHICBXRVU0QpAwkAZgIFBHNpemUFCHRSVUJfbWF4CQACAQkArAICCQCsAgIJAKwCAgkArAICAjFUaGUgdmFsdWUgb2YgdGhlIHRva2VuIGNhbm5vdCBleGNlZWQgdGhlIG1heGltdW0gCQCkAwEFCHRSVUJfbWF4Ah7igr0gb2YgdGhlIGd1YXJhbnRlZSBkZXBvc2l0ICgJAKQDAQkAaQIFCXByb3ZpZGluZwBkAgV0VVNEKQQFaXNzdWUJAMIIBQkArAICAgliaWxsIGZvcjoJAKQDAQkAaQIFCXByb3ZpZGluZwBkCQCsAgIJAKwCAgUKY3VycmVudEtleQIBOgkApAMBBQRzaXplAAEAAAcEAmlkCQC4CAEFBWlzc3VlCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFCmN1cnJlbnRLZXkFCW5ld0Ftb3VudAkAzAgCBQVpc3N1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIAAQUCaWQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgIEbF91XwkA2AQBBQJpZAUJcHJvdmlkaW5nBQNuaWwFBHVuaXQBaQEHZGVwb3NpdAADCQAAAgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUUGF5bWVudCBub3QgYXR0YWNoZWQEA3BtdAkAkQMCCQEFdmFsdWUBCAUBaQhwYXltZW50cwAABA1taW5EZXBvc2l0U3RyBAckbWF0Y2gwCQCdCAIFDG9wdGlvbnNfYWRkcgILbWluX2RlcG9zaXQDCQABAgUHJG1hdGNoMAIEVW5pdAIBMAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAFAXgJAAIBAgtNYXRjaCBlcnJvcgQKbWluRGVwb3NpdAQHJG1hdGNoMAkAtgkBCQCRAwIJALUJAgUNbWluRGVwb3NpdFN0cgIBLgAAAwkAAQIFByRtYXRjaDACBFVuaXQAAAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAgtNYXRjaCBlcnJvcgMJAQIhPQIIBQNwbXQHYXNzZXRJZAUEdFVTRAkAAgECF2hvbGRlZCBwYXltZW50IG5vdCB0VVNEAwkAZgIJAGgCBQptaW5EZXBvc2l0AGQIBQNwbXQGYW1vdW50CQACAQkArAICCQCsAgIJAKwCAgkArAICAiNZb3UgaGF2ZSBzZXQgdGhlIGRlcG9zaXQgYW1vdW50IHRvIAkApAMBCQBpAggFA3BtdAZhbW91bnQAZAIlLjAwLCB3aGljaCBpcyBsZXNzIHRoYW4gdGhlIG1pbmltdW0gKAUNbWluRGVwb3NpdFN0cgIBKQQKY3VycmVudEtleQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jdXJyZW50QW1vdW50BAckbWF0Y2gwCQCaCAIFBHRoaXMFCmN1cnJlbnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAECW5ld0Ftb3VudAkAZAIFDWN1cnJlbnRBbW91bnQIBQNwbXQGYW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQpjdXJyZW50S2V5BQluZXdBbW91bnQFA25pbAFpAQh3aXRoZHJhdwEGYW1vdW50BApjdXJyZW50S2V5CQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWN1cnJlbnRBbW91bnQEByRtYXRjaDAJAJoIAgUEdGhpcwUKY3VycmVudEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQJbmV3QW1vdW50CQBlAgUNY3VycmVudEFtb3VudAUGYW1vdW50AwkAZgIAAAUGYW1vdW50CQACAQIeQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgYW1vdW50AwkAZgIAAAUJbmV3QW1vdW50CQACAQISTm90IGVub3VnaCBiYWxhbmNlCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFCmN1cnJlbnRLZXkFCW5ld0Ftb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmFtb3VudAUEdFVTRAUDbmlsBQR1bml0AWkBCnNldE9wdGlvbnMCBG9wdHMEdmFscwQIb3B0X3NpemUJAJADAQUEb3B0cwMJAGcCAGQFCG9wdF9zaXplBAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUMb3B0aW9uc19hZGRyAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9y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CQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg9Zb3Ugbm90IGFkbWluOiAFCWFkbWluTGlzdAILLCBpc0FkbWluOiAFB2lzQWRtaW4CFCwgY2FsbGVyQWRkcmVzc1N0cjogBRBjYWxsZXJBZGRyZXNzU3RyAgIsIAkAAgECEFVuc2V0IGFkbWluIGxpc3QJAAIBAi9UaGUgbnVtYmVyIG9mIGxpc3QgZWxlbWVudHMgbXVzdCBub3QgZXhjZWVkIDEwMAFpAQlzZXRPcHRpb24CCHZhcmlhYmxlBXZhbHVlBAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUMb3B0aW9uc19hZGRyAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4JAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQh2YXJpYWJsZQUFdmFsdWUFA25pbAUEdW5pdAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICD1lvdSBub3QgYWRtaW46IAUJYWRtaW5MaXN0AgssIGlzQWRtaW46IAUHaXNBZG1pbgIULCBjYWxsZXJBZGRyZXNzU3RyOiAFEGNhbGxlckFkZHJlc3NTdHICAiwgCQACAQIQVW5zZXQgYWRtaW4gbGlzdAFpAQlkZWxPcHRpb24BCHZhcmlhYmxlBAlhZG1pbkxpc3QEByRtYXRjaDAJAJ0IAgUMb3B0aW9uc19hZGRyAgphZG1pbl9saXN0AwkAAQIFByRtYXRjaDACBFVuaXQCBXVuc2V0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAkAAgECC01hdGNoIGVycm9yBBBjYWxsZXJBZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgMJAQIhPQIFCWFkbWluTGlzdAIFdW5zZXQEBHRlc3QJAJ0IAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUJYWRtaW5MaXN0BRBjYWxsZXJBZGRyZXNzU3RyBAdpc0FkbWluBAckbWF0Y2gwBQR0ZXN0AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAUBeAMJAAECBQckbWF0Y2gwAgRVbml0AghubyBhZG1pbgkAAgECC01hdGNoIGVycm9yAwkBAiE9AgUHaXNBZG1pbgIIbm8gYWRtaW4JAJQKAgkAzAgCCQELRGVsZXRlRW50cnkBBQh2YXJpYWJsZQUDbmlsBQR1bml0CQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIPWW91IG5vdCBhZG1pbjogBQlhZG1pbkxpc3QCCywgaXNBZG1pbjogBQdpc0FkbWluAhQsIGNhbGxlckFkZHJlc3NTdHI6IAUQY2FsbGVyQWRkcmVzc1N0cgICLCAJAAIBAhBVbnNldCBhZG1pbiBsaXN0AQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tlectwhXk=", "height": 2481716, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 31i2i9Fhn4KWnmeS8d3LGY5EX5cnfv7irQZFSfuCN3HY Next: 4WUZLyC84Vbp9hx3jcK8bgJBY5PjqPAfHR4yMg66td4c Diff:
OldNewDifferences
5959 let o = f
6060 $Tuple2([ScriptTransfer(d.caller, j, b), IntegerEntry(("l_b_" + toBase58String(e)), j)], unit)
6161 }
62- else throw("Incorrect invoke result")
62+ else throw({
63+ let p = n
64+ if ($isInstanceOf(p, "String"))
65+ then p
66+ else throw(($getType(p) + " couldn't be cast to String"))
67+ })
6368 }
6469 else throw("Strict value is not equal to itself.")
6570 }
6873
6974
7075 @Callable(d)
71-func issueBill (p,q) = {
72- let r = toBase58String(d.caller.bytes)
73- let s = {
74- let f = getInteger(this, r)
76+func issueBill (q,r) = {
77+ let s = toBase58String(d.caller.bytes)
78+ let t = {
79+ let f = getInteger(this, s)
7580 if ($isInstanceOf(f, "Int"))
7681 then {
77- let t = f
78- t
82+ let u = f
83+ u
7984 }
8085 else 0
8186 }
82- let u = {
87+ let v = {
8388 let f = getString(a, "min_bill_deposit")
8489 if ($isInstanceOf(f, "Unit"))
8590 then "0"
8691 else if ($isInstanceOf(f, "String"))
8792 then {
88- let v = f
89- v
93+ let w = f
94+ w
9095 }
9196 else throw("Match error")
9297 }
93- let w = {
94- let f = parseInt(split(u, ".")[0])
98+ let x = {
99+ let f = parseInt(split(v, ".")[0])
95100 if ($isInstanceOf(f, "Unit"))
96101 then 0
97102 else if ($isInstanceOf(f, "Int"))
98103 then {
99- let x = f
100- x
104+ let y = f
105+ y
101106 }
102107 else throw("Match error")
103108 }
104- let y = {
109+ let z = {
105110 let f = getString(a, "exchange_rate")
106111 if ($isInstanceOf(f, "Unit"))
107112 then "0"
108113 else if ($isInstanceOf(f, "String"))
109114 then {
110- let v = f
111- v
115+ let w = f
116+ w
112117 }
113118 else throw("Match error")
114119 }
115- let z = {
116- let f = parseInt(y)
120+ let A = {
121+ let f = parseInt(z)
117122 if ($isInstanceOf(f, "Unit"))
118123 then 0
119124 else if ($isInstanceOf(f, "Int"))
120125 then {
121- let x = f
122- x
126+ let y = f
127+ y
123128 }
124129 else throw("Match error")
125130 }
126- let A = {
131+ let B = {
127132 let f = getString(a, "share_guarantee_fee")
128133 if ($isInstanceOf(f, "Unit"))
129134 then "0"
130135 else if ($isInstanceOf(f, "String"))
131136 then {
132- let v = f
133- v
137+ let w = f
138+ w
134139 }
135140 else throw("Match error")
136141 }
137- let B = {
138- let f = parseInt(A)
142+ let C = {
143+ let f = parseInt(B)
139144 if ($isInstanceOf(f, "Unit"))
140145 then 0
141146 else if ($isInstanceOf(f, "Int"))
142147 then {
143- let x = f
144- x
148+ let y = f
149+ y
145150 }
146151 else throw("Match error")
147152 }
148- let C = (((w * z) * 100) / B)
149- let D = ((p * z) / B)
150- let E = (s - p)
151- if (((w * 100) > p))
152- then throw((((("The security deposit must be more than " + u) + ". You set the size: ") + toString((p / 100))) + ".00"))
153- else if ((0 > E))
153+ let D = (((x * A) * 100) / C)
154+ let E = ((q * A) / C)
155+ let F = (t - q)
156+ if (((x * 100) > q))
157+ then throw((((("The security deposit must be more than " + v) + ". You set the size: ") + toString((q / 100))) + ".00"))
158+ else if ((0 > F))
154159 then throw("Not enough balance")
155- else if ((C > q))
156- then throw((((("The nominal value of the promissory bill exceeds the collateral minimum " + toString(C)) + "₽ (") + u) + "tUSD)"))
157- else if ((q > D))
158- then throw((((("The value of the token cannot exceed the maximum " + toString(D)) + "₽ of the guarantee deposit (") + toString((p / 100))) + "tUSD)"))
160+ else if ((D > r))
161+ then throw((((("The nominal value of the promissory bill exceeds the collateral minimum " + toString(D)) + "₽ (") + v) + "tUSD)"))
162+ else if ((r > E))
163+ then throw((((("The value of the token cannot exceed the maximum " + toString(E)) + "₽ of the guarantee deposit (") + toString((q / 100))) + "tUSD)"))
159164 else {
160- let F = Issue(("bill for:" + toString((p / 100))), ((r + ":") + toString(q)), 1, 0, false)
161- let g = calculateAssetId(F)
162- $Tuple2([IntegerEntry(r, E), F, ScriptTransfer(d.caller, 1, g), IntegerEntry(("l_u_" + toBase58String(g)), p)], unit)
165+ let G = Issue(("bill for:" + toString((q / 100))), ((s + ":") + toString(r)), 1, 0, false)
166+ let g = calculateAssetId(G)
167+ $Tuple2([IntegerEntry(s, F), G, ScriptTransfer(d.caller, 1, g), IntegerEntry(("l_u_" + toBase58String(g)), q)], unit)
163168 }
164169 }
165170
169174 func deposit () = if ((size(d.payments) == 0))
170175 then throw("Payment not attached")
171176 else {
172- let G = value(d.payments)[0]
173- let H = {
177+ let H = value(d.payments)[0]
178+ let I = {
174179 let f = getString(a, "min_deposit")
175180 if ($isInstanceOf(f, "Unit"))
176181 then "0"
177182 else if ($isInstanceOf(f, "String"))
178183 then {
179- let v = f
180- v
184+ let w = f
185+ w
181186 }
182187 else throw("Match error")
183188 }
184- let I = {
185- let f = parseInt(split(H, ".")[0])
189+ let J = {
190+ let f = parseInt(split(I, ".")[0])
186191 if ($isInstanceOf(f, "Unit"))
187192 then 0
188193 else if ($isInstanceOf(f, "Int"))
189194 then {
190- let x = f
191- x
195+ let y = f
196+ y
192197 }
193198 else throw("Match error")
194199 }
195- if ((G.assetId != c))
200+ if ((H.assetId != c))
196201 then throw("holded payment not tUSD")
197- else if (((I * 100) > G.amount))
198- then throw((((("You have set the deposit amount to " + toString((G.amount / 100))) + ".00, which is less than the minimum (") + H) + ")"))
202+ else if (((J * 100) > H.amount))
203+ then throw((((("You have set the deposit amount to " + toString((H.amount / 100))) + ".00, which is less than the minimum (") + I) + ")"))
199204 else {
200- let r = toBase58String(d.caller.bytes)
201- let s = {
202- let f = getInteger(this, r)
205+ let s = toBase58String(d.caller.bytes)
206+ let t = {
207+ let f = getInteger(this, s)
203208 if ($isInstanceOf(f, "Int"))
204209 then {
205- let t = f
206- t
210+ let u = f
211+ u
207212 }
208213 else 0
209214 }
210- let E = (s + G.amount)
211-[IntegerEntry(r, E)]
215+ let F = (t + H.amount)
216+[IntegerEntry(s, F)]
212217 }
213218 }
214219
215220
216221
217222 @Callable(d)
218-func withdraw (J) = {
219- let r = toBase58String(d.caller.bytes)
220- let s = {
221- let f = getInteger(this, r)
223+func withdraw (K) = {
224+ let s = toBase58String(d.caller.bytes)
225+ let t = {
226+ let f = getInteger(this, s)
222227 if ($isInstanceOf(f, "Int"))
223228 then {
224- let t = f
225- t
229+ let u = f
230+ u
226231 }
227232 else 0
228233 }
229- let E = (s - J)
230- if ((0 > J))
234+ let F = (t - K)
235+ if ((0 > K))
231236 then throw("Can't withdraw negative amount")
232- else if ((0 > E))
237+ else if ((0 > F))
233238 then throw("Not enough balance")
234- else $Tuple2([IntegerEntry(r, E), ScriptTransfer(d.caller, J, c)], unit)
239+ else $Tuple2([IntegerEntry(s, F), ScriptTransfer(d.caller, K, c)], unit)
235240 }
236241
237242
238243
239244 @Callable(d)
240-func setOptions (K,L) = {
241- let M = size(K)
242- if ((100 >= M))
245+func setOptions (L,M) = {
246+ let N = size(L)
247+ if ((100 >= N))
243248 then {
244- let N = {
249+ let O = {
245250 let f = getString(a, "admin_list")
246251 if ($isInstanceOf(f, "Unit"))
247252 then "unset"
248253 else if ($isInstanceOf(f, "String"))
249254 then {
250- let v = f
251- v
255+ let w = f
256+ w
252257 }
253258 else throw("Match error")
254259 }
255- func O (P,Q) = {
256- let R = P
257- let S = R._1
258- let T = R._2
259- $Tuple2((S :+ IntegerEntry(K[T], Q)), (T + 1))
260+ func P (Q,R) = {
261+ let S = Q
262+ let T = S._1
263+ let U = S._2
264+ $Tuple2((T :+ IntegerEntry(L[U], R)), (U + 1))
260265 }
261266
262267 let o = {
263- let U = L
264- let V = size(U)
265- let W = $Tuple2(nil, 0)
266- func X (Y,Z) = if ((Z >= V))
267- then Y
268- else O(Y, U[Z])
268+ let V = M
269+ let W = size(V)
270+ let X = $Tuple2(nil, 0)
271+ func Y (Z,aa) = if ((aa >= W))
272+ then Z
273+ else P(Z, V[aa])
269274
270- func aa (Y,Z) = if ((Z >= V))
271- then Y
275+ func ab (Z,aa) = if ((aa >= W))
276+ then Z
272277 else throw("List size exceeds 100")
273278
274- aa(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(W, 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)
279+ ab(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(X, 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)
275280 }
276- let ab = toString(d.caller)
277- if ((N != "unset"))
281+ let ac = toString(d.caller)
282+ if ((O != "unset"))
278283 then {
279- let ac = getString(addressFromStringValue(N), ab)
280- let ad = {
281- let f = ac
284+ let ad = getString(addressFromStringValue(O), ac)
285+ let ae = {
286+ let f = ad
282287 if ($isInstanceOf(f, "String"))
283288 then {
284- let v = f
285- v
289+ let w = f
290+ w
286291 }
287292 else if ($isInstanceOf(f, "Unit"))
288293 then "no admin"
289294 else throw("Match error")
290295 }
291- func ae (af) = {
292- let ag = split(af, "|")
293- StringEntry(ag[0], ag[1])
296+ func af (ag) = {
297+ let ah = split(ag, "|")
298+ StringEntry(ah[0], ah[1])
294299 }
295300
296- if ((ad != "no admin"))
301+ if ((ae != "no admin"))
297302 then o
298- else throw((((((("You not admin: " + N) + ", isAdmin: ") + ad) + ", callerAddressStr: ") + ab) + ", "))
303+ else throw((((((("You not admin: " + O) + ", isAdmin: ") + ae) + ", callerAddressStr: ") + ac) + ", "))
299304 }
300305 else throw("Unset admin list")
301306 }
305310
306311
307312 @Callable(d)
308-func setOption (ah,ai) = {
309- let N = {
313+func setOption (ai,aj) = {
314+ let O = {
310315 let f = getString(a, "admin_list")
311316 if ($isInstanceOf(f, "Unit"))
312317 then "unset"
313318 else if ($isInstanceOf(f, "String"))
314319 then {
315- let v = f
316- v
320+ let w = f
321+ w
317322 }
318323 else throw("Match error")
319324 }
320- let ab = toString(d.caller)
321- if ((N != "unset"))
325+ let ac = toString(d.caller)
326+ if ((O != "unset"))
322327 then {
323- let ac = getString(addressFromStringValue(N), ab)
324- let ad = {
325- let f = ac
328+ let ad = getString(addressFromStringValue(O), ac)
329+ let ae = {
330+ let f = ad
326331 if ($isInstanceOf(f, "String"))
327332 then {
328- let v = f
329- v
333+ let w = f
334+ w
330335 }
331336 else if ($isInstanceOf(f, "Unit"))
332337 then "no admin"
333338 else throw("Match error")
334339 }
335- if ((ad != "no admin"))
336- then $Tuple2([StringEntry(ah, ai)], unit)
337- else throw((((((("You not admin: " + N) + ", isAdmin: ") + ad) + ", callerAddressStr: ") + ab) + ", "))
340+ if ((ae != "no admin"))
341+ then $Tuple2([StringEntry(ai, aj)], unit)
342+ else throw((((((("You not admin: " + O) + ", isAdmin: ") + ae) + ", callerAddressStr: ") + ac) + ", "))
338343 }
339344 else throw("Unset admin list")
340345 }
342347
343348
344349 @Callable(d)
345-func delOption (ah) = {
346- let N = {
350+func delOption (ai) = {
351+ let O = {
347352 let f = getString(a, "admin_list")
348353 if ($isInstanceOf(f, "Unit"))
349354 then "unset"
350355 else if ($isInstanceOf(f, "String"))
351356 then {
352- let v = f
353- v
357+ let w = f
358+ w
354359 }
355360 else throw("Match error")
356361 }
357- let ab = toString(d.caller)
358- if ((N != "unset"))
362+ let ac = toString(d.caller)
363+ if ((O != "unset"))
359364 then {
360- let ac = getString(addressFromStringValue(N), ab)
361- let ad = {
362- let f = ac
365+ let ad = getString(addressFromStringValue(O), ac)
366+ let ae = {
367+ let f = ad
363368 if ($isInstanceOf(f, "String"))
364369 then {
365- let v = f
366- v
370+ let w = f
371+ w
367372 }
368373 else if ($isInstanceOf(f, "Unit"))
369374 then "no admin"
370375 else throw("Match error")
371376 }
372- if ((ad != "no admin"))
373- then $Tuple2([DeleteEntry(ah)], unit)
374- else throw((((((("You not admin: " + N) + ", isAdmin: ") + ad) + ", callerAddressStr: ") + ab) + ", "))
377+ if ((ae != "no admin"))
378+ then $Tuple2([DeleteEntry(ai)], unit)
379+ else throw((((((("You not admin: " + O) + ", isAdmin: ") + ae) + ", callerAddressStr: ") + ac) + ", "))
375380 }
376381 else throw("Unset admin list")
377382 }
378383
379384
380-@Verifier(aj)
381-func ak () = sigVerify(aj.bodyBytes, aj.proofs[0], aj.senderPublicKey)
385+@Verifier(ak)
386+func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
382387
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'DuJUjEZJWmpFUo3bubFX8tomUVitqZZNAPuhd6KWgJNE'
77
88 let c = base58'CX4p6XcuSBUvv44r1avCqYka5PYAVzBK5hSXaT7maU85'
99
1010 @Callable(d)
1111 func reissueTokensLoyalty () = if ((size(d.payments) == 0))
1212 then throw("Payment not attached")
1313 else {
1414 let e = {
1515 let f = d.payments[0].assetId
1616 if ($isInstanceOf(f, "ByteVector"))
1717 then {
1818 let g = f
1919 g
2020 }
2121 else throw("Can't find asset")
2222 }
2323 let h = {
2424 let f = assetInfo(e)
2525 if ($isInstanceOf(f, "Asset"))
2626 then {
2727 let i = f
2828 i
2929 }
3030 else throw("Can't get info from payment")
3131 }
3232 let j = {
3333 let f = parseInt(split(h.description, ":")[1])
3434 if ($isInstanceOf(f, "Int"))
3535 then {
3636 let k = f
3737 k
3838 }
3939 else throw("Can't get quantity from payment")
4040 }
4141 let l = {
4242 let f = h.issuer
4343 if ($isInstanceOf(f, "Address"))
4444 then {
4545 let m = f
4646 m
4747 }
4848 else throw("Can't get issuer from payment")
4949 }
5050 if ((toString(l) != toString(this)))
5151 then throw("Issuer not options_addr")
5252 else {
5353 let n = invoke(a, "reissueForDepAddr", [j], nil)
5454 if ((n == n))
5555 then {
5656 let f = n
5757 if ($isInstanceOf(f, "Int"))
5858 then {
5959 let o = f
6060 $Tuple2([ScriptTransfer(d.caller, j, b), IntegerEntry(("l_b_" + toBase58String(e)), j)], unit)
6161 }
62- else throw("Incorrect invoke result")
62+ else throw({
63+ let p = n
64+ if ($isInstanceOf(p, "String"))
65+ then p
66+ else throw(($getType(p) + " couldn't be cast to String"))
67+ })
6368 }
6469 else throw("Strict value is not equal to itself.")
6570 }
6671 }
6772
6873
6974
7075 @Callable(d)
71-func issueBill (p,q) = {
72- let r = toBase58String(d.caller.bytes)
73- let s = {
74- let f = getInteger(this, r)
76+func issueBill (q,r) = {
77+ let s = toBase58String(d.caller.bytes)
78+ let t = {
79+ let f = getInteger(this, s)
7580 if ($isInstanceOf(f, "Int"))
7681 then {
77- let t = f
78- t
82+ let u = f
83+ u
7984 }
8085 else 0
8186 }
82- let u = {
87+ let v = {
8388 let f = getString(a, "min_bill_deposit")
8489 if ($isInstanceOf(f, "Unit"))
8590 then "0"
8691 else if ($isInstanceOf(f, "String"))
8792 then {
88- let v = f
89- v
93+ let w = f
94+ w
9095 }
9196 else throw("Match error")
9297 }
93- let w = {
94- let f = parseInt(split(u, ".")[0])
98+ let x = {
99+ let f = parseInt(split(v, ".")[0])
95100 if ($isInstanceOf(f, "Unit"))
96101 then 0
97102 else if ($isInstanceOf(f, "Int"))
98103 then {
99- let x = f
100- x
104+ let y = f
105+ y
101106 }
102107 else throw("Match error")
103108 }
104- let y = {
109+ let z = {
105110 let f = getString(a, "exchange_rate")
106111 if ($isInstanceOf(f, "Unit"))
107112 then "0"
108113 else if ($isInstanceOf(f, "String"))
109114 then {
110- let v = f
111- v
115+ let w = f
116+ w
112117 }
113118 else throw("Match error")
114119 }
115- let z = {
116- let f = parseInt(y)
120+ let A = {
121+ let f = parseInt(z)
117122 if ($isInstanceOf(f, "Unit"))
118123 then 0
119124 else if ($isInstanceOf(f, "Int"))
120125 then {
121- let x = f
122- x
126+ let y = f
127+ y
123128 }
124129 else throw("Match error")
125130 }
126- let A = {
131+ let B = {
127132 let f = getString(a, "share_guarantee_fee")
128133 if ($isInstanceOf(f, "Unit"))
129134 then "0"
130135 else if ($isInstanceOf(f, "String"))
131136 then {
132- let v = f
133- v
137+ let w = f
138+ w
134139 }
135140 else throw("Match error")
136141 }
137- let B = {
138- let f = parseInt(A)
142+ let C = {
143+ let f = parseInt(B)
139144 if ($isInstanceOf(f, "Unit"))
140145 then 0
141146 else if ($isInstanceOf(f, "Int"))
142147 then {
143- let x = f
144- x
148+ let y = f
149+ y
145150 }
146151 else throw("Match error")
147152 }
148- let C = (((w * z) * 100) / B)
149- let D = ((p * z) / B)
150- let E = (s - p)
151- if (((w * 100) > p))
152- then throw((((("The security deposit must be more than " + u) + ". You set the size: ") + toString((p / 100))) + ".00"))
153- else if ((0 > E))
153+ let D = (((x * A) * 100) / C)
154+ let E = ((q * A) / C)
155+ let F = (t - q)
156+ if (((x * 100) > q))
157+ then throw((((("The security deposit must be more than " + v) + ". You set the size: ") + toString((q / 100))) + ".00"))
158+ else if ((0 > F))
154159 then throw("Not enough balance")
155- else if ((C > q))
156- then throw((((("The nominal value of the promissory bill exceeds the collateral minimum " + toString(C)) + "₽ (") + u) + "tUSD)"))
157- else if ((q > D))
158- then throw((((("The value of the token cannot exceed the maximum " + toString(D)) + "₽ of the guarantee deposit (") + toString((p / 100))) + "tUSD)"))
160+ else if ((D > r))
161+ then throw((((("The nominal value of the promissory bill exceeds the collateral minimum " + toString(D)) + "₽ (") + v) + "tUSD)"))
162+ else if ((r > E))
163+ then throw((((("The value of the token cannot exceed the maximum " + toString(E)) + "₽ of the guarantee deposit (") + toString((q / 100))) + "tUSD)"))
159164 else {
160- let F = Issue(("bill for:" + toString((p / 100))), ((r + ":") + toString(q)), 1, 0, false)
161- let g = calculateAssetId(F)
162- $Tuple2([IntegerEntry(r, E), F, ScriptTransfer(d.caller, 1, g), IntegerEntry(("l_u_" + toBase58String(g)), p)], unit)
165+ let G = Issue(("bill for:" + toString((q / 100))), ((s + ":") + toString(r)), 1, 0, false)
166+ let g = calculateAssetId(G)
167+ $Tuple2([IntegerEntry(s, F), G, ScriptTransfer(d.caller, 1, g), IntegerEntry(("l_u_" + toBase58String(g)), q)], unit)
163168 }
164169 }
165170
166171
167172
168173 @Callable(d)
169174 func deposit () = if ((size(d.payments) == 0))
170175 then throw("Payment not attached")
171176 else {
172- let G = value(d.payments)[0]
173- let H = {
177+ let H = value(d.payments)[0]
178+ let I = {
174179 let f = getString(a, "min_deposit")
175180 if ($isInstanceOf(f, "Unit"))
176181 then "0"
177182 else if ($isInstanceOf(f, "String"))
178183 then {
179- let v = f
180- v
184+ let w = f
185+ w
181186 }
182187 else throw("Match error")
183188 }
184- let I = {
185- let f = parseInt(split(H, ".")[0])
189+ let J = {
190+ let f = parseInt(split(I, ".")[0])
186191 if ($isInstanceOf(f, "Unit"))
187192 then 0
188193 else if ($isInstanceOf(f, "Int"))
189194 then {
190- let x = f
191- x
195+ let y = f
196+ y
192197 }
193198 else throw("Match error")
194199 }
195- if ((G.assetId != c))
200+ if ((H.assetId != c))
196201 then throw("holded payment not tUSD")
197- else if (((I * 100) > G.amount))
198- then throw((((("You have set the deposit amount to " + toString((G.amount / 100))) + ".00, which is less than the minimum (") + H) + ")"))
202+ else if (((J * 100) > H.amount))
203+ then throw((((("You have set the deposit amount to " + toString((H.amount / 100))) + ".00, which is less than the minimum (") + I) + ")"))
199204 else {
200- let r = toBase58String(d.caller.bytes)
201- let s = {
202- let f = getInteger(this, r)
205+ let s = toBase58String(d.caller.bytes)
206+ let t = {
207+ let f = getInteger(this, s)
203208 if ($isInstanceOf(f, "Int"))
204209 then {
205- let t = f
206- t
210+ let u = f
211+ u
207212 }
208213 else 0
209214 }
210- let E = (s + G.amount)
211-[IntegerEntry(r, E)]
215+ let F = (t + H.amount)
216+[IntegerEntry(s, F)]
212217 }
213218 }
214219
215220
216221
217222 @Callable(d)
218-func withdraw (J) = {
219- let r = toBase58String(d.caller.bytes)
220- let s = {
221- let f = getInteger(this, r)
223+func withdraw (K) = {
224+ let s = toBase58String(d.caller.bytes)
225+ let t = {
226+ let f = getInteger(this, s)
222227 if ($isInstanceOf(f, "Int"))
223228 then {
224- let t = f
225- t
229+ let u = f
230+ u
226231 }
227232 else 0
228233 }
229- let E = (s - J)
230- if ((0 > J))
234+ let F = (t - K)
235+ if ((0 > K))
231236 then throw("Can't withdraw negative amount")
232- else if ((0 > E))
237+ else if ((0 > F))
233238 then throw("Not enough balance")
234- else $Tuple2([IntegerEntry(r, E), ScriptTransfer(d.caller, J, c)], unit)
239+ else $Tuple2([IntegerEntry(s, F), ScriptTransfer(d.caller, K, c)], unit)
235240 }
236241
237242
238243
239244 @Callable(d)
240-func setOptions (K,L) = {
241- let M = size(K)
242- if ((100 >= M))
245+func setOptions (L,M) = {
246+ let N = size(L)
247+ if ((100 >= N))
243248 then {
244- let N = {
249+ let O = {
245250 let f = getString(a, "admin_list")
246251 if ($isInstanceOf(f, "Unit"))
247252 then "unset"
248253 else if ($isInstanceOf(f, "String"))
249254 then {
250- let v = f
251- v
255+ let w = f
256+ w
252257 }
253258 else throw("Match error")
254259 }
255- func O (P,Q) = {
256- let R = P
257- let S = R._1
258- let T = R._2
259- $Tuple2((S :+ IntegerEntry(K[T], Q)), (T + 1))
260+ func P (Q,R) = {
261+ let S = Q
262+ let T = S._1
263+ let U = S._2
264+ $Tuple2((T :+ IntegerEntry(L[U], R)), (U + 1))
260265 }
261266
262267 let o = {
263- let U = L
264- let V = size(U)
265- let W = $Tuple2(nil, 0)
266- func X (Y,Z) = if ((Z >= V))
267- then Y
268- else O(Y, U[Z])
268+ let V = M
269+ let W = size(V)
270+ let X = $Tuple2(nil, 0)
271+ func Y (Z,aa) = if ((aa >= W))
272+ then Z
273+ else P(Z, V[aa])
269274
270- func aa (Y,Z) = if ((Z >= V))
271- then Y
275+ func ab (Z,aa) = if ((aa >= W))
276+ then Z
272277 else throw("List size exceeds 100")
273278
274- aa(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(X(W, 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)
279+ ab(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(X, 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)
275280 }
276- let ab = toString(d.caller)
277- if ((N != "unset"))
281+ let ac = toString(d.caller)
282+ if ((O != "unset"))
278283 then {
279- let ac = getString(addressFromStringValue(N), ab)
280- let ad = {
281- let f = ac
284+ let ad = getString(addressFromStringValue(O), ac)
285+ let ae = {
286+ let f = ad
282287 if ($isInstanceOf(f, "String"))
283288 then {
284- let v = f
285- v
289+ let w = f
290+ w
286291 }
287292 else if ($isInstanceOf(f, "Unit"))
288293 then "no admin"
289294 else throw("Match error")
290295 }
291- func ae (af) = {
292- let ag = split(af, "|")
293- StringEntry(ag[0], ag[1])
296+ func af (ag) = {
297+ let ah = split(ag, "|")
298+ StringEntry(ah[0], ah[1])
294299 }
295300
296- if ((ad != "no admin"))
301+ if ((ae != "no admin"))
297302 then o
298- else throw((((((("You not admin: " + N) + ", isAdmin: ") + ad) + ", callerAddressStr: ") + ab) + ", "))
303+ else throw((((((("You not admin: " + O) + ", isAdmin: ") + ae) + ", callerAddressStr: ") + ac) + ", "))
299304 }
300305 else throw("Unset admin list")
301306 }
302307 else throw("The number of list elements must not exceed 100")
303308 }
304309
305310
306311
307312 @Callable(d)
308-func setOption (ah,ai) = {
309- let N = {
313+func setOption (ai,aj) = {
314+ let O = {
310315 let f = getString(a, "admin_list")
311316 if ($isInstanceOf(f, "Unit"))
312317 then "unset"
313318 else if ($isInstanceOf(f, "String"))
314319 then {
315- let v = f
316- v
320+ let w = f
321+ w
317322 }
318323 else throw("Match error")
319324 }
320- let ab = toString(d.caller)
321- if ((N != "unset"))
325+ let ac = toString(d.caller)
326+ if ((O != "unset"))
322327 then {
323- let ac = getString(addressFromStringValue(N), ab)
324- let ad = {
325- let f = ac
328+ let ad = getString(addressFromStringValue(O), ac)
329+ let ae = {
330+ let f = ad
326331 if ($isInstanceOf(f, "String"))
327332 then {
328- let v = f
329- v
333+ let w = f
334+ w
330335 }
331336 else if ($isInstanceOf(f, "Unit"))
332337 then "no admin"
333338 else throw("Match error")
334339 }
335- if ((ad != "no admin"))
336- then $Tuple2([StringEntry(ah, ai)], unit)
337- else throw((((((("You not admin: " + N) + ", isAdmin: ") + ad) + ", callerAddressStr: ") + ab) + ", "))
340+ if ((ae != "no admin"))
341+ then $Tuple2([StringEntry(ai, aj)], unit)
342+ else throw((((((("You not admin: " + O) + ", isAdmin: ") + ae) + ", callerAddressStr: ") + ac) + ", "))
338343 }
339344 else throw("Unset admin list")
340345 }
341346
342347
343348
344349 @Callable(d)
345-func delOption (ah) = {
346- let N = {
350+func delOption (ai) = {
351+ let O = {
347352 let f = getString(a, "admin_list")
348353 if ($isInstanceOf(f, "Unit"))
349354 then "unset"
350355 else if ($isInstanceOf(f, "String"))
351356 then {
352- let v = f
353- v
357+ let w = f
358+ w
354359 }
355360 else throw("Match error")
356361 }
357- let ab = toString(d.caller)
358- if ((N != "unset"))
362+ let ac = toString(d.caller)
363+ if ((O != "unset"))
359364 then {
360- let ac = getString(addressFromStringValue(N), ab)
361- let ad = {
362- let f = ac
365+ let ad = getString(addressFromStringValue(O), ac)
366+ let ae = {
367+ let f = ad
363368 if ($isInstanceOf(f, "String"))
364369 then {
365- let v = f
366- v
370+ let w = f
371+ w
367372 }
368373 else if ($isInstanceOf(f, "Unit"))
369374 then "no admin"
370375 else throw("Match error")
371376 }
372- if ((ad != "no admin"))
373- then $Tuple2([DeleteEntry(ah)], unit)
374- else throw((((((("You not admin: " + N) + ", isAdmin: ") + ad) + ", callerAddressStr: ") + ab) + ", "))
377+ if ((ae != "no admin"))
378+ then $Tuple2([DeleteEntry(ai)], unit)
379+ else throw((((((("You not admin: " + O) + ", isAdmin: ") + ae) + ", callerAddressStr: ") + ac) + ", "))
375380 }
376381 else throw("Unset admin list")
377382 }
378383
379384
380-@Verifier(aj)
381-func ak () = sigVerify(aj.bodyBytes, aj.proofs[0], aj.senderPublicKey)
385+@Verifier(ak)
386+func al () = sigVerify(ak.bodyBytes, ak.proofs[0], ak.senderPublicKey)
382387

github/deemru/w8io/169f3d6 
129.68 ms