tx · HV3fFkUaikCTs9gUWtc5M4sitXDqQq2W9fdnPuw917Ti

3MuS6qVvhBR6wSynFRdcE3fVqmGBjoc7Hhx:  -0.01300000 Waves

2023.07.04 17:30 [2651279] smart account 3MuS6qVvhBR6wSynFRdcE3fVqmGBjoc7Hhx > SELF 0.00000000 Waves

{ "type": 13, "id": "HV3fFkUaikCTs9gUWtc5M4sitXDqQq2W9fdnPuw917Ti", "fee": 1300000, "feeAssetId": null, "timestamp": 1688481017507, "version": 1, "sender": "3MuS6qVvhBR6wSynFRdcE3fVqmGBjoc7Hhx", "senderPublicKey": "62CHk4MqTdq3LqeUycy7TPnpvwrjgerSa2FqAY2EafXn", "proofs": [ "3TCV1D5CAmfQShiEqJyAzrdE1hPkLjTbtKUvvvTHDonyXx35Yoz6V9nEnWUsMCvcqJBSEh656bVwWgNQGnj7hEjE" ], "script": "base64:BwJaCAISBAoCCAgSBAoCCAESBAoCCAQSBAoCCAISAwoBCBIDCgEBEgMKAQESBQoDAgECEgQKAgIBEgQKAgIBEgUKAwEBARIAEgMKAQgSABIAEgMKAQgSABIDCgEILwADU0VQAgJfXwAQY29udHJhY3RGaWxlbmFtZQIMZmFjdG9yeS5yaWRlAQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUQY29udHJhY3RGaWxlbmFtZQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzAA9BRE1JTl9MSVNUX1NJWkUABQAGUVVPUlVNAAMAEVRYSURfQllURVNfTEVOR1RIACABGGtleUFsbG93ZWRUeElkVm90ZVByZWZpeAEEdHhJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAglhbGxvd1R4SWQJAMwIAgUEdHhJZAUDbmlsBQNTRVABEGtleUZ1bGxBZG1pblZvdGUCBnByZWZpeAxhZG1pbkFkZHJlc3MJALkJAgkAzAgCBQZwcmVmaXgJAMwIAgUMYWRtaW5BZGRyZXNzBQNuaWwFA1NFUAETa2V5QWRtaW5BZGRyZXNzTGlzdAAJALkJAgkAzAgCAgIlcwkAzAgCAhBhZG1pbkFkZHJlc3NMaXN0BQNuaWwFA1NFUAEOa2V5QWxsb3dlZFR4SWQACQC5CQIJAMwIAgICJXMJAMwIAgIEdHhJZAUDbmlsBQNTRVABDGdldEFkbWluVm90ZQIGcHJlZml4BWFkbWluBAd2b3RlS2V5CQEQa2V5RnVsbEFkbWluVm90ZQIFBnByZWZpeAUFYWRtaW4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdm90ZUtleQAAAQ1nZXRBZG1pbnNMaXN0AAQHJG1hdGNoMAkAnQgCBQR0aGlzCQETa2V5QWRtaW5BZGRyZXNzTGlzdAADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQC1CQIFAXMFA1NFUAUDbmlsAQ1pc0luQWRtaW5MaXN0AQdhZGRyZXNzCQEPY29udGFpbnNFbGVtZW50AgkBDWdldEFkbWluc0xpc3QABQdhZGRyZXNzARJnZW5Wb3Rlc0tleXNIZWxwZXICAWEMYWRtaW5BZGRyZXNzBAskdDAxMjYyMTI4NgUBYQQGcmVzdWx0CAULJHQwMTI2MjEyODYCXzEEBnByZWZpeAgFCyR0MDEyNjIxMjg2Al8yCQCUCgIJAM0IAgUGcmVzdWx0CQEQa2V5RnVsbEFkbWluVm90ZQIFBnByZWZpeAUMYWRtaW5BZGRyZXNzBQZwcmVmaXgBDGdlblZvdGVzS2V5cwEJa2V5UHJlZml4BAlhZG1pbkxpc3QJARNrZXlBZG1pbkFkZHJlc3NMaXN0AAQLJHQwMTQzMzE1MTcKAAIkbAkBDWdldEFkbWluc0xpc3QACgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFCWtleVByZWZpeAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQESZ2VuVm90ZXNLZXlzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQQGcmVzdWx0CAULJHQwMTQzMzE1MTcCXzEEBnByZWZpeAgFCyR0MDE0MzMxNTE3Al8yBQZyZXN1bHQBEGNvdW50Vm90ZXNIZWxwZXICBnJlc3VsdAd2b3RlS2V5CQBkAgUGcmVzdWx0CQELdmFsdWVPckVsc2UCCQCfCAEFB3ZvdGVLZXkAAAEKY291bnRWb3RlcwEGcHJlZml4BAV2b3RlcwkBDGdlblZvdGVzS2V5cwEFBnByZWZpeAoAAiRsBQV2b3RlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEQY291bnRWb3Rlc0hlbHBlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUBEGNsZWFyVm90ZXNIZWxwZXICBnJlc3VsdANrZXkJAM0IAgUGcmVzdWx0CQELRGVsZXRlRW50cnkBBQNrZXkBE2dldENsZWFyVm90ZUVudHJpZXMBBnByZWZpeAQFdm90ZXMJAQxnZW5Wb3Rlc0tleXMBBQZwcmVmaXgKAAIkbAUFdm90ZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBEGNsZWFyVm90ZXNIZWxwZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAQx2b3RlSU5URVJOQUwEE2NhbGxlckFkZHJlc3NTdHJpbmcJa2V5UHJlZml4CG1pblZvdGVzCnZvdGVSZXN1bHQEB3ZvdGVLZXkJARBrZXlGdWxsQWRtaW5Wb3RlAgUJa2V5UHJlZml4BRNjYWxsZXJBZGRyZXNzU3RyaW5nBBBhZG1pbkN1cnJlbnRWb3RlCQEMZ2V0QWRtaW5Wb3RlAgUJa2V5UHJlZml4BRNjYWxsZXJBZGRyZXNzU3RyaW5nBANlcnIDCQEBIQEJAQ1pc0luQWRtaW5MaXN0AQUTY2FsbGVyQWRkcmVzc1N0cmluZwkBCHRocm93RXJyAQkArAICCQCsAgICCUFkZHJlc3M6IAUTY2FsbGVyQWRkcmVzc1N0cmluZwISIG5vdCBpbiBBZG1pbiBsaXN0AwkAAAIFEGFkbWluQ3VycmVudFZvdGUAAQkBCHRocm93RXJyAQkArAICBQd2b3RlS2V5AhIgeW91IGFscmVhZHkgdm90ZWQFBHVuaXQDCQAAAgUDZXJyBQNlcnIEBXZvdGVzCQEKY291bnRWb3RlcwEFCWtleVByZWZpeAMJAGcCCQBkAgUFdm90ZXMAAQUIbWluVm90ZXMEEGNsZWFyVm90ZUVudHJpZXMJARNnZXRDbGVhclZvdGVFbnRyaWVzAQUJa2V5UHJlZml4CQDOCAIFEGNsZWFyVm90ZUVudHJpZXMFCnZvdGVSZXN1bHQJAMwIAgkBDEludGVnZXJFbnRyeQIFB3ZvdGVLZXkAAQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARRrZXlDYWxjdWxhdG9yQWRkcmVzcwACDiVzX19jYWxjdWxhdG9yARdrZXlQcm94eVRyZWFzdXJ5QWRkcmVzcwACESVzX19wcm94eVRyZWFzdXJ5AQ9rZXlDaGlsZEFkZHJlc3MAAgklc19fY2hpbGQBGGtleUJsb2NrUHJvY2Vzc2luZ1Jld2FyZAACGSVzX19ibG9ja1Byb2Nlc3NpbmdSZXdhcmQBFWtleU5leHRCbG9ja1RvUHJvY2VzcwACFiVzX19uZXh0QmxvY2tUb1Byb2Nlc3MBDGtleUxwQXNzZXRJZAACDSVzX19scEFzc2V0SWQAF2NhbGN1bGF0b3JBZGRyZXNzT3B0aW9uBAckbWF0Y2gwCQCdCAIFBHRoaXMJARRrZXlDYWxjdWxhdG9yQWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRdjYWxjdWxhdG9yQWRkcmVzc09wdGlvbgkBB3dyYXBFcnIBAhppbnZhbGlkIGNhbGN1bGF0b3IgYWRkcmVzcwAacHJveHlUcmVhc3VyeUFkZHJlc3NPcHRpb24EByRtYXRjaDAJAJ0IAgUEdGhpcwkBF2tleVByb3h5VHJlYXN1cnlBZGRyZXNzAAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJAKYIAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAGnByb3h5VHJlYXN1cnlBZGRyZXNzT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFGnByb3h5VHJlYXN1cnlBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECHmludmFsaWQgcHJveHkgdHJlYXN1cnkgYWRkcmVzcwEQa2V5Q29uZmlnQWRkcmVzcwACCiVzX19jb25maWcBEmtleUNoaWxkcmVuQWRkcmVzcwACEWNvbnRyYWN0X2NoaWxkcmVuARZrZXlWb3RpbmdSZXN1bHRBZGRyZXNzAAIWY29udHJhY3Rfdm90aW5nX3Jlc3VsdAEZa2V5UHJvcG9zYWxBbGxvd0Jyb2FkY2FzdAIHYWRkcmVzcwR0eElkCQCsAgIJAKwCAgkArAICAhlwcm9wb3NhbF9hbGxvd19icm9hZGNhc3RfCQClCAEFB2FkZHJlc3MCAV8JANgEAQUEdHhJZAERa2V5SW52ZXN0ZWRCeVVzZXICDGNoaWxkQWRkcmVzcwt1c2VyQWRkcmVzcwkAuQkCCQDMCAICCGludmVzdG9yCQDMCAIJAKUIAQUMY2hpbGRBZGRyZXNzCQDMCAIJAKUIAQULdXNlckFkZHJlc3MFA25pbAIBXwATY29uZmlnQWRkcmVzc09wdGlvbgQHJG1hdGNoMAkAnQgCBQR0aGlzCQEQa2V5Q29uZmlnQWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABNjb25maWdBZGRyZXNzT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFE2NvbmZpZ0FkZHJlc3NPcHRpb24JAQd3cmFwRXJyAQIWaW52YWxpZCBjb25maWcgYWRkcmVzcwAZdm90aW5nUmVzdWx0QWRkcmVzc09wdGlvbgQHJG1hdGNoMAUTY29uZmlnQWRkcmVzc09wdGlvbgMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBAckbWF0Y2gxCQCdCAIFAWEJARZrZXlWb3RpbmdSZXN1bHRBZGRyZXNzAAMJAAECBQckbWF0Y2gxAgZTdHJpbmcEAXMFByRtYXRjaDEJAKYIAQUBcwMJAAECBQckbWF0Y2gxAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABl2b3RpbmdSZXN1bHRBZGRyZXNzT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFGXZvdGluZ1Jlc3VsdEFkZHJlc3NPcHRpb24JAQd3cmFwRXJyAQIdaW52YWxpZCB2b3RpbmcgcmVzdWx0IGFkZHJlc3MAFWNoaWxkcmVuQWRkcmVzc09wdGlvbgQHJG1hdGNoMAUTY29uZmlnQWRkcmVzc09wdGlvbgMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBAckbWF0Y2gxCQCdCAIFAWEJARJrZXlDaGlsZHJlbkFkZHJlc3MAAwkAAQIFByRtYXRjaDECBlN0cmluZwQBcwUHJG1hdGNoMQkApggBBQFzAwkAAQIFByRtYXRjaDECBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IAFWNoaWxkcmVuQWRkcmVzc09yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRVjaGlsZHJlbkFkZHJlc3NPcHRpb24JAQd3cmFwRXJyAQIYaW52YWxpZCBjaGlsZHJlbiBhZGRyZXNzAA9scEFzc2V0SWRPcHRpb24EByRtYXRjaDAJAJ0IAgUEdGhpcwkBDGtleUxwQXNzZXRJZAADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQDZBAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAA9scEFzc2V0SWRPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUPbHBBc3NldElkT3B0aW9uCQEHd3JhcEVycgECEWludmFsaWQgbHBBc3NldElkAQtvbmx5QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAQhvbmx5VGhpcwEBaQkBC29ubHlBZGRyZXNzAgUBaQUEdGhpcwEOb25seUNhbGN1bGF0b3IBAWkJAQtvbmx5QWRkcmVzcwIFAWkFF2NhbGN1bGF0b3JBZGRyZXNzT3JGYWlsEgFpAQtzdHJpbmdFbnRyeQIDa2V5A3ZhbAMJAQ5vbmx5Q2FsY3VsYXRvcgEFAWkJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQNrZXkFA3ZhbAUDbmlsBQNrZXkJAJQKAgUDbmlsBQR1bml0AWkBDGludGVnZXJFbnRyeQIDa2V5A3ZhbAMJAQ5vbmx5Q2FsY3VsYXRvcgEFAWkJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQCUCgIFA25pbAUEdW5pdAFpAQxib29sZWFuRW50cnkCA2tleQN2YWwDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIJAMwIAgkBDEJvb2xlYW5FbnRyeQIFA2tleQUDdmFsBQNuaWwFA2tleQkAlAoCBQNuaWwFBHVuaXQBaQELYmluYXJ5RW50cnkCA2tleQN2YWwDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIJAMwIAgkBC0JpbmFyeUVudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQCUCgIFA25pbAUEdW5pdAFpAQtkZWxldGVFbnRyeQEDa2V5AwkBDm9ubHlDYWxjdWxhdG9yAQUBaQkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEFA2tleQUDbmlsBQNrZXkJAJQKAgUDbmlsBQR1bml0AWkBB3JlaXNzdWUBBmFtb3VudAMJAQ5vbmx5Q2FsY3VsYXRvcgEFAWkJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFD2xwQXNzZXRJZE9yRmFpbAUGYW1vdW50BgUDbmlsBQZhbW91bnQJAJQKAgUDbmlsBQR1bml0AWkBBGJ1cm4BBmFtb3VudAMJAQ5vbmx5Q2FsY3VsYXRvcgEFAWkJAJQKAgkAzAgCCQEEQnVybgIFD2xwQXNzZXRJZE9yRmFpbAUGYW1vdW50BQNuaWwFBmFtb3VudAkAlAoCBQNuaWwFBHVuaXQBaQENdHJhbnNmZXJBc3NldAMOcmVjZXBpZW50Qnl0ZXMGYW1vdW50B2Fzc2V0SWQDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNlcGllbnRCeXRlcwUGYW1vdW50BQdhc3NldElkBQNuaWwFBmFtb3VudAkAlAoCBQNuaWwFBHVuaXQBaQENdHJhbnNmZXJXYXZlcwIOcmVjZXBpZW50Qnl0ZXMGYW1vdW50AwkBDm9ubHlDYWxjdWxhdG9yAQUBaQkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUOcmVjZXBpZW50Qnl0ZXMFBmFtb3VudAUEdW5pdAUDbmlsBQZhbW91bnQJAJQKAgUDbmlsBQR1bml0AWkBGXRyYW5zZmVyRnJvbVByb3h5VHJlYXN1cnkCDnJlY2lwaWVudEJ5dGVzDXJld2FyZHNBbW91bnQDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIFA25pbAkA/AcEBRpwcm94eVRyZWFzdXJ5QWRkcmVzc09yRmFpbAINdHJhbnNmZXJXYXZlcwkAzAgCBQ5yZWNpcGllbnRCeXRlcwkAzAgCBQ1yZXdhcmRzQW1vdW50BQNuaWwFA25pbAkAlAoCBQNuaWwFBHVuaXQBaQEIZmluYWxpemUDGG5ld1RyZWFzdXJ5Vm9sdW1lSW5XYXZlcxdwd3JNYW5hZ2Vyc0JvbnVzSW5XYXZlcyB0cmVhc3VyeVZvbHVtZURpZmZBbGxvY2F0aW9uQ29lZgkAlAoCBQNuaWwJAP0HBAUXY2FsY3VsYXRvckFkZHJlc3NPckZhaWwCCGZpbmFsaXplCQDMCAIICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgUYbmV3VHJlYXN1cnlWb2x1bWVJbldhdmVzCQDMCAIFF3B3ck1hbmFnZXJzQm9udXNJbldhdmVzCQDMCAIFIHRyZWFzdXJ5Vm9sdW1lRGlmZkFsbG9jYXRpb25Db2VmBQNuaWwIBQFpCHBheW1lbnRzAWkBB2NsYWltTFAACQCUCgIFA25pbAkA/QcEBRdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbAIHY2xhaW1MUAkAzAgCCAgFAWkGY2FsbGVyBWJ5dGVzBQNuaWwIBQFpCHBheW1lbnRzAWkBCmNsYWltV2F2ZXMBB3R4SWRTdHIJAJQKAgUDbmlsCQD9BwQFF2NhbGN1bGF0b3JBZGRyZXNzT3JGYWlsAgpjbGFpbVdhdmVzCQDMCAIICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkA2QQBBQd0eElkU3RyBQNuaWwIBQFpCHBheW1lbnRzAWkBBmludmVzdAAJAJQKAgUDbmlsCQD9BwQFF2NhbGN1bGF0b3JBZGRyZXNzT3JGYWlsAgZpbnZlc3QJAMwIAggIBQFpBmNhbGxlcgVieXRlcwUDbmlsCAUBaQhwYXltZW50cwFpAQh3aXRoZHJhdwAJAJQKAgUDbmlsCQD9BwQFF2NhbGN1bGF0b3JBZGRyZXNzT3JGYWlsAgh3aXRoZHJhdwkAzAgCCAgFAWkGY2FsbGVyBWJ5dGVzBQNuaWwIBQFpCHBheW1lbnRzAWkBDmNhbmNlbFdpdGhkcmF3AQd0eElkU3RyCQCUCgIFA25pbAkA/QcEBRdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbAIOY2FuY2VsV2l0aGRyYXcJAMwIAggIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQDZBAEFB3R4SWRTdHIFA25pbAgFAWkIcGF5bWVudHMBaQENcHJvY2Vzc0Jsb2NrcwAJAJQKAgUDbmlsCQD9BwQFF2NhbGN1bGF0b3JBZGRyZXNzT3JGYWlsAg1wcm9jZXNzQmxvY2tzCQDMCAIICAUBaQZjYWxsZXIFYnl0ZXMFA25pbAgFAWkIcGF5bWVudHMBaQELdm90ZUZvclR4SWQBBHR4SWQEE2NhbGxlckFkZHJlc3NTdHJpbmcJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQJa2V5UHJlZml4CQEYa2V5QWxsb3dlZFR4SWRWb3RlUHJlZml4AQUEdHhJZAQGcmVzdWx0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlBbGxvd2VkVHhJZAAFBHR4SWQFA25pbAQRYWxsb3dlZFR4SWRPcHRpb24JAJ0IAgUEdGhpcwkBDmtleUFsbG93ZWRUeElkAAQDZXJyCQDMCAIDCQAAAgkAyAEBCQDZBAEFBHR4SWQFEVRYSURfQllURVNfTEVOR1RIBgkBCHRocm93RXJyAQkArAICBQR0eElkAhIgaXMgbm90IHZhbGlkIHR4SWQJAMwIAgMDCQAAAgURYWxsb3dlZFR4SWRPcHRpb24FBHVuaXQGCQECIT0CCQEFdmFsdWUBBRFhbGxvd2VkVHhJZE9wdGlvbgUEdHhJZAYJAQh0aHJvd0VycgEJAKwCAgUEdHhJZAITIGlzIGFscmVhZHkgYWxsb3dlZAUDbmlsAwkAAAIFA2VycgUDZXJyCQEMdm90ZUlOVEVSTkFMBAUTY2FsbGVyQWRkcmVzc1N0cmluZwUJa2V5UHJlZml4BQZRVU9SVU0FBnJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAECmJ5UHJvcG9zYWwEByRtYXRjaDAFGXZvdGluZ1Jlc3VsdEFkZHJlc3NPcHRpb24DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQPcHJvcG9zYWxBZGRyZXNzBQckbWF0Y2gwCQELdmFsdWVPckVsc2UCCQCbCAIFD3Byb3Bvc2FsQWRkcmVzcwkBGWtleVByb3Bvc2FsQWxsb3dCcm9hZGNhc3QCBQR0aGlzCAUCdHgCaWQHBwQIYnlBZG1pbnMJAAACCAUCdHgCaWQJANkEAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5QWxsb3dlZFR4SWQAAgAEB2J5T3duZXIDCQBnAgkAkAMBCQENZ2V0QWRtaW5zTGlzdAAFBlFVT1JVTQcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkDAwUKYnlQcm9wb3NhbAYFCGJ5QWRtaW5zBgUHYnlPd25lcsGySmY=", "chainId": 84, "height": 2651279, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6UzAfASQVx6Ecb3dsUB23K3RdxiobYfiwWjAXX1MSv9x Next: HKTE68oavY7L6zq5obn9VT2M2nJfeRK41Xcq2hUx9h5S Diff:
OldNewDifferences
1111 func e (d) = throw(c(d))
1212
1313
14-func f () = "%s__calculator"
14+let f = 5
15+
16+let g = 3
17+
18+let h = 32
19+
20+func i (j) = makeString(["%s%s%s", "allowTxId", j], a)
1521
1622
17-func g () = "%s__proxyTreasury"
23+func k (l,m) = makeString([l, m], a)
1824
1925
20-func h () = "%s__child"
26+func n () = makeString(["%s", "adminAddressList"], a)
2127
2228
23-func i () = "%s__blockProcessingReward"
29+func o () = makeString(["%s", "txId"], a)
2430
2531
26-func j () = "%s__nextBlockToProcess"
32+func p (l,q) = {
33+ let r = k(l, q)
34+ valueOrElse(getInteger(r), 0)
35+ }
2736
2837
29-func k () = "%s__lpAssetId"
38+func s () = {
39+ let t = getString(this, n())
40+ if ($isInstanceOf(t, "String"))
41+ then {
42+ let d = t
43+ split(d, a)
44+ }
45+ else nil
46+ }
3047
3148
32-let l = {
33- let m = getString(this, f())
34- if ($isInstanceOf(m, "String"))
49+func u (v) = containsElement(s(), v)
50+
51+
52+func w (x,m) = {
53+ let y = x
54+ let z = y._1
55+ let l = y._2
56+ $Tuple2((z :+ k(l, m)), l)
57+ }
58+
59+
60+func A (B) = {
61+ let C = n()
62+ let D = {
63+ let E = s()
64+ let F = size(E)
65+ let G = $Tuple2(nil, B)
66+ func H (I,J) = if ((J >= F))
67+ then I
68+ else w(I, E[J])
69+
70+ func K (I,J) = if ((J >= F))
71+ then I
72+ else throw("List size exceeds 5")
73+
74+ K(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5)
75+ }
76+ let z = D._1
77+ let l = D._2
78+ z
79+ }
80+
81+
82+func L (z,r) = (z + valueOrElse(getInteger(r), 0))
83+
84+
85+func M (l) = {
86+ let N = A(l)
87+ let E = N
88+ let F = size(E)
89+ let G = 0
90+ func H (I,J) = if ((J >= F))
91+ then I
92+ else L(I, E[J])
93+
94+ func K (I,J) = if ((J >= F))
95+ then I
96+ else throw("List size exceeds 5")
97+
98+ K(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5)
99+ }
100+
101+
102+func O (z,P) = (z :+ DeleteEntry(P))
103+
104+
105+func Q (l) = {
106+ let N = A(l)
107+ let E = N
108+ let F = size(E)
109+ let G = nil
110+ func H (I,J) = if ((J >= F))
111+ then I
112+ else O(I, E[J])
113+
114+ func K (I,J) = if ((J >= F))
115+ then I
116+ else throw("List size exceeds 5")
117+
118+ K(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5)
119+ }
120+
121+
122+func R (S,B,T,U) = {
123+ let r = k(B, S)
124+ let V = p(B, S)
125+ let W = if (!(u(S)))
126+ then e((("Address: " + S) + " not in Admin list"))
127+ else if ((V == 1))
128+ then e((r + " you already voted"))
129+ else unit
130+ if ((W == W))
35131 then {
36- let d = m
132+ let N = M(B)
133+ if (((N + 1) >= T))
134+ then {
135+ let X = Q(B)
136+ (X ++ U)
137+ }
138+ else [IntegerEntry(r, 1)]
139+ }
140+ else throw("Strict value is not equal to itself.")
141+ }
142+
143+
144+func Y () = "%s__calculator"
145+
146+
147+func Z () = "%s__proxyTreasury"
148+
149+
150+func aa () = "%s__child"
151+
152+
153+func ab () = "%s__blockProcessingReward"
154+
155+
156+func ac () = "%s__nextBlockToProcess"
157+
158+
159+func ad () = "%s__lpAssetId"
160+
161+
162+let ae = {
163+ let t = getString(this, Y())
164+ if ($isInstanceOf(t, "String"))
165+ then {
166+ let d = t
37167 addressFromString(d)
38168 }
39- else if ($isInstanceOf(m, "Unit"))
169+ else if ($isInstanceOf(t, "Unit"))
40170 then unit
41171 else throw("Match error")
42172 }
43173
44-let n = valueOrErrorMessage(l, c("invalid calculator address"))
174+let af = valueOrErrorMessage(ae, c("invalid calculator address"))
45175
46-let o = {
47- let m = getString(this, g())
48- if ($isInstanceOf(m, "String"))
176+let ag = {
177+ let t = getString(this, Z())
178+ if ($isInstanceOf(t, "String"))
49179 then {
50- let d = m
180+ let d = t
51181 addressFromString(d)
52182 }
53- else if ($isInstanceOf(m, "Unit"))
183+ else if ($isInstanceOf(t, "Unit"))
54184 then unit
55185 else throw("Match error")
56186 }
57187
58-let p = valueOrErrorMessage(o, c("invalid proxy treasury address"))
188+let ah = valueOrErrorMessage(ag, c("invalid proxy treasury address"))
59189
60-func q () = "%s__config"
190+func ai () = "%s__config"
61191
62192
63-func r () = "contract_children"
193+func aj () = "contract_children"
64194
65195
66-func s () = "contract_voting_result"
196+func ak () = "contract_voting_result"
67197
68198
69-func t (u,v) = ((("proposal_allow_broadcast_" + toString(u)) + "_") + toBase58String(v))
199+func al (v,j) = ((("proposal_allow_broadcast_" + toString(v)) + "_") + toBase58String(j))
70200
71201
72-func w (x,y) = makeString(["investor", toString(x), toString(y)], "_")
202+func am (an,ao) = makeString(["investor", toString(an), toString(ao)], "_")
73203
74204
75-let z = {
76- let m = getString(this, q())
77- if ($isInstanceOf(m, "String"))
205+let ap = {
206+ let t = getString(this, ai())
207+ if ($isInstanceOf(t, "String"))
78208 then {
79- let d = m
209+ let d = t
80210 addressFromString(d)
81211 }
82- else if ($isInstanceOf(m, "Unit"))
212+ else if ($isInstanceOf(t, "Unit"))
83213 then unit
84214 else throw("Match error")
85215 }
86216
87-let A = valueOrErrorMessage(z, c("invalid config address"))
217+let aq = valueOrErrorMessage(ap, c("invalid config address"))
88218
89-let B = {
90- let m = z
91- if ($isInstanceOf(m, "Address"))
219+let ar = {
220+ let t = ap
221+ if ($isInstanceOf(t, "Address"))
92222 then {
93- let C = m
94- let D = getString(C, s())
95- if ($isInstanceOf(D, "String"))
223+ let x = t
224+ let as = getString(x, ak())
225+ if ($isInstanceOf(as, "String"))
96226 then {
97- let d = D
227+ let d = as
98228 addressFromString(d)
99229 }
100- else if ($isInstanceOf(D, "Unit"))
230+ else if ($isInstanceOf(as, "Unit"))
101231 then unit
102232 else throw("Match error")
103233 }
104- else if ($isInstanceOf(m, "Unit"))
234+ else if ($isInstanceOf(t, "Unit"))
105235 then unit
106236 else throw("Match error")
107237 }
108238
109-let E = valueOrErrorMessage(B, c("invalid voting result address"))
239+let at = valueOrErrorMessage(ar, c("invalid voting result address"))
110240
111-let F = {
112- let m = z
113- if ($isInstanceOf(m, "Address"))
241+let au = {
242+ let t = ap
243+ if ($isInstanceOf(t, "Address"))
114244 then {
115- let C = m
116- let D = getString(C, r())
117- if ($isInstanceOf(D, "String"))
245+ let x = t
246+ let as = getString(x, aj())
247+ if ($isInstanceOf(as, "String"))
118248 then {
119- let d = D
249+ let d = as
120250 addressFromString(d)
121251 }
122- else if ($isInstanceOf(D, "Unit"))
252+ else if ($isInstanceOf(as, "Unit"))
123253 then unit
124254 else throw("Match error")
125255 }
126- else if ($isInstanceOf(m, "Unit"))
256+ else if ($isInstanceOf(t, "Unit"))
127257 then unit
128258 else throw("Match error")
129259 }
130260
131-let G = valueOrErrorMessage(F, c("invalid children address"))
261+let av = valueOrErrorMessage(au, c("invalid children address"))
132262
133-let H = {
134- let m = getString(this, k())
135- if ($isInstanceOf(m, "String"))
263+let aw = {
264+ let t = getString(this, ad())
265+ if ($isInstanceOf(t, "String"))
136266 then {
137- let d = m
267+ let d = t
138268 fromBase58String(d)
139269 }
140- else if ($isInstanceOf(m, "Unit"))
270+ else if ($isInstanceOf(t, "Unit"))
141271 then unit
142272 else throw("Match error")
143273 }
144274
145-let I = valueOrErrorMessage(H, c("invalid lpAssetId"))
275+let ax = valueOrErrorMessage(aw, c("invalid lpAssetId"))
146276
147-func J (K,u) = if ((K.caller == u))
277+func ay (az,v) = if ((az.caller == v))
148278 then true
149279 else e("permission denied")
150280
151281
152-func L (K) = J(K, this)
282+func aA (az) = ay(az, this)
153283
154284
155-func M (K) = J(K, n)
285+func aB (az) = ay(az, af)
156286
157287
158-@Callable(K)
159-func stringEntry (N,O) = if (M(K))
160- then $Tuple2([StringEntry(N, O)], N)
288+@Callable(az)
289+func stringEntry (P,aC) = if (aB(az))
290+ then $Tuple2([StringEntry(P, aC)], P)
161291 else $Tuple2(nil, unit)
162292
163293
164294
165-@Callable(K)
166-func integerEntry (N,O) = if (M(K))
167- then $Tuple2([IntegerEntry(N, O)], N)
295+@Callable(az)
296+func integerEntry (P,aC) = if (aB(az))
297+ then $Tuple2([IntegerEntry(P, aC)], P)
168298 else $Tuple2(nil, unit)
169299
170300
171301
172-@Callable(K)
173-func booleanEntry (N,O) = if (M(K))
174- then $Tuple2([BooleanEntry(N, O)], N)
302+@Callable(az)
303+func booleanEntry (P,aC) = if (aB(az))
304+ then $Tuple2([BooleanEntry(P, aC)], P)
175305 else $Tuple2(nil, unit)
176306
177307
178308
179-@Callable(K)
180-func binaryEntry (N,O) = if (M(K))
181- then $Tuple2([BinaryEntry(N, O)], N)
309+@Callable(az)
310+func binaryEntry (P,aC) = if (aB(az))
311+ then $Tuple2([BinaryEntry(P, aC)], P)
182312 else $Tuple2(nil, unit)
183313
184314
185315
186-@Callable(K)
187-func deleteEntry (N) = if (M(K))
188- then $Tuple2([DeleteEntry(N)], N)
316+@Callable(az)
317+func deleteEntry (P) = if (aB(az))
318+ then $Tuple2([DeleteEntry(P)], P)
189319 else $Tuple2(nil, unit)
190320
191321
192322
193-@Callable(K)
194-func reissue (P) = if (M(K))
195- then $Tuple2([Reissue(I, P, true)], P)
323+@Callable(az)
324+func reissue (aD) = if (aB(az))
325+ then $Tuple2([Reissue(ax, aD, true)], aD)
196326 else $Tuple2(nil, unit)
197327
198328
199329
200-@Callable(K)
201-func burn (P) = if (M(K))
202- then $Tuple2([Burn(I, P)], P)
330+@Callable(az)
331+func burn (aD) = if (aB(az))
332+ then $Tuple2([Burn(ax, aD)], aD)
203333 else $Tuple2(nil, unit)
204334
205335
206336
207-@Callable(K)
208-func transferAsset (Q,P,R) = if (M(K))
209- then $Tuple2([ScriptTransfer(Address(Q), P, R)], P)
337+@Callable(az)
338+func transferAsset (aE,aD,aF) = if (aB(az))
339+ then $Tuple2([ScriptTransfer(Address(aE), aD, aF)], aD)
210340 else $Tuple2(nil, unit)
211341
212342
213343
214-@Callable(K)
215-func transferWaves (Q,P) = if (M(K))
216- then $Tuple2([ScriptTransfer(Address(Q), P, unit)], P)
344+@Callable(az)
345+func transferWaves (aE,aD) = if (aB(az))
346+ then $Tuple2([ScriptTransfer(Address(aE), aD, unit)], aD)
217347 else $Tuple2(nil, unit)
218348
219349
220350
221-@Callable(K)
222-func transferFromProxyTreasury (S,T) = if (M(K))
223- then $Tuple2(nil, invoke(p, "transferWaves", [S, T], nil))
351+@Callable(az)
352+func transferFromProxyTreasury (aG,aH) = if (aB(az))
353+ then $Tuple2(nil, invoke(ah, "transferWaves", [aG, aH], nil))
224354 else $Tuple2(nil, unit)
225355
226356
227357
228-@Callable(K)
229-func finalize (U,V,W) = $Tuple2(nil, reentrantInvoke(n, "finalize", [K.caller.bytes, U, V, W], K.payments))
358+@Callable(az)
359+func finalize (aI,aJ,aK) = $Tuple2(nil, reentrantInvoke(af, "finalize", [az.caller.bytes, aI, aJ, aK], az.payments))
230360
231361
232362
233-@Callable(K)
234-func claimLP () = $Tuple2(nil, reentrantInvoke(n, "claimLP", [K.caller.bytes], K.payments))
363+@Callable(az)
364+func claimLP () = $Tuple2(nil, reentrantInvoke(af, "claimLP", [az.caller.bytes], az.payments))
235365
236366
237367
238-@Callable(K)
239-func claimWaves (X) = $Tuple2(nil, reentrantInvoke(n, "claimWaves", [K.caller.bytes, fromBase58String(X)], K.payments))
368+@Callable(az)
369+func claimWaves (aL) = $Tuple2(nil, reentrantInvoke(af, "claimWaves", [az.caller.bytes, fromBase58String(aL)], az.payments))
240370
241371
242372
243-@Callable(K)
244-func invest () = $Tuple2(nil, reentrantInvoke(n, "invest", [K.caller.bytes], K.payments))
373+@Callable(az)
374+func invest () = $Tuple2(nil, reentrantInvoke(af, "invest", [az.caller.bytes], az.payments))
245375
246376
247377
248-@Callable(K)
249-func withdraw () = $Tuple2(nil, reentrantInvoke(n, "withdraw", [K.caller.bytes], K.payments))
378+@Callable(az)
379+func withdraw () = $Tuple2(nil, reentrantInvoke(af, "withdraw", [az.caller.bytes], az.payments))
250380
251381
252382
253-@Callable(K)
254-func cancelWithdraw (X) = $Tuple2(nil, reentrantInvoke(n, "cancelWithdraw", [K.caller.bytes, fromBase58String(X)], K.payments))
383+@Callable(az)
384+func cancelWithdraw (aL) = $Tuple2(nil, reentrantInvoke(af, "cancelWithdraw", [az.caller.bytes, fromBase58String(aL)], az.payments))
255385
256386
257387
258-@Callable(K)
259-func processBlocks () = $Tuple2(nil, reentrantInvoke(n, "processBlocks", [K.caller.bytes], K.payments))
388+@Callable(az)
389+func processBlocks () = $Tuple2(nil, reentrantInvoke(af, "processBlocks", [az.caller.bytes], az.payments))
260390
261391
262-@Verifier(Y)
263-func Z () = {
264- let aa = valueOrElse(getBoolean(E, t(this, Y.id)), false)
265- let ab = sigVerify(Y.bodyBytes, Y.proofs[0], Y.senderPublicKey)
266- if ((B != unit))
267- then if (aa)
268- then true
269- else ab
270- else ab
392+
393+@Callable(az)
394+func voteForTxId (j) = {
395+ let S = toBase58String(az.caller.bytes)
396+ let B = i(j)
397+ let z = [StringEntry(o(), j)]
398+ let aM = getString(this, o())
399+ let W = [if ((size(fromBase58String(j)) == h))
400+ then true
401+ else e((j + " is not valid txId")), if (if ((aM == unit))
402+ then true
403+ else (value(aM) != j))
404+ then true
405+ else e((j + " is already allowed"))]
406+ if ((W == W))
407+ then R(S, B, g, z)
408+ else throw("Strict value is not equal to itself.")
409+ }
410+
411+
412+@Verifier(aN)
413+func aO () = {
414+ let aP = {
415+ let t = ar
416+ if ($isInstanceOf(t, "Address"))
417+ then {
418+ let aQ = t
419+ valueOrElse(getBoolean(aQ, al(this, aN.id)), false)
420+ }
421+ else false
422+ }
423+ let aR = (aN.id == fromBase58String(valueOrElse(getString(this, o()), "")))
424+ let aS = if ((size(s()) >= g))
425+ then false
426+ else sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
427+ if (if (aP)
428+ then true
429+ else aR)
430+ then true
431+ else aS
271432 }
272433
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "factory.ride"
77
88 func c (d) = ((b + ": ") + d)
99
1010
1111 func e (d) = throw(c(d))
1212
1313
14-func f () = "%s__calculator"
14+let f = 5
15+
16+let g = 3
17+
18+let h = 32
19+
20+func i (j) = makeString(["%s%s%s", "allowTxId", j], a)
1521
1622
17-func g () = "%s__proxyTreasury"
23+func k (l,m) = makeString([l, m], a)
1824
1925
20-func h () = "%s__child"
26+func n () = makeString(["%s", "adminAddressList"], a)
2127
2228
23-func i () = "%s__blockProcessingReward"
29+func o () = makeString(["%s", "txId"], a)
2430
2531
26-func j () = "%s__nextBlockToProcess"
32+func p (l,q) = {
33+ let r = k(l, q)
34+ valueOrElse(getInteger(r), 0)
35+ }
2736
2837
29-func k () = "%s__lpAssetId"
38+func s () = {
39+ let t = getString(this, n())
40+ if ($isInstanceOf(t, "String"))
41+ then {
42+ let d = t
43+ split(d, a)
44+ }
45+ else nil
46+ }
3047
3148
32-let l = {
33- let m = getString(this, f())
34- if ($isInstanceOf(m, "String"))
49+func u (v) = containsElement(s(), v)
50+
51+
52+func w (x,m) = {
53+ let y = x
54+ let z = y._1
55+ let l = y._2
56+ $Tuple2((z :+ k(l, m)), l)
57+ }
58+
59+
60+func A (B) = {
61+ let C = n()
62+ let D = {
63+ let E = s()
64+ let F = size(E)
65+ let G = $Tuple2(nil, B)
66+ func H (I,J) = if ((J >= F))
67+ then I
68+ else w(I, E[J])
69+
70+ func K (I,J) = if ((J >= F))
71+ then I
72+ else throw("List size exceeds 5")
73+
74+ K(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5)
75+ }
76+ let z = D._1
77+ let l = D._2
78+ z
79+ }
80+
81+
82+func L (z,r) = (z + valueOrElse(getInteger(r), 0))
83+
84+
85+func M (l) = {
86+ let N = A(l)
87+ let E = N
88+ let F = size(E)
89+ let G = 0
90+ func H (I,J) = if ((J >= F))
91+ then I
92+ else L(I, E[J])
93+
94+ func K (I,J) = if ((J >= F))
95+ then I
96+ else throw("List size exceeds 5")
97+
98+ K(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5)
99+ }
100+
101+
102+func O (z,P) = (z :+ DeleteEntry(P))
103+
104+
105+func Q (l) = {
106+ let N = A(l)
107+ let E = N
108+ let F = size(E)
109+ let G = nil
110+ func H (I,J) = if ((J >= F))
111+ then I
112+ else O(I, E[J])
113+
114+ func K (I,J) = if ((J >= F))
115+ then I
116+ else throw("List size exceeds 5")
117+
118+ K(H(H(H(H(H(G, 0), 1), 2), 3), 4), 5)
119+ }
120+
121+
122+func R (S,B,T,U) = {
123+ let r = k(B, S)
124+ let V = p(B, S)
125+ let W = if (!(u(S)))
126+ then e((("Address: " + S) + " not in Admin list"))
127+ else if ((V == 1))
128+ then e((r + " you already voted"))
129+ else unit
130+ if ((W == W))
35131 then {
36- let d = m
132+ let N = M(B)
133+ if (((N + 1) >= T))
134+ then {
135+ let X = Q(B)
136+ (X ++ U)
137+ }
138+ else [IntegerEntry(r, 1)]
139+ }
140+ else throw("Strict value is not equal to itself.")
141+ }
142+
143+
144+func Y () = "%s__calculator"
145+
146+
147+func Z () = "%s__proxyTreasury"
148+
149+
150+func aa () = "%s__child"
151+
152+
153+func ab () = "%s__blockProcessingReward"
154+
155+
156+func ac () = "%s__nextBlockToProcess"
157+
158+
159+func ad () = "%s__lpAssetId"
160+
161+
162+let ae = {
163+ let t = getString(this, Y())
164+ if ($isInstanceOf(t, "String"))
165+ then {
166+ let d = t
37167 addressFromString(d)
38168 }
39- else if ($isInstanceOf(m, "Unit"))
169+ else if ($isInstanceOf(t, "Unit"))
40170 then unit
41171 else throw("Match error")
42172 }
43173
44-let n = valueOrErrorMessage(l, c("invalid calculator address"))
174+let af = valueOrErrorMessage(ae, c("invalid calculator address"))
45175
46-let o = {
47- let m = getString(this, g())
48- if ($isInstanceOf(m, "String"))
176+let ag = {
177+ let t = getString(this, Z())
178+ if ($isInstanceOf(t, "String"))
49179 then {
50- let d = m
180+ let d = t
51181 addressFromString(d)
52182 }
53- else if ($isInstanceOf(m, "Unit"))
183+ else if ($isInstanceOf(t, "Unit"))
54184 then unit
55185 else throw("Match error")
56186 }
57187
58-let p = valueOrErrorMessage(o, c("invalid proxy treasury address"))
188+let ah = valueOrErrorMessage(ag, c("invalid proxy treasury address"))
59189
60-func q () = "%s__config"
190+func ai () = "%s__config"
61191
62192
63-func r () = "contract_children"
193+func aj () = "contract_children"
64194
65195
66-func s () = "contract_voting_result"
196+func ak () = "contract_voting_result"
67197
68198
69-func t (u,v) = ((("proposal_allow_broadcast_" + toString(u)) + "_") + toBase58String(v))
199+func al (v,j) = ((("proposal_allow_broadcast_" + toString(v)) + "_") + toBase58String(j))
70200
71201
72-func w (x,y) = makeString(["investor", toString(x), toString(y)], "_")
202+func am (an,ao) = makeString(["investor", toString(an), toString(ao)], "_")
73203
74204
75-let z = {
76- let m = getString(this, q())
77- if ($isInstanceOf(m, "String"))
205+let ap = {
206+ let t = getString(this, ai())
207+ if ($isInstanceOf(t, "String"))
78208 then {
79- let d = m
209+ let d = t
80210 addressFromString(d)
81211 }
82- else if ($isInstanceOf(m, "Unit"))
212+ else if ($isInstanceOf(t, "Unit"))
83213 then unit
84214 else throw("Match error")
85215 }
86216
87-let A = valueOrErrorMessage(z, c("invalid config address"))
217+let aq = valueOrErrorMessage(ap, c("invalid config address"))
88218
89-let B = {
90- let m = z
91- if ($isInstanceOf(m, "Address"))
219+let ar = {
220+ let t = ap
221+ if ($isInstanceOf(t, "Address"))
92222 then {
93- let C = m
94- let D = getString(C, s())
95- if ($isInstanceOf(D, "String"))
223+ let x = t
224+ let as = getString(x, ak())
225+ if ($isInstanceOf(as, "String"))
96226 then {
97- let d = D
227+ let d = as
98228 addressFromString(d)
99229 }
100- else if ($isInstanceOf(D, "Unit"))
230+ else if ($isInstanceOf(as, "Unit"))
101231 then unit
102232 else throw("Match error")
103233 }
104- else if ($isInstanceOf(m, "Unit"))
234+ else if ($isInstanceOf(t, "Unit"))
105235 then unit
106236 else throw("Match error")
107237 }
108238
109-let E = valueOrErrorMessage(B, c("invalid voting result address"))
239+let at = valueOrErrorMessage(ar, c("invalid voting result address"))
110240
111-let F = {
112- let m = z
113- if ($isInstanceOf(m, "Address"))
241+let au = {
242+ let t = ap
243+ if ($isInstanceOf(t, "Address"))
114244 then {
115- let C = m
116- let D = getString(C, r())
117- if ($isInstanceOf(D, "String"))
245+ let x = t
246+ let as = getString(x, aj())
247+ if ($isInstanceOf(as, "String"))
118248 then {
119- let d = D
249+ let d = as
120250 addressFromString(d)
121251 }
122- else if ($isInstanceOf(D, "Unit"))
252+ else if ($isInstanceOf(as, "Unit"))
123253 then unit
124254 else throw("Match error")
125255 }
126- else if ($isInstanceOf(m, "Unit"))
256+ else if ($isInstanceOf(t, "Unit"))
127257 then unit
128258 else throw("Match error")
129259 }
130260
131-let G = valueOrErrorMessage(F, c("invalid children address"))
261+let av = valueOrErrorMessage(au, c("invalid children address"))
132262
133-let H = {
134- let m = getString(this, k())
135- if ($isInstanceOf(m, "String"))
263+let aw = {
264+ let t = getString(this, ad())
265+ if ($isInstanceOf(t, "String"))
136266 then {
137- let d = m
267+ let d = t
138268 fromBase58String(d)
139269 }
140- else if ($isInstanceOf(m, "Unit"))
270+ else if ($isInstanceOf(t, "Unit"))
141271 then unit
142272 else throw("Match error")
143273 }
144274
145-let I = valueOrErrorMessage(H, c("invalid lpAssetId"))
275+let ax = valueOrErrorMessage(aw, c("invalid lpAssetId"))
146276
147-func J (K,u) = if ((K.caller == u))
277+func ay (az,v) = if ((az.caller == v))
148278 then true
149279 else e("permission denied")
150280
151281
152-func L (K) = J(K, this)
282+func aA (az) = ay(az, this)
153283
154284
155-func M (K) = J(K, n)
285+func aB (az) = ay(az, af)
156286
157287
158-@Callable(K)
159-func stringEntry (N,O) = if (M(K))
160- then $Tuple2([StringEntry(N, O)], N)
288+@Callable(az)
289+func stringEntry (P,aC) = if (aB(az))
290+ then $Tuple2([StringEntry(P, aC)], P)
161291 else $Tuple2(nil, unit)
162292
163293
164294
165-@Callable(K)
166-func integerEntry (N,O) = if (M(K))
167- then $Tuple2([IntegerEntry(N, O)], N)
295+@Callable(az)
296+func integerEntry (P,aC) = if (aB(az))
297+ then $Tuple2([IntegerEntry(P, aC)], P)
168298 else $Tuple2(nil, unit)
169299
170300
171301
172-@Callable(K)
173-func booleanEntry (N,O) = if (M(K))
174- then $Tuple2([BooleanEntry(N, O)], N)
302+@Callable(az)
303+func booleanEntry (P,aC) = if (aB(az))
304+ then $Tuple2([BooleanEntry(P, aC)], P)
175305 else $Tuple2(nil, unit)
176306
177307
178308
179-@Callable(K)
180-func binaryEntry (N,O) = if (M(K))
181- then $Tuple2([BinaryEntry(N, O)], N)
309+@Callable(az)
310+func binaryEntry (P,aC) = if (aB(az))
311+ then $Tuple2([BinaryEntry(P, aC)], P)
182312 else $Tuple2(nil, unit)
183313
184314
185315
186-@Callable(K)
187-func deleteEntry (N) = if (M(K))
188- then $Tuple2([DeleteEntry(N)], N)
316+@Callable(az)
317+func deleteEntry (P) = if (aB(az))
318+ then $Tuple2([DeleteEntry(P)], P)
189319 else $Tuple2(nil, unit)
190320
191321
192322
193-@Callable(K)
194-func reissue (P) = if (M(K))
195- then $Tuple2([Reissue(I, P, true)], P)
323+@Callable(az)
324+func reissue (aD) = if (aB(az))
325+ then $Tuple2([Reissue(ax, aD, true)], aD)
196326 else $Tuple2(nil, unit)
197327
198328
199329
200-@Callable(K)
201-func burn (P) = if (M(K))
202- then $Tuple2([Burn(I, P)], P)
330+@Callable(az)
331+func burn (aD) = if (aB(az))
332+ then $Tuple2([Burn(ax, aD)], aD)
203333 else $Tuple2(nil, unit)
204334
205335
206336
207-@Callable(K)
208-func transferAsset (Q,P,R) = if (M(K))
209- then $Tuple2([ScriptTransfer(Address(Q), P, R)], P)
337+@Callable(az)
338+func transferAsset (aE,aD,aF) = if (aB(az))
339+ then $Tuple2([ScriptTransfer(Address(aE), aD, aF)], aD)
210340 else $Tuple2(nil, unit)
211341
212342
213343
214-@Callable(K)
215-func transferWaves (Q,P) = if (M(K))
216- then $Tuple2([ScriptTransfer(Address(Q), P, unit)], P)
344+@Callable(az)
345+func transferWaves (aE,aD) = if (aB(az))
346+ then $Tuple2([ScriptTransfer(Address(aE), aD, unit)], aD)
217347 else $Tuple2(nil, unit)
218348
219349
220350
221-@Callable(K)
222-func transferFromProxyTreasury (S,T) = if (M(K))
223- then $Tuple2(nil, invoke(p, "transferWaves", [S, T], nil))
351+@Callable(az)
352+func transferFromProxyTreasury (aG,aH) = if (aB(az))
353+ then $Tuple2(nil, invoke(ah, "transferWaves", [aG, aH], nil))
224354 else $Tuple2(nil, unit)
225355
226356
227357
228-@Callable(K)
229-func finalize (U,V,W) = $Tuple2(nil, reentrantInvoke(n, "finalize", [K.caller.bytes, U, V, W], K.payments))
358+@Callable(az)
359+func finalize (aI,aJ,aK) = $Tuple2(nil, reentrantInvoke(af, "finalize", [az.caller.bytes, aI, aJ, aK], az.payments))
230360
231361
232362
233-@Callable(K)
234-func claimLP () = $Tuple2(nil, reentrantInvoke(n, "claimLP", [K.caller.bytes], K.payments))
363+@Callable(az)
364+func claimLP () = $Tuple2(nil, reentrantInvoke(af, "claimLP", [az.caller.bytes], az.payments))
235365
236366
237367
238-@Callable(K)
239-func claimWaves (X) = $Tuple2(nil, reentrantInvoke(n, "claimWaves", [K.caller.bytes, fromBase58String(X)], K.payments))
368+@Callable(az)
369+func claimWaves (aL) = $Tuple2(nil, reentrantInvoke(af, "claimWaves", [az.caller.bytes, fromBase58String(aL)], az.payments))
240370
241371
242372
243-@Callable(K)
244-func invest () = $Tuple2(nil, reentrantInvoke(n, "invest", [K.caller.bytes], K.payments))
373+@Callable(az)
374+func invest () = $Tuple2(nil, reentrantInvoke(af, "invest", [az.caller.bytes], az.payments))
245375
246376
247377
248-@Callable(K)
249-func withdraw () = $Tuple2(nil, reentrantInvoke(n, "withdraw", [K.caller.bytes], K.payments))
378+@Callable(az)
379+func withdraw () = $Tuple2(nil, reentrantInvoke(af, "withdraw", [az.caller.bytes], az.payments))
250380
251381
252382
253-@Callable(K)
254-func cancelWithdraw (X) = $Tuple2(nil, reentrantInvoke(n, "cancelWithdraw", [K.caller.bytes, fromBase58String(X)], K.payments))
383+@Callable(az)
384+func cancelWithdraw (aL) = $Tuple2(nil, reentrantInvoke(af, "cancelWithdraw", [az.caller.bytes, fromBase58String(aL)], az.payments))
255385
256386
257387
258-@Callable(K)
259-func processBlocks () = $Tuple2(nil, reentrantInvoke(n, "processBlocks", [K.caller.bytes], K.payments))
388+@Callable(az)
389+func processBlocks () = $Tuple2(nil, reentrantInvoke(af, "processBlocks", [az.caller.bytes], az.payments))
260390
261391
262-@Verifier(Y)
263-func Z () = {
264- let aa = valueOrElse(getBoolean(E, t(this, Y.id)), false)
265- let ab = sigVerify(Y.bodyBytes, Y.proofs[0], Y.senderPublicKey)
266- if ((B != unit))
267- then if (aa)
268- then true
269- else ab
270- else ab
392+
393+@Callable(az)
394+func voteForTxId (j) = {
395+ let S = toBase58String(az.caller.bytes)
396+ let B = i(j)
397+ let z = [StringEntry(o(), j)]
398+ let aM = getString(this, o())
399+ let W = [if ((size(fromBase58String(j)) == h))
400+ then true
401+ else e((j + " is not valid txId")), if (if ((aM == unit))
402+ then true
403+ else (value(aM) != j))
404+ then true
405+ else e((j + " is already allowed"))]
406+ if ((W == W))
407+ then R(S, B, g, z)
408+ else throw("Strict value is not equal to itself.")
409+ }
410+
411+
412+@Verifier(aN)
413+func aO () = {
414+ let aP = {
415+ let t = ar
416+ if ($isInstanceOf(t, "Address"))
417+ then {
418+ let aQ = t
419+ valueOrElse(getBoolean(aQ, al(this, aN.id)), false)
420+ }
421+ else false
422+ }
423+ let aR = (aN.id == fromBase58String(valueOrElse(getString(this, o()), "")))
424+ let aS = if ((size(s()) >= g))
425+ then false
426+ else sigVerify(aN.bodyBytes, aN.proofs[0], aN.senderPublicKey)
427+ if (if (aP)
428+ then true
429+ else aR)
430+ then true
431+ else aS
271432 }
272433

github/deemru/w8io/169f3d6 
106.59 ms