tx · Her3N9LCYUr6VVShTUGSuuWKua8TayPoHDkxYGdaCNMv

3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww:  -0.01000000 Waves

2022.12.28 18:04 [3445783] smart account 3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww > SELF 0.00000000 Waves

{ "type": 13, "id": "Her3N9LCYUr6VVShTUGSuuWKua8TayPoHDkxYGdaCNMv", "fee": 1000000, "feeAssetId": null, "timestamp": 1672239903575, "version": 2, "chainId": 87, "sender": "3PBy5csSnjgkieeF9dRTXN2AwG3SXBsVpww", "senderPublicKey": "ACUCrsKGyXXF5qHMFHPnQRbm5dQ619jBk5r4xWgex9TE", "proofs": [ "3MtLV2uDuqZw2d1btKKfQdj2GJ2tZjoFV1deaQXsBjWMFT46K31EtUJfVu2hVSPHmwuSFnE1mWwDkU6RPiMpRQpo" ], "script": "base64:BgLSBQgCEgMKAQESBAoCCAgSABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAEgASABIAIgRib3NzIhF1c2R0QXNzZXRJZFN0cmluZyIRdXNkY0Fzc2V0SWRTdHJpbmciDmdldFN0cmluZ0J5S2V5IgNrZXkiD2dldEludGVnZXJCeUtleSIBYSIOZGVjaW1hbHNfbXVsdGkiB2dldEJhc2UiCWZ1bmNfbmFtZSIEZGF0YSICcDEiAnAyIgJscCIDYWlkIgRhaWQyIgR3YWlkIgRhaWRzIgVhaWQycyIKZ2V0QmFzZUJhbCIGYWlkMmJiIgVhaWRiYiIJZ2V0UHV0R2V0IgdwdXRGdW5jIgdnZXRGdW5jIghmaW5hbGl6ZSIHZXJyX3N0ciIHZGVjaW1hbCIGYWlkMmJhIgZhbW91bnQiDGdldEJhbFRvU3dhcCIHYWlkX3N0ciIPZ2V0QXNzZXREZWNpbWFsIgF4IgckbWF0Y2gwIgVhc3NldCICcHciAWkiCyR0MDI1NTQyNjIxIgxhaWQyX2RlY2ltYWwiCyR0MDI3NjQyODIzIgRzd2FwIgliYWxUb1N3YXAiCyR0MDI5NzgzMDE4IgNwdXQiA2xwYiIDZ2V0IgJ3cCILJHQwMzM4NzM0NTQiCyR0MDM1OTczNjU2IgskdDAzNjYxMzcwMSICcHMiCyR0MDQyMjI0Mjg5IgskdDA0NDMyNDQ5MSIFc3dhcDIiAnNwIgskdDA0ODg3NDk1NCILJHQwNTA5NzUxNTYiAndzIgskdDA1NTQ5NTYxNiILJHQwNTc1OTU4MTgiCyR0MDU4MjM1ODYzIgJzdyILJHQwNjM3MTY0MzgiCyR0MDY1ODE2NjQwIgskdDA2NjQ1NjY4NSIDdmFsIgJ0eCIGdmVyaWZ5EwABYQkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM1BSRTVLSDlvUEdmRlBzN2ZHblFjSjR3TnNoRURVUEdqMXQAAWICLDM0TjlZY0VFVExXbjkzcVlRNjRFc1AxeDg5dFNydUpVNDRSckVNU1hYRVBKAAFjAiw2WHRIanBYYnM5UlJKUDJTcjlHVXlWcXpBQ2NieTlUa1RoSFhualZDNUNESgEBZAEBZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQFlAgABAWYBAWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUBZQAZAAFnCQEBZgECB21vbnRhbnQAAWgJAMwIAgAKCQDMCAIAZAkAzAgCAOgHCQDMCAIAkE4JAMwIAgCgjQYJAMwIAgDAhD0JAMwIAgCAreIECQDMCAIAgMLXLwUDbmlsAQFpAQFqBAFrCQC1CQIJAQFkAQUBagIBXwQBbAkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQFrAAAEAW0JARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUBawABBAFuCQDZBAEJAJEDAgUBawACBAFvCQDZBAEJAJEDAgUBawADBAFwCQDZBAEJAJEDAgUBawAEBAFxBQR1bml0BAFyAwkAAAIJAJEDAgUBawADAgVXQVZFUwIFV0FWRVMJAJEDAgUBawADBAFzAwkAAAIJAJEDAgUBawAEAgVXQVZFUwIFV0FWRVMJAJEDAgUBawAECQCaCggFAWwFAW0FAW4FAW8FAXAFAXEFAXIFAXMBAXQEAW8BcgFwAXMEAXUDCQAAAgUBcwIFV0FWRVMICQDvBwEFBHRoaXMJYXZhaWxhYmxlCQDwBwIFBHRoaXMFAXADCQAAAgUBdQUBdQQBdgMJAAACBQFyAgVXQVZFUwgJAO8HAQUEdGhpcwlhdmFpbGFibGUJAPAHAgUEdGhpcwUBbwMJAAACBQF2BQF2CQCUCgIFAXYFAXUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAXcBAXIEAXgDAwkAAAIFAWIFAXIGCQAAAgUBYwUBcgILcHV0T25lVGtuVjICCXB1dE9uZVRrbgQBeQMDCQAAAgUBYgUBcgYJAAACBQFjBQFyAgtnZXRPbmVUa25WMgIJZ2V0T25lVGtuCQCUCgIFAXgFAXkBAXoFAXUBcwFwAUEBQgQBQwMJAAACBQFzAgVXQVZFUwgJAO8HAQUEdGhpcwlhdmFpbGFibGUJAPAHAgUEdGhpcwUBcAMJAAACBQFDBQFDAwkAZwIAAAkAZQIFAUMFAXUJAAIBBQFBBAFECQBlAgUBQwkAaAIFAWcFAUIDCQAAAgUBRAUBRAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQFhBQFEAwkAAAIFAXMCBVdBVkVTBQR1bml0BQFwBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAUUDAUYBdgFvAwkAAAIFAUYCBVdBVkVTCQBlAggJAO8HAQUEdGhpcwlhdmFpbGFibGUFAXYJAGUCCQDwBwIFBHRoaXMFAW8FAXYBAUcBAW8EAUgEAUkJAOwHAQUBbwMJAAECBQFJAgVBc3NldAQBSgUBSQkAkQMCBQFoCQBlAggFAUoIZGVjaW1hbHMAAQkAkQMCBQFoAAcFAUgBAUsCAUwBagQBTQkBAWkBBQFqBAFsCAUBTQJfMQQBbQgFAU0CXzIEAW4IBQFNAl8zBAFvCAUBTQJfNAQBcAgFAU0CXzUEAXEIBQFNAl82BAFyCAUBTQJfNwQBcwgFAU0CXzgEAU4JAQFHAQUBcAMDCQECIT0CCAUBTAZjYWxsZXIFBHRoaXMJAQIhPQIIBQFMBmNhbGxlcgUBYQcJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEAU8JAQF0BAUBbwUBcgUBcAUBcwMJAAACBQFPBQFPBAF1CAUBTwJfMgQBdggFAU8CXzEEAVAJAPwHBAUBbAIEc3dhcAkAzAgCBQFyCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQFwCQBoAgUBZwUBTgUDbmlsAwkAAAIFAVAFAVAEAVEJAQFFAwUBcgUBdgUBbwQBUgkBAXcBBQFyBAF4CAUBUgJfMQQBeQgFAVICXzIEAVMJAPwHBAUBbQUBeAkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgMJAAACBQFyAgVXQVZFUwUBcQUBbwUBUQUDbmlsAwkAAAIFAVMFAVMEAVQJAPAHAgUEdGhpcwUBbgMJAAACBQFUBQFUBAFVCQD8BwQFAW0FAXkJAMwIAgUBcwkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUBbgUBVAUDbmlsAwkAAAIFAVUFAVUJAQF6BQUBdQUBcwUBcAUBagUBTgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBVgIBTAFqBAFXCQEBaQEFAWoEAWwIBQFXAl8xBAFtCAUBVwJfMgQBbggFAVcCXzMEAW8IBQFXAl80BAFwCAUBVwJfNQQBcQgFAVcCXzYEAXIIBQFXAl83BAFzCAUBVwJfOAQBTgkBAUcBBQFwAwMJAQIhPQIIBQFMBmNhbGxlcgUEdGhpcwkBAiE9AggFAUwGY2FsbGVyBQFhBwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gYXJiIQQBWAkBAXQEBQFvBQFyBQFwBQFzAwkAAAIFAVgFAVgEAXUIBQFYAl8yBAF2CAUBWAJfMQQBWQkBAXcBBQFyBAF4CAUBWQJfMQQBeQgFAVkCXzIEAVMJAPwHBAUBbAUBeAkAzAgCAAEJAMwIAgcFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUBcAkAaAIFAWcFAU4FA25pbAMJAAACBQFTBQFTBAFUCQDwBwIFBHRoaXMFAW4DCQAAAgUBVAUBVAQBVQkA/AcEBQFsBQF5CQDMCAIFAXIJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAW4FAVQFA25pbAMJAAACBQFVBQFVBAFRCQEBRQMFAXIFAXYFAW8EAVAJAPwHBAUBbQIEc3dhcAkAzAgCBQFzCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCAwkAAAIFAXICBVdBVkVTBQFxBQFvBQFRBQNuaWwDCQAAAgUBUAUBUAkBAXoFBQF1BQFzBQFwBQFqBQFOCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQFaAgFMAWoEAmFhCQEBaQEFAWoEAWwIBQJhYQJfMQQBbQgFAmFhAl8yBAFuCAUCYWECXzMEAW8IBQJhYQJfNAQBcAgFAmFhAl81BAFxCAUCYWECXzYEAXIIBQJhYQJfNwQBcwgFAmFhAl84BAFOCQEBRwEFAXADAwkBAiE9AggFAUwGY2FsbGVyBQR0aGlzCQECIT0CCAUBTAZjYWxsZXIFAWEHCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBhcmIhBAJhYgkBAXQEBQFvBQFyBQFwBQFzAwkAAAIFAmFiBQJhYgQBdQgFAmFiAl8yBAF2CAUCYWICXzEEAVAJAPwHBAUBbAIEc3dhcAkAzAgCBQFyCQDMCAIAAQUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQFwCQBoAgUBZwUBTgUDbmlsAwkAAAIFAVAFAVAEAVEJAQFFAwUBcgUBdgUBbwQCYWMJAPwHBAUBbQIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIDCQAAAgUBcgIFV0FWRVMFAXEFAW8FAVEFA25pbAMJAAACBQJhYwUCYWMJAQF6BQUBdQUBcwUBcAUBagUBTgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECYWQCAUwBagQCYWUJAQFpAQUBagQBbAgFAmFlAl8xBAFtCAUCYWUCXzIEAW4IBQJhZQJfMwQBbwgFAmFlAl80BAFwCAUCYWUCXzUEAXEIBQJhZQJfNgQBcggFAmFlAl83BAFzCAUCYWUCXzgEAU4JAQFHAQUBcAMDCQECIT0CCAUBTAZjYWxsZXIFBHRoaXMJAQIhPQIIBQFMBmNhbGxlcgUBYQcJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEAmFmCQEBdAQFAW8FAXIFAXAFAXMDCQAAAgUCYWYFAmFmBAF1CAUCYWYCXzIEAXYIBQJhZgJfMQQBUAkA/AcEBQFsAghleGNoYW5nZQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUBcAkAaAIFAWcFAU4FA25pbAMJAAACBQFQBQFQBAFRCQEBRQMFAXIFAXYFAW8EAmFjCQD8BwQFAW0CBHN3YXAJAMwIAgUBcwkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgMJAAACBQFyAgVXQVZFUwUBcQUBbwUBUQUDbmlsAwkAAAIFAmFjBQJhYwkBAXoFBQF1BQFzBQFwBQFqBQFOCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJhZwIBTAFqBAJhaAkBAWkBBQFqBAFsCAUCYWgCXzEEAW0IBQJhaAJfMgQBbggFAmFoAl8zBAFvCAUCYWgCXzQEAXAIBQJhaAJfNQQBcQgFAmFoAl82BAFyCAUCYWgCXzcEAXMIBQJhaAJfOAQBTgkBAUcBBQFwAwMJAQIhPQIIBQFMBmNhbGxlcgUEdGhpcwkBAiE9AggFAUwGY2FsbGVyBQFhBwkAAgECG3lvdSBhcmUgbm90IGFsbG93ZWQgdG8gYXJiIQQCYWkJAQF0BAUBbwUBcgUBcAUBcwMJAAACBQJhaQUCYWkEAXUIBQJhaQJfMgQBdggFAmFpAl8xBAJhagkBAXcBBQFyBAF4CAUCYWoCXzEEAXkIBQJhagJfMgQBUwkA/AcEBQFsBQF4CQDMCAIAAQkAzAgCBwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQFwCQBoAgUBZwUBTgUDbmlsAwkAAAIFAVMFAVMEAVQJAPAHAgUEdGhpcwUBbgMJAAACBQFUBQFUBAFVCQD8BwQFAWwFAXkJAMwIAgUBcgkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUBbgUBVAUDbmlsAwkAAAIFAVUFAVUEAVEJAQFFAwUBcgUBdgUBbwQBUAkA/AcEBQFtAghleGNoYW5nZQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgMJAAACBQFyAgVXQVZFUwUBcQUBbwUBUQUDbmlsAwkAAAIFAVAFAVAJAQF6BQUBdQUBcwUBcAUBagUBTgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECYWsCAUwBagQCYWwJAQFpAQUBagQBbAgFAmFsAl8xBAFtCAUCYWwCXzIEAW4IBQJhbAJfMwQBbwgFAmFsAl80BAFwCAUCYWwCXzUEAXEIBQJhbAJfNgQBcggFAmFsAl83BAFzCAUCYWwCXzgEAU4JAQFHAQUBcAMDCQECIT0CCAUBTAZjYWxsZXIFBHRoaXMJAQIhPQIIBQFMBmNhbGxlcgUBYQcJAAIBAht5b3UgYXJlIG5vdCBhbGxvd2VkIHRvIGFyYiEEAmFtCQEBdAQFAW8FAXIFAXAFAXMDCQAAAgUCYW0FAmFtBAF1CAUCYW0CXzIEAXYIBQJhbQJfMQQCYW4JAQF3AQUBcgQBeAgFAmFuAl8xBAF5CAUCYW4CXzIEAVAJAPwHBAUBbAIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAXAJAGgCBQFnBQFOBQNuaWwDCQAAAgUBUAUBUAQBUQkBAUUDBQFyBQF2BQFvBAFTCQD8BwQFAW0FAXgJAMwIAgABCQDMCAIHBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIDCQAAAgUBcgIFV0FWRVMFAXEFAW8FAVEFA25pbAMJAAACBQFTBQFTBAFUCQDwBwIFBHRoaXMFAW4DCQAAAgUBVAUBVAQBVQkA/AcEBQFtBQF5CQDMCAIFAXMJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFAW4FAVQFA25pbAMJAAACBQFVBQFVCQEBegUFAXUFAXMFAXAFAWoFAU4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4oAUwBCHNldEFtb3V0AQFnAwkBAiE9AggFAUwGY2FsbGVyBQR0aGlzCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBzZXQhCQDMCAIJAQxJbnRlZ2VyRW50cnkCAgdtb250YW50BQFnBQNuaWwBTAEPc2V0S2V5VmFsU3RyaW5nAgFlAmFvAwkBAiE9AggFAUwGY2FsbGVyBQR0aGlzCQACAQIbeW91IGFyZSBub3QgYWxsb3dlZCB0byBzZXQhCQDMCAIJAQtTdHJpbmdFbnRyeQIFAWUFAmFvBQNuaWwBTAECYTEACQEBSwIFAUwCAmExAUwBAmEyAAkBAVYCBQFMAgJhMgFMAQJhMwAJAQFaAgUBTAICYTMBTAECYTQACQECYWQCBQFMAgJhNAFMAQJhNQAJAQJhZwIFAUwCAmE1AUwBAmE2AAkBAmFrAgUBTAICYTYBTAECYTcACQEBSwIFAUwCAmE3AUwBAmE4AAkBAVYCBQFMAgJhOAFMAQJhOQAJAQFLAgUBTAICYTkBTAEDYTEwAAkBAVYCBQFMAgNhMTABTAEDYTExAAkBAUsCBQFMAgNhMTEBTAEDYTEyAAkBAVYCBQFMAgNhMTIBTAEDYTEzAAkBAmFnAgUBTAIDYTEzAUwBA2ExNAAJAQJhawIFAUwCA2ExNAFMAQNhMTUACQECYWcCBQFMAgNhMTUBTAEDYTE2AAkBAmFrAgUBTAIDYTE2AUwBA2ExNwAJAQJhZwIFAUwCA2ExNwFMAQNhMTgACQECYWsCBQFMAgNhMTgBTAEDYTE5AAkBAmFnAgUBTAIDYTE5AUwBA2EyMAAJAQJhawIFAUwCA2EyMAFMAQNhMjEACQECYWcCBQFMAgNhMjEBTAEDYTIyAAkBAmFrAgUBTAIDYTIyAUwBA2EyMwAJAQFaAgUBTAIDYTIzAUwBA2EyNAAJAQJhZAIFAUwCA2EyNAFMAQNhMjUACQEBWgIFAUwCA2EyNQFMAQNhMjYACQECYWQCBQFMAgNhMjYBTAEDYTI3AAkBAmFnAgUBTAIDYTI3AUwBA2EyOAAJAQJhawIFAUwCA2EyOAFMAQNhMjkACQEBWgIFAUwCA2EyOQFMAQNhMzAACQECYWQCBQFMAgNhMzABTAEDYTMxAAkBAUsCBQFMAgNhMzEBTAEDYTMyAAkBAVYCBQFMAgNhMzIBTAEDYTMzAAkBAUsCBQFMAgNhMzMBTAEDYTM0AAkBAVYCBQFMAgNhMzQBTAEDYTM1AAkBAUsCBQFMAgNhMzUBTAEDYTM2AAkBAVYCBQFMAgNhMzYBTAEDYTM3AAkBAUsCBQFMAgNhMzcBTAEDYTM4AAkBAVYCBQFMAgNhMzgBAmFwAQJhcQAJAMgTAwgFAmFwCWJvZHlCeXRlcwkAkQMCCAUCYXAGcHJvb2ZzAAAIBQJhcA9zZW5kZXJQdWJsaWNLZXnFdtag", "height": 3445783, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9aSf2wbHDSQjM6Eq1vbhMBrNW4S6teva2uVwoF5UVvtg Next: GafiAzkQJ8ymogibb53sxR7R3RA8HmdCU6jXZ6ZdjJMv Diff:
OldNewDifferences
571571 func a34 () = wp(i, "a34")
572572
573573
574+
575+@Callable(i)
576+func a35 () = pw(i, "a35")
577+
578+
579+
580+@Callable(i)
581+func a36 () = wp(i, "a36")
582+
583+
584+
585+@Callable(i)
586+func a37 () = pw(i, "a37")
587+
588+
589+
590+@Callable(i)
591+func a38 () = wp(i, "a38")
592+
593+
574594 @Verifier(tx)
575595 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
576596
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let boss = addressFromStringValue("3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t")
55
66 let usdtAssetIdString = "34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ"
77
88 let usdcAssetIdString = "6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ"
99
1010 func getStringByKey (key) = valueOrElse(getString(this, key), "")
1111
1212
1313 func getIntegerByKey (key) = valueOrElse(getInteger(this, key), 25)
1414
1515
1616 let a = getIntegerByKey("montant")
1717
1818 let decimals_multi = [10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000]
1919
2020 func getBase (func_name) = {
2121 let data = split(getStringByKey(func_name), "_")
2222 let p1 = addressFromStringValue(data[0])
2323 let p2 = addressFromStringValue(data[1])
2424 let lp = fromBase58String(data[2])
2525 let aid = fromBase58String(data[3])
2626 let aid2 = fromBase58String(data[4])
2727 let waid = unit
2828 let aids = if ((data[3] == "WAVES"))
2929 then "WAVES"
3030 else data[3]
3131 let aid2s = if ((data[4] == "WAVES"))
3232 then "WAVES"
3333 else data[4]
3434 $Tuple8(p1, p2, lp, aid, aid2, waid, aids, aid2s)
3535 }
3636
3737
3838 func getBaseBal (aid,aids,aid2,aid2s) = {
3939 let aid2bb = if ((aid2s == "WAVES"))
4040 then wavesBalance(this).available
4141 else assetBalance(this, aid2)
4242 if ((aid2bb == aid2bb))
4343 then {
4444 let aidbb = if ((aids == "WAVES"))
4545 then wavesBalance(this).available
4646 else assetBalance(this, aid)
4747 if ((aidbb == aidbb))
4848 then $Tuple2(aidbb, aid2bb)
4949 else throw("Strict value is not equal to itself.")
5050 }
5151 else throw("Strict value is not equal to itself.")
5252 }
5353
5454
5555 func getPutGet (aids) = {
5656 let putFunc = if (if ((usdtAssetIdString == aids))
5757 then true
5858 else (usdcAssetIdString == aids))
5959 then "putOneTknV2"
6060 else "putOneTkn"
6161 let getFunc = if (if ((usdtAssetIdString == aids))
6262 then true
6363 else (usdcAssetIdString == aids))
6464 then "getOneTknV2"
6565 else "getOneTkn"
6666 $Tuple2(putFunc, getFunc)
6767 }
6868
6969
7070 func finalize (aid2bb,aid2s,aid2,err_str,decimal) = {
7171 let aid2ba = if ((aid2s == "WAVES"))
7272 then wavesBalance(this).available
7373 else assetBalance(this, aid2)
7474 if ((aid2ba == aid2ba))
7575 then if ((0 >= (aid2ba - aid2bb)))
7676 then throw(err_str)
7777 else {
7878 let amount = (aid2ba - (a * decimal))
7979 if ((amount == amount))
8080 then [ScriptTransfer(boss, amount, if ((aid2s == "WAVES"))
8181 then unit
8282 else aid2)]
8383 else throw("Strict value is not equal to itself.")
8484 }
8585 else throw("Strict value is not equal to itself.")
8686 }
8787
8888
8989 func getBalToSwap (aid_str,aidbb,aid) = if ((aid_str == "WAVES"))
9090 then (wavesBalance(this).available - aidbb)
9191 else (assetBalance(this, aid) - aidbb)
9292
9393
9494 func getAssetDecimal (aid) = {
9595 let x = match assetInfo(aid) {
9696 case asset: Asset =>
9797 decimals_multi[(asset.decimals - 1)]
9898 case _ =>
9999 decimals_multi[7]
100100 }
101101 x
102102 }
103103
104104
105105 func pw (i,func_name) = {
106106 let $t025542621 = getBase(func_name)
107107 let p1 = $t025542621._1
108108 let p2 = $t025542621._2
109109 let lp = $t025542621._3
110110 let aid = $t025542621._4
111111 let aid2 = $t025542621._5
112112 let waid = $t025542621._6
113113 let aids = $t025542621._7
114114 let aid2s = $t025542621._8
115115 let aid2_decimal = getAssetDecimal(aid2)
116116 if (if ((i.caller != this))
117117 then (i.caller != boss)
118118 else false)
119119 then throw("you are not allowed to arb!")
120120 else {
121121 let $t027642823 = getBaseBal(aid, aids, aid2, aid2s)
122122 if (($t027642823 == $t027642823))
123123 then {
124124 let aid2bb = $t027642823._2
125125 let aidbb = $t027642823._1
126126 let swap = invoke(p1, "swap", [aids, 1], [AttachedPayment(aid2, (a * aid2_decimal))])
127127 if ((swap == swap))
128128 then {
129129 let balToSwap = getBalToSwap(aids, aidbb, aid)
130130 let $t029783018 = getPutGet(aids)
131131 let putFunc = $t029783018._1
132132 let getFunc = $t029783018._2
133133 let put = invoke(p2, putFunc, [1, false], [AttachedPayment(if ((aids == "WAVES"))
134134 then waid
135135 else aid, balToSwap)])
136136 if ((put == put))
137137 then {
138138 let lpb = assetBalance(this, lp)
139139 if ((lpb == lpb))
140140 then {
141141 let get = invoke(p2, getFunc, [aid2s, 1], [AttachedPayment(lp, lpb)])
142142 if ((get == get))
143143 then finalize(aid2bb, aid2s, aid2, func_name, aid2_decimal)
144144 else throw("Strict value is not equal to itself.")
145145 }
146146 else throw("Strict value is not equal to itself.")
147147 }
148148 else throw("Strict value is not equal to itself.")
149149 }
150150 else throw("Strict value is not equal to itself.")
151151 }
152152 else throw("Strict value is not equal to itself.")
153153 }
154154 }
155155
156156
157157 func wp (i,func_name) = {
158158 let $t033873454 = getBase(func_name)
159159 let p1 = $t033873454._1
160160 let p2 = $t033873454._2
161161 let lp = $t033873454._3
162162 let aid = $t033873454._4
163163 let aid2 = $t033873454._5
164164 let waid = $t033873454._6
165165 let aids = $t033873454._7
166166 let aid2s = $t033873454._8
167167 let aid2_decimal = getAssetDecimal(aid2)
168168 if (if ((i.caller != this))
169169 then (i.caller != boss)
170170 else false)
171171 then throw("you are not allowed to arb!")
172172 else {
173173 let $t035973656 = getBaseBal(aid, aids, aid2, aid2s)
174174 if (($t035973656 == $t035973656))
175175 then {
176176 let aid2bb = $t035973656._2
177177 let aidbb = $t035973656._1
178178 let $t036613701 = getPutGet(aids)
179179 let putFunc = $t036613701._1
180180 let getFunc = $t036613701._2
181181 let put = invoke(p1, putFunc, [1, false], [AttachedPayment(aid2, (a * aid2_decimal))])
182182 if ((put == put))
183183 then {
184184 let lpb = assetBalance(this, lp)
185185 if ((lpb == lpb))
186186 then {
187187 let get = invoke(p1, getFunc, [aids, 1], [AttachedPayment(lp, lpb)])
188188 if ((get == get))
189189 then {
190190 let balToSwap = getBalToSwap(aids, aidbb, aid)
191191 let swap = invoke(p2, "swap", [aid2s, 1], [AttachedPayment(if ((aids == "WAVES"))
192192 then waid
193193 else aid, balToSwap)])
194194 if ((swap == swap))
195195 then finalize(aid2bb, aid2s, aid2, func_name, aid2_decimal)
196196 else throw("Strict value is not equal to itself.")
197197 }
198198 else throw("Strict value is not equal to itself.")
199199 }
200200 else throw("Strict value is not equal to itself.")
201201 }
202202 else throw("Strict value is not equal to itself.")
203203 }
204204 else throw("Strict value is not equal to itself.")
205205 }
206206 }
207207
208208
209209 func ps (i,func_name) = {
210210 let $t042224289 = getBase(func_name)
211211 let p1 = $t042224289._1
212212 let p2 = $t042224289._2
213213 let lp = $t042224289._3
214214 let aid = $t042224289._4
215215 let aid2 = $t042224289._5
216216 let waid = $t042224289._6
217217 let aids = $t042224289._7
218218 let aid2s = $t042224289._8
219219 let aid2_decimal = getAssetDecimal(aid2)
220220 if (if ((i.caller != this))
221221 then (i.caller != boss)
222222 else false)
223223 then throw("you are not allowed to arb!")
224224 else {
225225 let $t044324491 = getBaseBal(aid, aids, aid2, aid2s)
226226 if (($t044324491 == $t044324491))
227227 then {
228228 let aid2bb = $t044324491._2
229229 let aidbb = $t044324491._1
230230 let swap = invoke(p1, "swap", [aids, 1], [AttachedPayment(aid2, (a * aid2_decimal))])
231231 if ((swap == swap))
232232 then {
233233 let balToSwap = getBalToSwap(aids, aidbb, aid)
234234 let swap2 = invoke(p2, "exchange", [1], [AttachedPayment(if ((aids == "WAVES"))
235235 then waid
236236 else aid, balToSwap)])
237237 if ((swap2 == swap2))
238238 then finalize(aid2bb, aid2s, aid2, func_name, aid2_decimal)
239239 else throw("Strict value is not equal to itself.")
240240 }
241241 else throw("Strict value is not equal to itself.")
242242 }
243243 else throw("Strict value is not equal to itself.")
244244 }
245245 }
246246
247247
248248 func sp (i,func_name) = {
249249 let $t048874954 = getBase(func_name)
250250 let p1 = $t048874954._1
251251 let p2 = $t048874954._2
252252 let lp = $t048874954._3
253253 let aid = $t048874954._4
254254 let aid2 = $t048874954._5
255255 let waid = $t048874954._6
256256 let aids = $t048874954._7
257257 let aid2s = $t048874954._8
258258 let aid2_decimal = getAssetDecimal(aid2)
259259 if (if ((i.caller != this))
260260 then (i.caller != boss)
261261 else false)
262262 then throw("you are not allowed to arb!")
263263 else {
264264 let $t050975156 = getBaseBal(aid, aids, aid2, aid2s)
265265 if (($t050975156 == $t050975156))
266266 then {
267267 let aid2bb = $t050975156._2
268268 let aidbb = $t050975156._1
269269 let swap = invoke(p1, "exchange", [1], [AttachedPayment(aid2, (a * aid2_decimal))])
270270 if ((swap == swap))
271271 then {
272272 let balToSwap = getBalToSwap(aids, aidbb, aid)
273273 let swap2 = invoke(p2, "swap", [aid2s, 1], [AttachedPayment(if ((aids == "WAVES"))
274274 then waid
275275 else aid, balToSwap)])
276276 if ((swap2 == swap2))
277277 then finalize(aid2bb, aid2s, aid2, func_name, aid2_decimal)
278278 else throw("Strict value is not equal to itself.")
279279 }
280280 else throw("Strict value is not equal to itself.")
281281 }
282282 else throw("Strict value is not equal to itself.")
283283 }
284284 }
285285
286286
287287 func ws (i,func_name) = {
288288 let $t055495616 = getBase(func_name)
289289 let p1 = $t055495616._1
290290 let p2 = $t055495616._2
291291 let lp = $t055495616._3
292292 let aid = $t055495616._4
293293 let aid2 = $t055495616._5
294294 let waid = $t055495616._6
295295 let aids = $t055495616._7
296296 let aid2s = $t055495616._8
297297 let aid2_decimal = getAssetDecimal(aid2)
298298 if (if ((i.caller != this))
299299 then (i.caller != boss)
300300 else false)
301301 then throw("you are not allowed to arb!")
302302 else {
303303 let $t057595818 = getBaseBal(aid, aids, aid2, aid2s)
304304 if (($t057595818 == $t057595818))
305305 then {
306306 let aid2bb = $t057595818._2
307307 let aidbb = $t057595818._1
308308 let $t058235863 = getPutGet(aids)
309309 let putFunc = $t058235863._1
310310 let getFunc = $t058235863._2
311311 let put = invoke(p1, putFunc, [1, false], [AttachedPayment(aid2, (a * aid2_decimal))])
312312 if ((put == put))
313313 then {
314314 let lpb = assetBalance(this, lp)
315315 if ((lpb == lpb))
316316 then {
317317 let get = invoke(p1, getFunc, [aids, 1], [AttachedPayment(lp, lpb)])
318318 if ((get == get))
319319 then {
320320 let balToSwap = getBalToSwap(aids, aidbb, aid)
321321 let swap = invoke(p2, "exchange", [1], [AttachedPayment(if ((aids == "WAVES"))
322322 then waid
323323 else aid, balToSwap)])
324324 if ((swap == swap))
325325 then finalize(aid2bb, aid2s, aid2, func_name, aid2_decimal)
326326 else throw("Strict value is not equal to itself.")
327327 }
328328 else throw("Strict value is not equal to itself.")
329329 }
330330 else throw("Strict value is not equal to itself.")
331331 }
332332 else throw("Strict value is not equal to itself.")
333333 }
334334 else throw("Strict value is not equal to itself.")
335335 }
336336 }
337337
338338
339339 func sw (i,func_name) = {
340340 let $t063716438 = getBase(func_name)
341341 let p1 = $t063716438._1
342342 let p2 = $t063716438._2
343343 let lp = $t063716438._3
344344 let aid = $t063716438._4
345345 let aid2 = $t063716438._5
346346 let waid = $t063716438._6
347347 let aids = $t063716438._7
348348 let aid2s = $t063716438._8
349349 let aid2_decimal = getAssetDecimal(aid2)
350350 if (if ((i.caller != this))
351351 then (i.caller != boss)
352352 else false)
353353 then throw("you are not allowed to arb!")
354354 else {
355355 let $t065816640 = getBaseBal(aid, aids, aid2, aid2s)
356356 if (($t065816640 == $t065816640))
357357 then {
358358 let aid2bb = $t065816640._2
359359 let aidbb = $t065816640._1
360360 let $t066456685 = getPutGet(aids)
361361 let putFunc = $t066456685._1
362362 let getFunc = $t066456685._2
363363 let swap = invoke(p1, "exchange", [1], [AttachedPayment(aid2, (a * aid2_decimal))])
364364 if ((swap == swap))
365365 then {
366366 let balToSwap = getBalToSwap(aids, aidbb, aid)
367367 let put = invoke(p2, putFunc, [1, false], [AttachedPayment(if ((aids == "WAVES"))
368368 then waid
369369 else aid, balToSwap)])
370370 if ((put == put))
371371 then {
372372 let lpb = assetBalance(this, lp)
373373 if ((lpb == lpb))
374374 then {
375375 let get = invoke(p2, getFunc, [aid2s, 1], [AttachedPayment(lp, lpb)])
376376 if ((get == get))
377377 then finalize(aid2bb, aid2s, aid2, func_name, aid2_decimal)
378378 else throw("Strict value is not equal to itself.")
379379 }
380380 else throw("Strict value is not equal to itself.")
381381 }
382382 else throw("Strict value is not equal to itself.")
383383 }
384384 else throw("Strict value is not equal to itself.")
385385 }
386386 else throw("Strict value is not equal to itself.")
387387 }
388388 }
389389
390390
391391 @Callable(i)
392392 func setAmout (a) = if ((i.caller != this))
393393 then throw("you are not allowed to set!")
394394 else [IntegerEntry("montant", a)]
395395
396396
397397
398398 @Callable(i)
399399 func setKeyValString (key,val) = if ((i.caller != this))
400400 then throw("you are not allowed to set!")
401401 else [StringEntry(key, val)]
402402
403403
404404
405405 @Callable(i)
406406 func a1 () = pw(i, "a1")
407407
408408
409409
410410 @Callable(i)
411411 func a2 () = wp(i, "a2")
412412
413413
414414
415415 @Callable(i)
416416 func a3 () = ps(i, "a3")
417417
418418
419419
420420 @Callable(i)
421421 func a4 () = sp(i, "a4")
422422
423423
424424
425425 @Callable(i)
426426 func a5 () = ws(i, "a5")
427427
428428
429429
430430 @Callable(i)
431431 func a6 () = sw(i, "a6")
432432
433433
434434
435435 @Callable(i)
436436 func a7 () = pw(i, "a7")
437437
438438
439439
440440 @Callable(i)
441441 func a8 () = wp(i, "a8")
442442
443443
444444
445445 @Callable(i)
446446 func a9 () = pw(i, "a9")
447447
448448
449449
450450 @Callable(i)
451451 func a10 () = wp(i, "a10")
452452
453453
454454
455455 @Callable(i)
456456 func a11 () = pw(i, "a11")
457457
458458
459459
460460 @Callable(i)
461461 func a12 () = wp(i, "a12")
462462
463463
464464
465465 @Callable(i)
466466 func a13 () = ws(i, "a13")
467467
468468
469469
470470 @Callable(i)
471471 func a14 () = sw(i, "a14")
472472
473473
474474
475475 @Callable(i)
476476 func a15 () = ws(i, "a15")
477477
478478
479479
480480 @Callable(i)
481481 func a16 () = sw(i, "a16")
482482
483483
484484
485485 @Callable(i)
486486 func a17 () = ws(i, "a17")
487487
488488
489489
490490 @Callable(i)
491491 func a18 () = sw(i, "a18")
492492
493493
494494
495495 @Callable(i)
496496 func a19 () = ws(i, "a19")
497497
498498
499499
500500 @Callable(i)
501501 func a20 () = sw(i, "a20")
502502
503503
504504
505505 @Callable(i)
506506 func a21 () = ws(i, "a21")
507507
508508
509509
510510 @Callable(i)
511511 func a22 () = sw(i, "a22")
512512
513513
514514
515515 @Callable(i)
516516 func a23 () = ps(i, "a23")
517517
518518
519519
520520 @Callable(i)
521521 func a24 () = sp(i, "a24")
522522
523523
524524
525525 @Callable(i)
526526 func a25 () = ps(i, "a25")
527527
528528
529529
530530 @Callable(i)
531531 func a26 () = sp(i, "a26")
532532
533533
534534
535535 @Callable(i)
536536 func a27 () = ws(i, "a27")
537537
538538
539539
540540 @Callable(i)
541541 func a28 () = sw(i, "a28")
542542
543543
544544
545545 @Callable(i)
546546 func a29 () = ps(i, "a29")
547547
548548
549549
550550 @Callable(i)
551551 func a30 () = sp(i, "a30")
552552
553553
554554
555555 @Callable(i)
556556 func a31 () = pw(i, "a31")
557557
558558
559559
560560 @Callable(i)
561561 func a32 () = wp(i, "a32")
562562
563563
564564
565565 @Callable(i)
566566 func a33 () = pw(i, "a33")
567567
568568
569569
570570 @Callable(i)
571571 func a34 () = wp(i, "a34")
572572
573573
574+
575+@Callable(i)
576+func a35 () = pw(i, "a35")
577+
578+
579+
580+@Callable(i)
581+func a36 () = wp(i, "a36")
582+
583+
584+
585+@Callable(i)
586+func a37 () = pw(i, "a37")
587+
588+
589+
590+@Callable(i)
591+func a38 () = wp(i, "a38")
592+
593+
574594 @Verifier(tx)
575595 func verify () = sigVerify_128Kb(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
576596

github/deemru/w8io/3ef1775 
70.89 ms