tx · 87yZfKeZoEqKcFwSsUh9ekLx25bX4ap94NoKX812fydN

3MsgzbtRg8NEkbTcHBywtwTdCe9BRxMQo5T:  -0.01300000 Waves

2024.12.20 18:53 [3423054] smart account 3MsgzbtRg8NEkbTcHBywtwTdCe9BRxMQo5T > SELF 0.00000000 Waves

{ "type": 13, "id": "87yZfKeZoEqKcFwSsUh9ekLx25bX4ap94NoKX812fydN", "fee": 1300000, "feeAssetId": null, "timestamp": 1734709997905, "version": 2, "chainId": 84, "sender": "3MsgzbtRg8NEkbTcHBywtwTdCe9BRxMQo5T", "senderPublicKey": "iTiQR3Kvxn7i8PFgEbZn36n5iFLxFwkTA6M3wi846Vx", "proofs": [ "3oSx8bWMtq967fGQg4nUKcniK4UKxQfGKeEW2FASmkGAzSLuXEYFLxPWh5cHRSeyg36kARdpEqdTCvQQTGURGF7z" ], "script": "base64:BwJxCAISAwoBCBIECgIICBIECgIIARIECgIIBBIECgIIAhIDCgEIEgUKAwIBBBIECgICARIFCgMCAQISBQoDAhIREgQKAgIBEgQKAggYEgQKAggYEgMKAQISAwoBARIHCgUCCAEIARIGCgQCCAgEEgMKAQgjAANTRVACAl9fAAt3YXZlc1N0cmluZwIFV0FWRVMAEGNvbnRyYWN0RmlsZW5hbWUCFG1lbWVfaW1fZmFjdG9yeS5yaWRlAAtrUHJpY2VBc3NldAIMcHJpY2VfX2Fzc2V0AAlrU2h1dGRvd24CDnNodXRkb3duX19mbGFnAAhzaHV0ZG93bgkBC3ZhbHVlT3JFbHNlAgkAoAgBBQlrU2h1dGRvd24HAQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUQY29udHJhY3RGaWxlbmFtZQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzAA9BRE1JTl9MSVNUX1NJWkUACgAGUVVPUlVNAAMAEVRYSURfQllURVNfTEVOR1RIACABGGtleUFsbG93ZWRUeElkVm90ZVByZWZpeAEEdHhJZAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAglhbGxvd1R4SWQJAMwIAgUEdHhJZAUDbmlsBQNTRVABEGtleUZ1bGxBZG1pblZvdGUCBnByZWZpeAxhZG1pbkFkZHJlc3MJALkJAgkAzAgCBQZwcmVmaXgJAMwIAgUMYWRtaW5BZGRyZXNzBQNuaWwFA1NFUAETa2V5QWRtaW5BZGRyZXNzTGlzdAAJALkJAgkAzAgCAgIlcwkAzAgCAhBhZG1pbkFkZHJlc3NMaXN0BQNuaWwFA1NFUAEOa2V5QWxsb3dlZFR4SWQACQC5CQIJAMwIAgICJXMJAMwIAgIEdHhJZAUDbmlsBQNTRVABDGdldEFkbWluVm90ZQIGcHJlZml4BWFkbWluBAd2b3RlS2V5CQEQa2V5RnVsbEFkbWluVm90ZQIFBnByZWZpeAUFYWRtaW4JAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdm90ZUtleQAAAQ1nZXRBZG1pbnNMaXN0AAQHJG1hdGNoMAkAnQgCBQR0aGlzCQETa2V5QWRtaW5BZGRyZXNzTGlzdAADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQC1CQIFAXMFA1NFUAUDbmlsAAlhZG1pbkxpc3QJAQ1nZXRBZG1pbnNMaXN0AAENaXNJbkFkbWluTGlzdAEHYWRkcmVzcwkBD2NvbnRhaW5zRWxlbWVudAIFCWFkbWluTGlzdAUHYWRkcmVzcwESZ2VuVm90ZXNLZXlzSGVscGVyAgFhDGFkbWluQWRkcmVzcwQLJHQwMTUwMjE1MjYFAWEEBnJlc3VsdAgFCyR0MDE1MDIxNTI2Al8xBAZwcmVmaXgIBQskdDAxNTAyMTUyNgJfMgkAlAoCCQDNCAIFBnJlc3VsdAkBEGtleUZ1bGxBZG1pblZvdGUCBQZwcmVmaXgFDGFkbWluQWRkcmVzcwUGcHJlZml4AQxnZW5Wb3Rlc0tleXMBCWtleVByZWZpeAQLJHQwMTYzNzE3MTYKAAIkbAUJYWRtaW5MaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFCWtleVByZWZpeAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQESZ2VuVm90ZXNLZXlzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBAZyZXN1bHQIBQskdDAxNjM3MTcxNgJfMQQGcHJlZml4CAULJHQwMTYzNzE3MTYCXzIFBnJlc3VsdAEQY291bnRWb3Rlc0hlbHBlcgIGcmVzdWx0B3ZvdGVLZXkJAGQCBQZyZXN1bHQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdm90ZUtleQAAAQpjb3VudFZvdGVzAQZwcmVmaXgEBXZvdGVzCQEMZ2VuVm90ZXNLZXlzAQUGcHJlZml4CgACJGwFBXZvdGVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARBjb3VudFZvdGVzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKARBjbGVhclZvdGVzSGVscGVyAgZyZXN1bHQDa2V5CQDNCAIFBnJlc3VsdAkBC0RlbGV0ZUVudHJ5AQUDa2V5ARNnZXRDbGVhclZvdGVFbnRyaWVzAQZwcmVmaXgEBXZvdGVzCQEMZ2VuVm90ZXNLZXlzAQUGcHJlZml4CgACJGwFBXZvdGVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARBjbGVhclZvdGVzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAQx2b3RlSU5URVJOQUwEE2NhbGxlckFkZHJlc3NTdHJpbmcJa2V5UHJlZml4CG1pblZvdGVzCnZvdGVSZXN1bHQEB3ZvdGVLZXkJARBrZXlGdWxsQWRtaW5Wb3RlAgUJa2V5UHJlZml4BRNjYWxsZXJBZGRyZXNzU3RyaW5nBBBhZG1pbkN1cnJlbnRWb3RlCQEMZ2V0QWRtaW5Wb3RlAgUJa2V5UHJlZml4BRNjYWxsZXJBZGRyZXNzU3RyaW5nBANlcnIDCQEBIQEJAQ1pc0luQWRtaW5MaXN0AQUTY2FsbGVyQWRkcmVzc1N0cmluZwkBCHRocm93RXJyAQkArAICCQCsAgICCUFkZHJlc3M6IAUTY2FsbGVyQWRkcmVzc1N0cmluZwISIG5vdCBpbiBBZG1pbiBsaXN0AwkAAAIFEGFkbWluQ3VycmVudFZvdGUAAQkBCHRocm93RXJyAQkArAICBQd2b3RlS2V5AhIgeW91IGFscmVhZHkgdm90ZWQFBHVuaXQDCQAAAgUDZXJyBQNlcnIEBXZvdGVzCQEKY291bnRWb3RlcwEFCWtleVByZWZpeAMJAGcCCQBkAgUFdm90ZXMAAQUIbWluVm90ZXMEEGNsZWFyVm90ZUVudHJpZXMJARNnZXRDbGVhclZvdGVFbnRyaWVzAQUJa2V5UHJlZml4CQDOCAIFEGNsZWFyVm90ZUVudHJpZXMFCnZvdGVSZXN1bHQJAMwIAgkBDEludGVnZXJFbnRyeQIFB3ZvdGVLZXkAAQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQ92YWxpZGF0ZUFkZHJlc3MBB2FkZHJlc3MJAQlpc0RlZmluZWQBCQCmCAEFB2FkZHJlc3MAEmtDYWxjdWxhdG9yQWRkcmVzcwITY2FsY3VsYXRvcl9fYWRkcmVzcwAXY2FsY3VsYXRvckFkZHJlc3NPcHRpb24EByRtYXRjaDAJAJ0IAgUEdGhpcwUSa0NhbGN1bGF0b3JBZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkApggBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgARY2FsY3VsYXRvckFkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUXY2FsY3VsYXRvckFkZHJlc3NPcHRpb24JAQd3cmFwRXJyAQIaaW52YWxpZCBjYWxjdWxhdG9yIGFkZHJlc3MBC211c3RBZGRyZXNzAgFpB2FkZHJlc3MDCQAAAggFAWkGY2FsbGVyBQdhZGRyZXNzBgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQBCG11c3RUaGlzAQFpCQELbXVzdEFkZHJlc3MCBQFpBQR0aGlzAQ5tdXN0Q2FsY3VsYXRvcgEBaQkBC211c3RBZGRyZXNzAgUBaQURY2FsY3VsYXRvckFkZHJlc3MBDHBhcnNlQXNzZXRJZAEFaW5wdXQDCQAAAgUFaW5wdXQFC3dhdmVzU3RyaW5nBQR1bml0CQDZBAEFBWlucHV0AQ9hc3NldElkVG9TdHJpbmcBBWlucHV0AwkAAAIFBWlucHV0BQR1bml0BQt3YXZlc1N0cmluZwkA2AQBCQEFdmFsdWUBBQVpbnB1dBIBaQEEaW5pdAEUY2FsY3VsYXRvckFkZHJlc3NTdHIEC2NoZWNrQ2FsbGVyCQEIbXVzdFRoaXMBBQFpAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFEmtDYWxjdWxhdG9yQWRkcmVzcwUUY2FsY3VsYXRvckFkZHJlc3NTdHIJAMwIAgkBC1N0cmluZ0VudHJ5AgULa1ByaWNlQXNzZXQFC3dhdmVzU3RyaW5nBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc3RyaW5nRW50cnkCA2tleQN2YWwDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQNrZXkFA3ZhbAUDbmlsBQNrZXkJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBDGludGVnZXJFbnRyeQIDa2V5A3ZhbAMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQNrZXkFA3ZhbAUDbmlsBQNrZXkJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBDGJvb2xlYW5FbnRyeQIDa2V5A3ZhbAMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCBQNrZXkFA3ZhbAUDbmlsBQNrZXkJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBC2JpbmFyeUVudHJ5AgNrZXkDdmFsAwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCQCUCgIJAMwIAgkBC0JpbmFyeUVudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQEIdGhyb3dFcnIBAgtub3QgYWxsb3dlZAFpAQtkZWxldGVFbnRyeQEDa2V5AwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCQCUCgIJAMwIAgkBC0RlbGV0ZUVudHJ5AQUDa2V5BQNuaWwFA2tleQkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQEHcmVpc3N1ZQMHYXNzZXRJZAZhbW91bnQKcmVpc3N1YWJsZQMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCCQDMCAIJAQdSZWlzc3VlAwUHYXNzZXRJZAUGYW1vdW50BQpyZWlzc3VhYmxlBQNuaWwFBmFtb3VudAkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQEEYnVybgIHYXNzZXRJZAZhbW91bnQDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcJAJQKAgkAzAgCCQEEQnVybgIFB2Fzc2V0SWQFBmFtb3VudAUDbmlsBQZhbW91bnQJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBDXRyYW5zZmVyQXNzZXQDDnJlY2lwaWVudEJ5dGVzBmFtb3VudAdhc3NldElkAwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNpcGllbnRCeXRlcwUGYW1vdW50BQdhc3NldElkBQNuaWwFBmFtb3VudAkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQEOdHJhbnNmZXJBc3NldHMDDnJlY2lwaWVudEJ5dGVzCmFzc2V0c0xpc3QLYW1vdW50c0xpc3QDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcKAQ5hZGROZXdUcmFuc2ZlcgIDYWNjC25leHRBc3NldElkBAskdDA1OTc5NjAwMwUDYWNjBAl0cmFuc2ZlcnMIBQskdDA1OTc5NjAwMwJfMQQBaggFCyR0MDU5Nzk2MDAzAl8yBAtuZXdUcmFuc2ZlcgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNpcGllbnRCeXRlcwkAkQMCBQthbW91bnRzTGlzdAUBagkAkQMCBQphc3NldHNMaXN0BQFqBBB1cGRhdGVkVHJhbnNmZXJzCQDNCAIFCXRyYW5zZmVycwULbmV3VHJhbnNmZXIJAJQKAgUQdXBkYXRlZFRyYW5zZmVycwkAZAIFAWoAAQQLJHQwNjI0MDYzMjEKAAIkbAUKYXNzZXRzTGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDmFkZE5ld1RyYW5zZmVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBA9hc3NldHNUcmFuc2ZlcnMIBQskdDA2MjQwNjMyMQJfMQQKX2xhc3RJbmRleAgFCyR0MDYyNDA2MzIxAl8yCQCUCgIFD2Fzc2V0c1RyYW5zZmVycwUEdW5pdAkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQENdHJhbnNmZXJXYXZlcwIOcmVjaXBpZW50Qnl0ZXMGYW1vdW50AwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBBQ5yZWNpcGllbnRCeXRlcwUGYW1vdW50BQR1bml0BQNuaWwFBmFtb3VudAkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQEEY2FsbAIIZnVuY3Rpb24EYXJncwQNY2xlYW5QYXltZW50cwMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkBIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQNuaWwIBQFpCHBheW1lbnRzBAZyZXN1bHQJAP0HBAURY2FsY3VsYXRvckFkZHJlc3MFCGZ1bmN0aW9uCQDMCAIIBQFpD2NhbGxlclB1YmxpY0tleQkAzAgCBQRhcmdzBQNuaWwFDWNsZWFuUGF5bWVudHMJAJQKAgUDbmlsBQZyZXN1bHQBaQEOaW5pdFBvb2xJbnZva2UCEXBvb2xBZGRyZXNzU3RyaW5nBGFyZ3MDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcEDWNvbnZlcnRlZEFyZ3MJAMwIAgkAkQMCBQRhcmdzAAAJAMwIAgkAkQMCBQRhcmdzAAEJAMwIAgkAkQMCBQRhcmdzAAIJAMwIAgkAkQMCBQRhcmdzAAMJAMwIAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBGFyZ3MABAUDbmlsCQCUCgIFA25pbAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBRFwb29sQWRkcmVzc1N0cmluZwIEaW5pdAUNY29udmVydGVkQXJncwgFAWkIcGF5bWVudHMJAQh0aHJvd0VycgECC25vdCBhbGxvd2VkAWkBGXdpdGhkcmF3TGlxdWlkaXR5RnJvbVBvb2wBC3Bvb2xBZGRyZXNzAwMJAQEhAQUIc2h1dGRvd24JAQ5tdXN0Q2FsY3VsYXRvcgEFAWkHCQCUCgIFA25pbAkA/QcECQEHQWRkcmVzcwEFC3Bvb2xBZGRyZXNzAhl3aXRoZHJhd0xpcXVpZGl0eUF0VGFyZ2V0BQNuaWwFA25pbAkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQESbm90aWZ5U3RhdHVzVXBkYXRlAQZzdGF0dXMKARVrUG9vbEluZGV4RnJvbUFkZHJlc3MBB2FkZHJlc3MJALkJAgkAzAgCAgRwb29sCQDMCAIJAKUIAQUHYWRkcmVzcwUDbmlsBQNTRVAKAQtrUG9vbFN0YXR1cwEFaW5kZXgJALkJAgkAzAgCAgRwb29sCQDMCAICBnN0YXR1cwkAzAgCCQCkAwEFBWluZGV4BQNuaWwFA1NFUAQLcG9vbEFkZHJlc3MIBQFpBmNhbGxlcgQJcG9vbEluZGV4CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzCQEVa1Bvb2xJbmRleEZyb21BZGRyZXNzAQULcG9vbEFkZHJlc3MJAMwIAgkBDEludGVnZXJFbnRyeQIJAQtrUG9vbFN0YXR1cwEFCXBvb2xJbmRleAUGc3RhdHVzBQNuaWwBaQEMY3JlYXRlV3hQb29sBQl1c2VyUG9vbHMIYXNzZXQxSWQMYXNzZXQxQW1vdW50CGFzc2V0MklkDGFzc2V0MkFtb3VudAMDCQEBIQEFCHNodXRkb3duCQEObXVzdENhbGN1bGF0b3IBBQFpBwkAlAoCBQNuaWwJAPwHBAkBB0FkZHJlc3MBBQl1c2VyUG9vbHMCBmNyZWF0ZQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEMcGFyc2VBc3NldElkAQUIYXNzZXQxSWQFDGFzc2V0MUFtb3VudAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBDHBhcnNlQXNzZXRJZAEFCGFzc2V0MklkBQxhc3NldDJBbW91bnQFA25pbAkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQENcmVnaXN0ZXJBc3NldAQKYXNzZXRTdG9yZQdhc3NldElkBGxvZ28IdmVyaWZpZWQDAwkBASEBBQhzaHV0ZG93bgkBDm11c3RDYWxjdWxhdG9yAQUBaQcJAJQKAgUDbmlsCQD8BwQJAQdBZGRyZXNzAQUKYXNzZXRTdG9yZQIOY3JlYXRlT3JVcGRhdGUJAMwIAgUHYXNzZXRJZAkAzAgCBQRsb2dvCQDMCAIFCHZlcmlmaWVkBQNuaWwFA25pbAkBCHRocm93RXJyAQILbm90IGFsbG93ZWQBaQELdm90ZUZvclR4SWQBBHR4SWQEE2NhbGxlckFkZHJlc3NTdHJpbmcJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQJa2V5UHJlZml4CQEYa2V5QWxsb3dlZFR4SWRWb3RlUHJlZml4AQUEdHhJZAQGcmVzdWx0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlBbGxvd2VkVHhJZAAFBHR4SWQFA25pbAQRYWxsb3dlZFR4SWRPcHRpb24JAJ0IAgUEdGhpcwkBDmtleUFsbG93ZWRUeElkAAQDZXJyCQDMCAIDCQAAAgkAyAEBCQDZBAEFBHR4SWQFEVRYSURfQllURVNfTEVOR1RIBgkBCHRocm93RXJyAQkArAICBQR0eElkAhIgaXMgbm90IHZhbGlkIHR4SWQJAMwIAgMDCQAAAgURYWxsb3dlZFR4SWRPcHRpb24FBHVuaXQGCQECIT0CCQEFdmFsdWUBBRFhbGxvd2VkVHhJZE9wdGlvbgUEdHhJZAYJAQh0aHJvd0VycgEJAKwCAgUEdHhJZAITIGlzIGFscmVhZHkgYWxsb3dlZAUDbmlsAwkAAAIFA2VycgUDZXJyCQEMdm90ZUlOVEVSTkFMBAUTY2FsbGVyQWRkcmVzc1N0cmluZwUJa2V5UHJlZml4BQZRVU9SVU0FBnJlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAECGJ5QWRtaW5zCQAAAgkA2AQBCAUCdHgCaWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBDmtleUFsbG93ZWRUeElkAAIABAdieU93bmVyAwkAZwIJAJADAQUJYWRtaW5MaXN0BQZRVU9SVU0HCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5AwUIYnlBZG1pbnMGBQdieU93bmVyOyBWhA==", "height": 3423054, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HZHCHDaoZV9qiD5pGdwTZMovJzerWmqSS447ACdRY6FQ Next: 5W6WDJEqTG3cmyyFyAqruNvqRYXxRbJ1ptt2gTja8L4V Diff:
OldNewDifferences
351351
352352 @Callable(ah)
353353 func notifyStatusUpdate (aN) = {
354- let E = reentrantInvoke(af, "notifyStatusUpdate", [ah.callerPublicKey, [toString(aN)]], nil)
355- $Tuple2(nil, E)
354+ func aO (A) = makeString(["pool", toString(A)], a)
355+
356+ func aP (aQ) = makeString(["pool", "status", toString(aQ)], a)
357+
358+ let aM = ah.caller
359+ let aR = getIntegerValue(this, aO(aM))
360+[IntegerEntry(aP(aR), aN)]
356361 }
357362
358363
359364
360365 @Callable(ah)
361-func createWxPool (aO,aP,aQ,aR,aS) = if (if (!(f))
366+func createWxPool (aS,aT,aU,aV,aW) = if (if (!(f))
362367 then aj(ah)
363368 else false)
364- then $Tuple2(nil, invoke(Address(aO), "create", nil, [AttachedPayment(ak(aP), aQ), AttachedPayment(ak(aR), aS)]))
369+ then $Tuple2(nil, invoke(Address(aS), "create", nil, [AttachedPayment(ak(aT), aU), AttachedPayment(ak(aV), aW)]))
365370 else i("not allowed")
366371
367372
368373
369374 @Callable(ah)
370-func registerAsset (aT,aq,aU,aV) = if (if (!(f))
375+func registerAsset (aX,aq,aY,aZ) = if (if (!(f))
371376 then aj(ah)
372377 else false)
373- then $Tuple2(nil, invoke(Address(aT), "createOrUpdate", [aq, aU, aV], nil))
378+ then $Tuple2(nil, invoke(Address(aX), "createOrUpdate", [aq, aY, aZ], nil))
374379 else i("not allowed")
375380
376381
380385 let W = toBase58String(ah.caller.bytes)
381386 let G = m(n)
382387 let E = [StringEntry(s(), n)]
383- let aW = getString(this, s())
388+ let ba = getString(this, s())
384389 let aa = [if ((size(fromBase58String(n)) == l))
385390 then true
386- else i((n + " is not valid txId")), if (if ((aW == unit))
391+ else i((n + " is not valid txId")), if (if ((ba == unit))
387392 then true
388- else (value(aW) != n))
393+ else (value(ba) != n))
389394 then true
390395 else i((n + " is already allowed"))]
391396 if ((aa == aa))
394399 }
395400
396401
397-@Verifier(aX)
398-func aY () = {
399- let aZ = (toBase58String(aX.id) == valueOrElse(getString(this, s()), ""))
400- let ba = if ((size(y) >= k))
402+@Verifier(bb)
403+func bc () = {
404+ let bd = (toBase58String(bb.id) == valueOrElse(getString(this, s()), ""))
405+ let be = if ((size(y) >= k))
401406 then false
402- else sigVerify(aX.bodyBytes, aX.proofs[0], aX.senderPublicKey)
403- if (aZ)
407+ else sigVerify(bb.bodyBytes, bb.proofs[0], bb.senderPublicKey)
408+ if (bd)
404409 then true
405- else ba
410+ else be
406411 }
407412
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "WAVES"
77
88 let c = "meme_im_factory.ride"
99
1010 let d = "price__asset"
1111
1212 let e = "shutdown__flag"
1313
1414 let f = valueOrElse(getBoolean(e), false)
1515
1616 func g (h) = ((c + ": ") + h)
1717
1818
1919 func i (h) = throw(g(h))
2020
2121
2222 let j = 10
2323
2424 let k = 3
2525
2626 let l = 32
2727
2828 func m (n) = makeString(["%s%s%s", "allowTxId", n], a)
2929
3030
3131 func o (p,q) = makeString([p, q], a)
3232
3333
3434 func r () = makeString(["%s", "adminAddressList"], a)
3535
3636
3737 func s () = makeString(["%s", "txId"], a)
3838
3939
4040 func t (p,u) = {
4141 let v = o(p, u)
4242 valueOrElse(getInteger(v), 0)
4343 }
4444
4545
4646 func w () = {
4747 let x = getString(this, r())
4848 if ($isInstanceOf(x, "String"))
4949 then {
5050 let h = x
5151 split(h, a)
5252 }
5353 else nil
5454 }
5555
5656
5757 let y = w()
5858
5959 func z (A) = containsElement(y, A)
6060
6161
6262 func B (C,q) = {
6363 let D = C
6464 let E = D._1
6565 let p = D._2
6666 $Tuple2((E :+ o(p, q)), p)
6767 }
6868
6969
7070 func F (G) = {
7171 let H = {
7272 let I = y
7373 let J = size(I)
7474 let K = $Tuple2(nil, G)
7575 func L (M,N) = if ((N >= J))
7676 then M
7777 else B(M, I[N])
7878
7979 func O (M,N) = if ((N >= J))
8080 then M
8181 else throw("List size exceeds 10")
8282
8383 O(L(L(L(L(L(L(L(L(L(L(K, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
8484 }
8585 let E = H._1
8686 let p = H._2
8787 E
8888 }
8989
9090
9191 func P (E,v) = (E + valueOrElse(getInteger(v), 0))
9292
9393
9494 func Q (p) = {
9595 let R = F(p)
9696 let I = R
9797 let J = size(I)
9898 let K = 0
9999 func L (M,N) = if ((N >= J))
100100 then M
101101 else P(M, I[N])
102102
103103 func O (M,N) = if ((N >= J))
104104 then M
105105 else throw("List size exceeds 10")
106106
107107 O(L(L(L(L(L(L(L(L(L(L(K, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
108108 }
109109
110110
111111 func S (E,T) = (E :+ DeleteEntry(T))
112112
113113
114114 func U (p) = {
115115 let R = F(p)
116116 let I = R
117117 let J = size(I)
118118 let K = nil
119119 func L (M,N) = if ((N >= J))
120120 then M
121121 else S(M, I[N])
122122
123123 func O (M,N) = if ((N >= J))
124124 then M
125125 else throw("List size exceeds 10")
126126
127127 O(L(L(L(L(L(L(L(L(L(L(K, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
128128 }
129129
130130
131131 func V (W,G,X,Y) = {
132132 let v = o(G, W)
133133 let Z = t(G, W)
134134 let aa = if (!(z(W)))
135135 then i((("Address: " + W) + " not in Admin list"))
136136 else if ((Z == 1))
137137 then i((v + " you already voted"))
138138 else unit
139139 if ((aa == aa))
140140 then {
141141 let R = Q(G)
142142 if (((R + 1) >= X))
143143 then {
144144 let ab = U(G)
145145 (ab ++ Y)
146146 }
147147 else [IntegerEntry(v, 1)]
148148 }
149149 else throw("Strict value is not equal to itself.")
150150 }
151151
152152
153153 func ac (A) = isDefined(addressFromString(A))
154154
155155
156156 let ad = "calculator__address"
157157
158158 let ae = {
159159 let x = getString(this, ad)
160160 if ($isInstanceOf(x, "String"))
161161 then {
162162 let h = x
163163 addressFromString(h)
164164 }
165165 else if ($isInstanceOf(x, "Unit"))
166166 then unit
167167 else throw("Match error")
168168 }
169169
170170 let af = valueOrErrorMessage(ae, g("invalid calculator address"))
171171
172172 func ag (ah,A) = if ((ah.caller == A))
173173 then true
174174 else i("permission denied")
175175
176176
177177 func ai (ah) = ag(ah, this)
178178
179179
180180 func aj (ah) = ag(ah, af)
181181
182182
183183 func ak (al) = if ((al == b))
184184 then unit
185185 else fromBase58String(al)
186186
187187
188188 func am (al) = if ((al == unit))
189189 then b
190190 else toBase58String(value(al))
191191
192192
193193 @Callable(ah)
194194 func init (an) = {
195195 let ao = ai(ah)
196196 if ((ao == ao))
197197 then $Tuple2([StringEntry(ad, an), StringEntry(d, b)], unit)
198198 else throw("Strict value is not equal to itself.")
199199 }
200200
201201
202202
203203 @Callable(ah)
204204 func stringEntry (T,ap) = if (if (!(f))
205205 then aj(ah)
206206 else false)
207207 then $Tuple2([StringEntry(T, ap)], T)
208208 else i("not allowed")
209209
210210
211211
212212 @Callable(ah)
213213 func integerEntry (T,ap) = if (if (!(f))
214214 then aj(ah)
215215 else false)
216216 then $Tuple2([IntegerEntry(T, ap)], T)
217217 else i("not allowed")
218218
219219
220220
221221 @Callable(ah)
222222 func booleanEntry (T,ap) = if (if (!(f))
223223 then aj(ah)
224224 else false)
225225 then $Tuple2([BooleanEntry(T, ap)], T)
226226 else i("not allowed")
227227
228228
229229
230230 @Callable(ah)
231231 func binaryEntry (T,ap) = if (if (!(f))
232232 then aj(ah)
233233 else false)
234234 then $Tuple2([BinaryEntry(T, ap)], T)
235235 else i("not allowed")
236236
237237
238238
239239 @Callable(ah)
240240 func deleteEntry (T) = if (if (!(f))
241241 then aj(ah)
242242 else false)
243243 then $Tuple2([DeleteEntry(T)], T)
244244 else i("not allowed")
245245
246246
247247
248248 @Callable(ah)
249249 func reissue (aq,ar,as) = if (if (!(f))
250250 then aj(ah)
251251 else false)
252252 then $Tuple2([Reissue(aq, ar, as)], ar)
253253 else i("not allowed")
254254
255255
256256
257257 @Callable(ah)
258258 func burn (aq,ar) = if (if (!(f))
259259 then aj(ah)
260260 else false)
261261 then $Tuple2([Burn(aq, ar)], ar)
262262 else i("not allowed")
263263
264264
265265
266266 @Callable(ah)
267267 func transferAsset (at,ar,aq) = if (if (!(f))
268268 then aj(ah)
269269 else false)
270270 then $Tuple2([ScriptTransfer(Address(at), ar, aq)], ar)
271271 else i("not allowed")
272272
273273
274274
275275 @Callable(ah)
276276 func transferAssets (at,au,av) = if (if (!(f))
277277 then aj(ah)
278278 else false)
279279 then {
280280 func aw (ax,ay) = {
281281 let az = ax
282282 let aA = az._1
283283 let aB = az._2
284284 let aC = ScriptTransfer(Address(at), av[aB], au[aB])
285285 let aD = (aA :+ aC)
286286 $Tuple2(aD, (aB + 1))
287287 }
288288
289289 let aE = {
290290 let I = au
291291 let J = size(I)
292292 let K = $Tuple2(nil, 0)
293293 func L (M,N) = if ((N >= J))
294294 then M
295295 else aw(M, I[N])
296296
297297 func O (M,N) = if ((N >= J))
298298 then M
299299 else throw("List size exceeds 10")
300300
301301 O(L(L(L(L(L(L(L(L(L(L(K, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
302302 }
303303 let aF = aE._1
304304 let aG = aE._2
305305 $Tuple2(aF, unit)
306306 }
307307 else i("not allowed")
308308
309309
310310
311311 @Callable(ah)
312312 func transferWaves (at,ar) = if (if (!(f))
313313 then aj(ah)
314314 else false)
315315 then $Tuple2([ScriptTransfer(Address(at), ar, unit)], ar)
316316 else i("not allowed")
317317
318318
319319
320320 @Callable(ah)
321321 func call (aH,aI) = {
322322 let aJ = if ((ah.callerPublicKey == base58'11111111111111111111111111111111'))
323323 then nil
324324 else ah.payments
325325 let E = reentrantInvoke(af, aH, [ah.callerPublicKey, aI], aJ)
326326 $Tuple2(nil, E)
327327 }
328328
329329
330330
331331 @Callable(ah)
332332 func initPoolInvoke (aK,aI) = if (if (!(f))
333333 then aj(ah)
334334 else false)
335335 then {
336336 let aL = [aI[0], aI[1], aI[2], aI[3], parseIntValue(aI[4])]
337337 $Tuple2(nil, invoke(addressFromStringValue(aK), "init", aL, ah.payments))
338338 }
339339 else i("not allowed")
340340
341341
342342
343343 @Callable(ah)
344344 func withdrawLiquidityFromPool (aM) = if (if (!(f))
345345 then aj(ah)
346346 else false)
347347 then $Tuple2(nil, reentrantInvoke(Address(aM), "withdrawLiquidityAtTarget", nil, nil))
348348 else i("not allowed")
349349
350350
351351
352352 @Callable(ah)
353353 func notifyStatusUpdate (aN) = {
354- let E = reentrantInvoke(af, "notifyStatusUpdate", [ah.callerPublicKey, [toString(aN)]], nil)
355- $Tuple2(nil, E)
354+ func aO (A) = makeString(["pool", toString(A)], a)
355+
356+ func aP (aQ) = makeString(["pool", "status", toString(aQ)], a)
357+
358+ let aM = ah.caller
359+ let aR = getIntegerValue(this, aO(aM))
360+[IntegerEntry(aP(aR), aN)]
356361 }
357362
358363
359364
360365 @Callable(ah)
361-func createWxPool (aO,aP,aQ,aR,aS) = if (if (!(f))
366+func createWxPool (aS,aT,aU,aV,aW) = if (if (!(f))
362367 then aj(ah)
363368 else false)
364- then $Tuple2(nil, invoke(Address(aO), "create", nil, [AttachedPayment(ak(aP), aQ), AttachedPayment(ak(aR), aS)]))
369+ then $Tuple2(nil, invoke(Address(aS), "create", nil, [AttachedPayment(ak(aT), aU), AttachedPayment(ak(aV), aW)]))
365370 else i("not allowed")
366371
367372
368373
369374 @Callable(ah)
370-func registerAsset (aT,aq,aU,aV) = if (if (!(f))
375+func registerAsset (aX,aq,aY,aZ) = if (if (!(f))
371376 then aj(ah)
372377 else false)
373- then $Tuple2(nil, invoke(Address(aT), "createOrUpdate", [aq, aU, aV], nil))
378+ then $Tuple2(nil, invoke(Address(aX), "createOrUpdate", [aq, aY, aZ], nil))
374379 else i("not allowed")
375380
376381
377382
378383 @Callable(ah)
379384 func voteForTxId (n) = {
380385 let W = toBase58String(ah.caller.bytes)
381386 let G = m(n)
382387 let E = [StringEntry(s(), n)]
383- let aW = getString(this, s())
388+ let ba = getString(this, s())
384389 let aa = [if ((size(fromBase58String(n)) == l))
385390 then true
386- else i((n + " is not valid txId")), if (if ((aW == unit))
391+ else i((n + " is not valid txId")), if (if ((ba == unit))
387392 then true
388- else (value(aW) != n))
393+ else (value(ba) != n))
389394 then true
390395 else i((n + " is already allowed"))]
391396 if ((aa == aa))
392397 then V(W, G, k, E)
393398 else throw("Strict value is not equal to itself.")
394399 }
395400
396401
397-@Verifier(aX)
398-func aY () = {
399- let aZ = (toBase58String(aX.id) == valueOrElse(getString(this, s()), ""))
400- let ba = if ((size(y) >= k))
402+@Verifier(bb)
403+func bc () = {
404+ let bd = (toBase58String(bb.id) == valueOrElse(getString(this, s()), ""))
405+ let be = if ((size(y) >= k))
401406 then false
402- else sigVerify(aX.bodyBytes, aX.proofs[0], aX.senderPublicKey)
403- if (aZ)
407+ else sigVerify(bb.bodyBytes, bb.proofs[0], bb.senderPublicKey)
408+ if (bd)
404409 then true
405- else ba
410+ else be
406411 }
407412

github/deemru/w8io/169f3d6 
41.36 ms