tx · 5ifMDAaSpBkaEB5z2xrDyqzA2DZHH8G1Fgk4znhHsoo9

3N4wBgYtWgJW2LTRef2ekWQTrEXCRfXmGLh:  -0.01000000 Waves

2023.10.20 19:31 [2807152] smart account 3N4wBgYtWgJW2LTRef2ekWQTrEXCRfXmGLh > SELF 0.00000000 Waves

{ "type": 13, "id": "5ifMDAaSpBkaEB5z2xrDyqzA2DZHH8G1Fgk4znhHsoo9", "fee": 1000000, "feeAssetId": null, "timestamp": 1697819516803, "version": 2, "chainId": 84, "sender": "3N4wBgYtWgJW2LTRef2ekWQTrEXCRfXmGLh", "senderPublicKey": "7hRYZBcZCcRPgMoWSZsJ7jspEBuJt9Tc58d12xK3DWMp", "proofs": [ "3S7iGVKsF2XqUacNrBhjNfmbCFRfLE3vn3J3e71mCbcgi9nyaawwDsokGShTYnYwm2TZTdfdGosyNL8kivpVBeQh" ], "script": "base64:BgIWCAISBgoEGBERCBIAEgMKAQESAwoBAQcAFHVzZXJfYmFsYW5jZV9hZGRyZXNzAiMzTjFzMnc0TkhnYnJYeE5aWEg5UnRhVlQ5cHRIUkpjZ1NwMgARbHBfYWRkcmVzc19wdWJrZXkBIMjtmNqG7lU1WGDHPJboKlti9SIwxR/k7IFRCWjnzhpzACBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwkApwgBBRFscF9hZGRyZXNzX3B1YmtleQAUbHBfZGVwb3NpdG9yX2FkZHJlc3MBIAKzAejCIyo1u64LRV3TLFVU23AoEuHL2Ni8HYSbNWZ5ABRscF93aGl0ZWxpc3RfYWRkcmVzcwkApwgBBRRscF9kZXBvc2l0b3JfYWRkcmVzcwALbmV0d29ya19mZWUAoMIeAR12YWxpZGF0ZU1hc3NUcmFuc2ZlckFyZ3VtZW50cwQKcmVjaXBpZW50cwdhbW91bnRzCnBheW1lbnRJZHgIcGF5bWVudHMEDnJlY2lwaWVudHNTaXplCQCQAwEFCnJlY2lwaWVudHMEC2Ftb3VudHNTaXplCQCQAwEFB2Ftb3VudHMEDnBheW1lbnRJZHhTaXplCQCQAwEFCnBheW1lbnRJZHgEDHBheW1lbnRzU2l6ZQkAkAMBBQhwYXltZW50cwQJbWluQW1vdW50CQCXAwEFB2Ftb3VudHMEDW1pblBheW1lbnRJZHgJAJcDAQUKcGF5bWVudElkeAQNbWF4UGF5bWVudElkeAkAlgMBBQpwYXltZW50SWR4CgERcGF5bWVudHNWYWxpZGF0b3ICDHBheW1lbnRBY2N1bQtuZXh0UGF5bWVudAQLJHQwMTQ5MDE1MjcFDHBheW1lbnRBY2N1bQQNdmFsaWRQYXltZW50cwgFCyR0MDE0OTAxNTI3Al8xBAFqCAULJHQwMTQ5MDE1MjcCXzIDCQBnAgUBagUMcGF5bWVudHNTaXplCQCUCgIFDXZhbGlkUGF5bWVudHMJAGQCBQFqAAEKARFhbW91bnRzQWdncmVnYXRvcgILYW1vdW50QWNjdW0KbmV4dEFtb3VudAQLJHQwMTY4MjE3MTEFC2Ftb3VudEFjY3VtBAZhbW91bnQIBQskdDAxNjgyMTcxMQJfMQQBawgFCyR0MDE2ODIxNzExAl8yAwMJAGcCBQFr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XzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoDAwMDAwMDAwkAAAIFDnJlY2lwaWVudHNTaXplBQthbW91bnRzU2l6ZQkAAAIFDnJlY2lwaWVudHNTaXplBQ5wYXltZW50SWR4U2l6ZQcJAGYCBQ5yZWNpcGllbnRzU2l6ZQAABwkAZwIAZAUOcmVjaXBpZW50c1NpemUHCQBmAgUMcGF5bWVudHNTaXplAAAHCQBmAgUJbWluQW1vdW50AAAHCQAAAgUNbWluUGF5bWVudElkeAAABwkAAAIFDW1heFBheW1lbnRJZHgJAGUCBQxwYXltZW50c1NpemUAAQcJAAACCAUScGF5bWVudHNWYWxpZGF0aW9uAl8xBQxwYXltZW50c1NpemUHBAFpAQxtYXNzVHJhbnNmZXIECnJlY2lwaWVudHMHYW1vdW50cwpwYXltZW50SWR4CmF0dGFjaG1lbnQEA3BtdAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAZBbW91bnQIBQNwbXQGYW1vdW50BBVtYXhpbXVtX3BheW91dF9mYWN0b3IAEgQHQ291bnRlcgkAkQMCCQC1CQIFCmF0dGFjaG1lbnQCAV8AAAQdQ2hlY2tUb3RhbEZ1bmRzQWRkZWRJbkNvdW50ZXIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQERQGV4dHJOYXRpdmUoMTA2MikBBRR1c2VyX2JhbGFuY2VfYWRkcmVzcwkArAICAiJUb3RhbF9GdW5kc19BZGRlZF9Jbl9PcHRpb25fT3JkZXJfBQdDb3VudGVyCQCsAgIJAKwCAgIMQ291bnRlciBJRDogBQdDb3VudGVyAgsgTm90IEZvdW5kLgQQbWFzc3BheW91dGxpbWl0cwkAawMFHUNoZWNrVG90YWxGdW5kc0FkZGVkSW5Db3VudGVyBRVtYXhpbXVtX3BheW91dF9mYWN0b3IACgMJAQIhPQIIBQFpBmNhbGxlcgUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAAIBCQCsAgIJAKwCAgISTm90IGFuIEFkbWluIG9ubHkgCQClCAEFIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzAg0gY2FuIHNpZ24gaXQuAwkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAkAAgECK09ubHkgV2F2ZXMgaXMgYWxsb3dlZCB0byBBdHRhY2ggYXMgcGF5bWVudC4DCQEBIQEJAR12YWxpZGF0ZU1hc3NUcmFuc2ZlckFyZ3VtZW50cwQFCnJlY2lwaWVudHMFB2Ftb3VudHMFCnBheW1lbnRJZHgIBQFpCHBheW1lbnRzCQACAQIRSW52YWxpZCBhcmd1bWVudHMDCQBmAgUGQW1vdW50BR1DaGVja1RvdGFsRnVuZHNBZGRlZEluQ291bnRlcgkAAgEJAKwCAgkArAICAklBdHRhY2hlZCBQYXltZW50IEFtb3VudCBpcyBleGNlZWRpbmcgbW9yZSB0aGFuIE1heGltdW0gRWxpZ2libGUgTGltaXQgb2YgCQCkAwEFEG1hc3NwYXlvdXRsaW1pdHMCCiBXYXZlbGV0cy4EDnJlY2lwaWVudHNTaXplCQCQAwEFCnJlY2lwaWVudHMKARhzY3JpcHRUcmFuc2ZlcnNHZW5lcmF0b3ICBWFjY3VtBG5leHQECyR0MDM2NjAzNjkyBQVhY2N1bQQPc2NyaXB0VHJhbnNmZXJzCAULJHQwMzY2MDM2OTICXzEEAWoIBQskdDAzNjYwMzY5MgJfMgMJAGcCBQFqBQ5yZWNpcGllbnRzU2l6ZQkAlAoCBQ9zY3JpcHRUcmFuc2ZlcnMJAGQCBQFqAAEJAJQKAgkAzQgCBQ9zY3JpcHRUcmFuc2ZlcnMJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUKcmVjaXBpZW50cwUBagUEbmV4dAgJAJEDAggFAWkIcGF5bWVudHMJAJEDAgUKcGF5bWVudElkeAUBagdhc3NldElkCQBkAgUBagABBAZyZXN1bHQKAAIkbAUHYW1vdW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBGHNjcmlwdFRyYW5zZmVyc0dlbmVyYXRvcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIVTGlzdCBzaXplIGV4Y2VlZHMgMTAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAJQKAgkAzggCCAUGcmVzdWx0Al8xCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB0NvdW50ZXICDl9Ub3RhbF9XaW5uZXJzBQ5yZWNpcGllbnRzU2l6ZQUDbmlsBQR1bml0AWkBEEFkZFBvb2xMaXF1aWRpdHkABA1jYWxsZXJhZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEA3BtdAMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEJAJEDAggFAWkIcGF5bWVudHMAAAkAAgECSU5vIHBheW1lbnQgYXR0YWNoZWQsIFBsZWFzZSBBdHRhY2ggb25seSBXaGl0ZWxpc3RlZCBUb2tlbnMgaW4gcGF5bWVudFsxXS4EIVByZXZpb3VzRnVuZHNBZGRlZFRvUG9vbGJ5Q29tcGFueQQHJG1hdGNoMAkAmggCBQR0aGlzAg5Ub3RhbF9MUF9BZGRlZAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQeVG90YWxGdW5kc0FkZGVkVG9Qb29sYnlDb21wYW55CQBkAgUhUHJldmlvdXNGdW5kc0FkZGVkVG9Qb29sYnlDb21wYW55CAUDcG10BmFtb3VudAQVUHJldmlvdXNQb29sTGlxdWlkaXR5BAckbWF0Y2gwCQCaCAIFBHRoaXMCFFRvdGFsX1Bvb2xfTGlxdWlkaXR5AwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBJUb3RhbFBvb2xMaXF1aWRpdHkJAGQCBRVQcmV2aW91c1Bvb2xMaXF1aWRpdHkIBQNwbXQGYW1vdW50BBhQcmV2aW91c0xQRGVwb3NpdENvdW50ZXIEByRtYXRjaDAJAJoIAgUEdGhpcwISTFBfRGVwb3NpdF9Db3VudGVyAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBVUb3RhbExQRGVwb3NpdENvdW50ZXIJAGQCBRhQcmV2aW91c0xQRGVwb3NpdENvdW50ZXIAAQMJAQIhPQIIBQFpBmNhbGxlcgUUbHBfd2hpdGVsaXN0X2FkZHJlc3MJAAIBCQCsAgIJAKwCAgIlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkApQgBBRRscF93aGl0ZWxpc3RfYWRkcmVzcwIiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAQlpc0RlZmluZWQBCAUDcG10B2Fzc2V0SWQJAAIBAi5Pbmx5IFdBVkVTIGlzIGFsbG93ZWQgdG8gZGVwb3NpdCBhdCB0aGUgbW9tZW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhRUb3RhbF9Qb29sX0xpcXVpZGl0eQUSVG90YWxQb29sTGlxdWlkaXR5CQDMCAIJAQxJbnRlZ2VyRW50cnkCAhJMUF9EZXBvc2l0X0NvdW50ZXIFFVRvdGFsTFBEZXBvc2l0Q291bnRlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIOVG90YWxfTFBfQWRkZWQFHlRvdGFsRnVuZHNBZGRlZFRvUG9vbGJ5Q29tcGFueQUDbmlsAWkBD1VwZGF0ZUxQQmFsYW5jZQEWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAQUcmVhZF9hY2NvdW50X2JhbGFuY2UICQDvBwEFBHRoaXMHcmVndWxhcgQZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFBHRoaXMCFFRvdGFsX1Bvb2xfTGlxdWlkaXR5AiRObyBJbml0aWFsIFBvb2wgTGlxdWlkaXR5IHdhcyBGb3VuZC4EFXJlY2VpdmVkX29yZGVyX2Ftb3VudAkAZQIJAGUCBRRyZWFkX2FjY291bnRfYmFsYW5jZQUZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQULbmV0d29ya19mZWUEFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQBkAgkAZQIFGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQFFXJlY2VpdmVkX29yZGVyX2Ftb3VudAQbUHJldmlvdXNNYXNzVHJhbnNmZXJDb3VudGVyBAckbWF0Y2gwCQCaCAIFBHRoaXMCFU1hc3NfVHJhbnNmZXJfQ291bnRlcgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAQYVG90YWxNYXNzVHJhbnNmZXJDb3VudGVyCQBkAgUbUHJldmlvdXNNYXNzVHJhbnNmZXJDb3VudGVyAAEEGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAQHJG1hdGNoMAkAmggCBQR0aGlzAhhUb3RhbF9NYXNzX1RyYW5zZmVyX1NlbmQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAEFVRvdGFsTWFzc1RyYW5zZmVyU2VuZAkAZAIFGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAUWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAMJAQIhPQIIBQFpBmNhbGxlcgUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAAIBCQCsAgIJAKwCAgIlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkApQgBBSBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwIiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAGYCBRZQYWlkTWFzc1RyYW5zZmVyQW1vdW50BRlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5CQACAQJDUGxhY2VkIE1hc3MgVHJhbnNmZXIgQW1vdW50IFNpemUgaXMgbW9yZSB0aGFuIFRvdGFsIFBvb2wgTGlxdWlkaXR5LgkAzAgCCQEMSW50ZWdlckVudHJ5AgIUVG90YWxfUG9vbF9MaXF1aWRpdHkFFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhVNYXNzX1RyYW5zZmVyX0NvdW50ZXIFGFRvdGFsTWFzc1RyYW5zZmVyQ291bnRlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIYVG90YWxfTWFzc19UcmFuc2Zlcl9TZW5kBRVUb3RhbE1hc3NUcmFuc2ZlclNlbmQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkApAMBBRhUb3RhbE1hc3NUcmFuc2ZlckNvdW50ZXICE19NYXNzX1RyYW5zZmVyX1NlbmQFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MFFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQFBHVuaXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MFC25ldHdvcmtfZmVlBQR1bml0BQNuaWwBaQERV2l0aGRyYXdMUEJhbGFuY2UBDldpdGhkcmF3QW1vdW50BBlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwIUVG90YWxfUG9vbF9MaXF1aWRpdHkCJE5vIEluaXRpYWwgUG9vbCBMaXF1aWRpdHkgd2FzIEZvdW5kLgQUdXBkYXRlZF9wb29sX2JhbGFuY2UJAGUCBRlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5BQ5XaXRoZHJhd0Ftb3VudAQZUHJldmlvdXNMUFdpdGhkcmF3Q291bnRlcgQHJG1hdGNoMAkAmggCBQR0aGlzAhNMUF9XaXRoZHJhd19Db3VudGVyAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAABBZUb3RhbExQV2l0aGRyYXdDb3VudGVyCQBkAgUZUHJldmlvdXNMUFdpdGhkcmF3Q291bnRlcgABBBJQcmV2aW91c0xQV2l0aGRyYXcEByRtYXRjaDAJAJoIAgUEdGhpcwIRVG90YWxfTFBfV2l0aGRyYXcDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAAED1RvdGFsTFBXaXRoZHJhdwkAZAIFElByZXZpb3VzTFBXaXRoZHJhdwUOV2l0aGRyYXdBbW91bnQDCQECIT0CCAUBaQZjYWxsZXIFFGxwX3doaXRlbGlzdF9hZGRyZXNzCQACAQkArAICCQCsAgICJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAKUIAQUUbHBfd2hpdGVsaXN0X2FkZHJlc3MCIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4DCQBmAgUOV2l0aGRyYXdBbW91bnQFGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkJAAIBAj5QbGFjZWQgV2l0aGRyYXcgQW1vdW50IFNpemUgaXMgbW9yZSB0aGFuIFRvdGFsIFBvb2wgTGlxdWlkaXR5LgkAzAgCCQEMSW50ZWdlckVudHJ5AgIUVG90YWxfUG9vbF9MaXF1aWRpdHkFFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhNMUF9XaXRoZHJhd19Db3VudGVyBRZUb3RhbExQV2l0aGRyYXdDb3VudGVyCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhFUb3RhbF9MUF9XaXRoZHJhdwUPVG90YWxMUFdpdGhkcmF3CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKQDAQUWVG90YWxMUFdpdGhkcmF3Q291bnRlcgIMX0xQX1dpdGhkcmF3BQ5XaXRoZHJhd0Ftb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBRRscF93aGl0ZWxpc3RfYWRkcmVzcwUOV2l0aGRyYXdBbW91bnQFBHVuaXQFA25pbAECdHgBBnZlcmlmeQAEByRtYXRjaDAFAnR4AwMJAAECBQckbWF0Y2gwAgVPcmRlcgYDCQABAgUHJG1hdGNoMAITRXhjaGFuZ2VUcmFuc2FjdGlvbgYJAAECBQckbWF0Y2gwAhNUcmFuc2ZlclRyYW5zYWN0aW9uBAF0BQckbWF0Y2gwBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleUDdp7I=", "height": 2807152, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8xQzJTZudgLJk66B2PShisYssdn8SGgFx2Wg7ZNTkkZu Next: 6tm7U2jTfq1xwaYKDqNxSM2VoZvABwQkbUbd67bo73Mq Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let user_balance_address = "3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2"
5+
46 let lp_address_pubkey = base58'EXLfxKmqhQPiProBaoPatTentUSZX5Dd8A8bYDcmfNwt'
57
68 let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey)
2022 let minPaymentIdx = min(paymentIdx)
2123 let maxPaymentIdx = max(paymentIdx)
2224 func paymentsValidator (paymentAccum,nextPayment) = {
23- let $t013561393 = paymentAccum
24- let validPayments = $t013561393._1
25- let j = $t013561393._2
25+ let $t014901527 = paymentAccum
26+ let validPayments = $t014901527._1
27+ let j = $t014901527._2
2628 if ((j >= paymentsSize))
2729 then $Tuple2(validPayments, (j + 1))
2830 else {
2931 func amountsAggregator (amountAccum,nextAmount) = {
30- let $t015481577 = amountAccum
31- let amount = $t015481577._1
32- let k = $t015481577._2
32+ let $t016821711 = amountAccum
33+ let amount = $t016821711._1
34+ let k = $t016821711._2
3335 if (if ((k >= recipientsSize))
3436 then true
3537 else (paymentIdx[k] != j))
9496 @Callable(i)
9597 func massTransfer (recipients,amounts,paymentIdx,attachment) = {
9698 let pmt = value(i.payments[0])
99+ let Amount = pmt.amount
100+ let maximum_payout_factor = 18
101+ let Counter = split(attachment, "_")[0]
102+ let CheckTotalFundsAddedInCounter = valueOrErrorMessage(getInteger(addressFromStringValue(user_balance_address), ("Total_Funds_Added_In_Option_Order_" + Counter)), (("Counter ID: " + Counter) + " Not Found."))
103+ let masspayoutlimits = fraction(CheckTotalFundsAddedInCounter, maximum_payout_factor, 10)
97104 if ((i.caller != masstransfer_whitelisted_address))
98105 then throw((("Not an Admin only " + toString(masstransfer_whitelisted_address)) + " can sign it."))
99106 else if (isDefined(pmt.assetId))
100107 then throw("Only Waves is allowed to Attach as payment.")
101108 else if (!(validateMassTransferArguments(recipients, amounts, paymentIdx, i.payments)))
102109 then throw("Invalid arguments")
103- else {
104- let recipientsSize = size(recipients)
105- func scriptTransfersGenerator (accum,next) = {
106- let $t029462978 = accum
107- let scriptTransfers = $t029462978._1
108- let j = $t029462978._2
109- if ((j >= recipientsSize))
110- then $Tuple2(scriptTransfers, (j + 1))
111- else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
110+ else if ((Amount > CheckTotalFundsAddedInCounter))
111+ then throw((("Attached Payment Amount is exceeding more than Maximum Eligible Limit of " + toString(masspayoutlimits)) + " Wavelets."))
112+ else {
113+ let recipientsSize = size(recipients)
114+ func scriptTransfersGenerator (accum,next) = {
115+ let $t036603692 = accum
116+ let scriptTransfers = $t036603692._1
117+ let j = $t036603692._2
118+ if ((j >= recipientsSize))
119+ then $Tuple2(scriptTransfers, (j + 1))
120+ else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
121+ }
122+
123+ let result = {
124+ let $l = amounts
125+ let $s = size($l)
126+ let $acc0 = $Tuple2(nil, 0)
127+ func $f0_1 ($a,$i) = if (($i >= $s))
128+ then $a
129+ else scriptTransfersGenerator($a, $l[$i])
130+
131+ func $f0_2 ($a,$i) = if (($i >= $s))
132+ then $a
133+ else throw("List size exceeds 100")
134+
135+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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)
136+ }
137+ $Tuple2((result._1 ++ [IntegerEntry((Counter + "_Total_Winners"), recipientsSize)]), unit)
112138 }
113-
114- let result = {
115- let $l = amounts
116- let $s = size($l)
117- let $acc0 = $Tuple2(nil, 0)
118- func $f0_1 ($a,$i) = if (($i >= $s))
119- then $a
120- else scriptTransfersGenerator($a, $l[$i])
121-
122- func $f0_2 ($a,$i) = if (($i >= $s))
123- then $a
124- else throw("List size exceeds 100")
125-
126- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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)
127- }
128- $Tuple2(result._1, unit)
129- }
130139 }
131140
132141
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let user_balance_address = "3N1s2w4NHgbrXxNZXH9RtaVT9ptHRJcgSp2"
5+
46 let lp_address_pubkey = base58'EXLfxKmqhQPiProBaoPatTentUSZX5Dd8A8bYDcmfNwt'
57
68 let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey)
79
810 let lp_depositor_address = base58'BY8Zzs9J1T1DuiWMW4QKgbVAC99HYARVSxV4gd8fN7A'
911
1012 let lp_whitelist_address = addressFromPublicKey(lp_depositor_address)
1113
1214 let network_fee = 500000
1315
1416 func validateMassTransferArguments (recipients,amounts,paymentIdx,payments) = {
1517 let recipientsSize = size(recipients)
1618 let amountsSize = size(amounts)
1719 let paymentIdxSize = size(paymentIdx)
1820 let paymentsSize = size(payments)
1921 let minAmount = min(amounts)
2022 let minPaymentIdx = min(paymentIdx)
2123 let maxPaymentIdx = max(paymentIdx)
2224 func paymentsValidator (paymentAccum,nextPayment) = {
23- let $t013561393 = paymentAccum
24- let validPayments = $t013561393._1
25- let j = $t013561393._2
25+ let $t014901527 = paymentAccum
26+ let validPayments = $t014901527._1
27+ let j = $t014901527._2
2628 if ((j >= paymentsSize))
2729 then $Tuple2(validPayments, (j + 1))
2830 else {
2931 func amountsAggregator (amountAccum,nextAmount) = {
30- let $t015481577 = amountAccum
31- let amount = $t015481577._1
32- let k = $t015481577._2
32+ let $t016821711 = amountAccum
33+ let amount = $t016821711._1
34+ let k = $t016821711._2
3335 if (if ((k >= recipientsSize))
3436 then true
3537 else (paymentIdx[k] != j))
3638 then $Tuple2(amount, (k + 1))
3739 else $Tuple2((amount + nextAmount), (k + 1))
3840 }
3941
4042 let aggregatedAmount = {
4143 let $l = amounts
4244 let $s = size($l)
4345 let $acc0 = $Tuple2(0, 0)
4446 func $f0_1 ($a,$i) = if (($i >= $s))
4547 then $a
4648 else amountsAggregator($a, $l[$i])
4749
4850 func $f0_2 ($a,$i) = if (($i >= $s))
4951 then $a
5052 else throw("List size exceeds 100")
5153
5254 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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)
5355 }
5456 if ((aggregatedAmount._1 == nextPayment.amount))
5557 then $Tuple2((validPayments + 1), (j + 1))
5658 else $Tuple2(validPayments, (j + 1))
5759 }
5860 }
5961
6062 let paymentsValidation = {
6163 let $l = payments
6264 let $s = size($l)
6365 let $acc0 = $Tuple2(0, 0)
6466 func $f0_1 ($a,$i) = if (($i >= $s))
6567 then $a
6668 else paymentsValidator($a, $l[$i])
6769
6870 func $f0_2 ($a,$i) = if (($i >= $s))
6971 then $a
7072 else throw("List size exceeds 10")
7173
7274 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
7375 }
7476 if (if (if (if (if (if (if (if ((recipientsSize == amountsSize))
7577 then (recipientsSize == paymentIdxSize)
7678 else false)
7779 then (recipientsSize > 0)
7880 else false)
7981 then (100 >= recipientsSize)
8082 else false)
8183 then (paymentsSize > 0)
8284 else false)
8385 then (minAmount > 0)
8486 else false)
8587 then (minPaymentIdx == 0)
8688 else false)
8789 then (maxPaymentIdx == (paymentsSize - 1))
8890 else false)
8991 then (paymentsValidation._1 == paymentsSize)
9092 else false
9193 }
9294
9395
9496 @Callable(i)
9597 func massTransfer (recipients,amounts,paymentIdx,attachment) = {
9698 let pmt = value(i.payments[0])
99+ let Amount = pmt.amount
100+ let maximum_payout_factor = 18
101+ let Counter = split(attachment, "_")[0]
102+ let CheckTotalFundsAddedInCounter = valueOrErrorMessage(getInteger(addressFromStringValue(user_balance_address), ("Total_Funds_Added_In_Option_Order_" + Counter)), (("Counter ID: " + Counter) + " Not Found."))
103+ let masspayoutlimits = fraction(CheckTotalFundsAddedInCounter, maximum_payout_factor, 10)
97104 if ((i.caller != masstransfer_whitelisted_address))
98105 then throw((("Not an Admin only " + toString(masstransfer_whitelisted_address)) + " can sign it."))
99106 else if (isDefined(pmt.assetId))
100107 then throw("Only Waves is allowed to Attach as payment.")
101108 else if (!(validateMassTransferArguments(recipients, amounts, paymentIdx, i.payments)))
102109 then throw("Invalid arguments")
103- else {
104- let recipientsSize = size(recipients)
105- func scriptTransfersGenerator (accum,next) = {
106- let $t029462978 = accum
107- let scriptTransfers = $t029462978._1
108- let j = $t029462978._2
109- if ((j >= recipientsSize))
110- then $Tuple2(scriptTransfers, (j + 1))
111- else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
110+ else if ((Amount > CheckTotalFundsAddedInCounter))
111+ then throw((("Attached Payment Amount is exceeding more than Maximum Eligible Limit of " + toString(masspayoutlimits)) + " Wavelets."))
112+ else {
113+ let recipientsSize = size(recipients)
114+ func scriptTransfersGenerator (accum,next) = {
115+ let $t036603692 = accum
116+ let scriptTransfers = $t036603692._1
117+ let j = $t036603692._2
118+ if ((j >= recipientsSize))
119+ then $Tuple2(scriptTransfers, (j + 1))
120+ else $Tuple2((scriptTransfers :+ ScriptTransfer(addressFromStringValue(recipients[j]), next, i.payments[paymentIdx[j]].assetId)), (j + 1))
121+ }
122+
123+ let result = {
124+ let $l = amounts
125+ let $s = size($l)
126+ let $acc0 = $Tuple2(nil, 0)
127+ func $f0_1 ($a,$i) = if (($i >= $s))
128+ then $a
129+ else scriptTransfersGenerator($a, $l[$i])
130+
131+ func $f0_2 ($a,$i) = if (($i >= $s))
132+ then $a
133+ else throw("List size exceeds 100")
134+
135+ $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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)
136+ }
137+ $Tuple2((result._1 ++ [IntegerEntry((Counter + "_Total_Winners"), recipientsSize)]), unit)
112138 }
113-
114- let result = {
115- let $l = amounts
116- let $s = size($l)
117- let $acc0 = $Tuple2(nil, 0)
118- func $f0_1 ($a,$i) = if (($i >= $s))
119- then $a
120- else scriptTransfersGenerator($a, $l[$i])
121-
122- func $f0_2 ($a,$i) = if (($i >= $s))
123- then $a
124- else throw("List size exceeds 100")
125-
126- $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 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)
127- }
128- $Tuple2(result._1, unit)
129- }
130139 }
131140
132141
133142
134143 @Callable(i)
135144 func AddPoolLiquidity () = {
136145 let calleraddress = toBase58String(i.caller.bytes)
137146 let pmt = if ((size(i.payments) == 1))
138147 then i.payments[0]
139148 else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].")
140149 let PreviousFundsAddedToPoolbyCompany = match getInteger(this, "Total_LP_Added") {
141150 case a: Int =>
142151 a
143152 case _ =>
144153 0
145154 }
146155 let TotalFundsAddedToPoolbyCompany = (PreviousFundsAddedToPoolbyCompany + pmt.amount)
147156 let PreviousPoolLiquidity = match getInteger(this, "Total_Pool_Liquidity") {
148157 case a: Int =>
149158 a
150159 case _ =>
151160 0
152161 }
153162 let TotalPoolLiquidity = (PreviousPoolLiquidity + pmt.amount)
154163 let PreviousLPDepositCounter = match getInteger(this, "LP_Deposit_Counter") {
155164 case a: Int =>
156165 a
157166 case _ =>
158167 0
159168 }
160169 let TotalLPDepositCounter = (PreviousLPDepositCounter + 1)
161170 if ((i.caller != lp_whitelist_address))
162171 then throw((("This Address is not Authorized. Only " + toString(lp_whitelist_address)) + " is Authorized Address to Sign it."))
163172 else if (isDefined(pmt.assetId))
164173 then throw("Only WAVES is allowed to deposit at the moment")
165174 else [IntegerEntry("Total_Pool_Liquidity", TotalPoolLiquidity), IntegerEntry("LP_Deposit_Counter", TotalLPDepositCounter), IntegerEntry("Total_LP_Added", TotalFundsAddedToPoolbyCompany)]
166175 }
167176
168177
169178
170179 @Callable(i)
171180 func UpdateLPBalance (PaidMassTransferAmount) = {
172181 let read_account_balance = wavesBalance(this).regular
173182 let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
174183 let received_order_amount = ((read_account_balance - read_total_pool_liquidity) - network_fee)
175184 let updated_pool_balance = ((read_total_pool_liquidity - PaidMassTransferAmount) + received_order_amount)
176185 let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") {
177186 case a: Int =>
178187 a
179188 case _ =>
180189 0
181190 }
182191 let TotalMassTransferCounter = (PreviousMassTransferCounter + 1)
183192 let PreviousMassTransferSend = match getInteger(this, "Total_Mass_Transfer_Send") {
184193 case a: Int =>
185194 a
186195 case _ =>
187196 0
188197 }
189198 let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount)
190199 if ((i.caller != masstransfer_whitelisted_address))
191200 then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it."))
192201 else if ((PaidMassTransferAmount > read_total_pool_liquidity))
193202 then throw("Placed Mass Transfer Amount Size is more than Total Pool Liquidity.")
194203 else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("Mass_Transfer_Counter", TotalMassTransferCounter), IntegerEntry("Total_Mass_Transfer_Send", TotalMassTransferSend), IntegerEntry((toString(TotalMassTransferCounter) + "_Mass_Transfer_Send"), PaidMassTransferAmount), ScriptTransfer(masstransfer_whitelisted_address, PaidMassTransferAmount, unit), ScriptTransfer(masstransfer_whitelisted_address, network_fee, unit)]
195204 }
196205
197206
198207
199208 @Callable(i)
200209 func WithdrawLPBalance (WithdrawAmount) = {
201210 let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.")
202211 let updated_pool_balance = (read_total_pool_liquidity - WithdrawAmount)
203212 let PreviousLPWithdrawCounter = match getInteger(this, "LP_Withdraw_Counter") {
204213 case a: Int =>
205214 a
206215 case _ =>
207216 0
208217 }
209218 let TotalLPWithdrawCounter = (PreviousLPWithdrawCounter + 1)
210219 let PreviousLPWithdraw = match getInteger(this, "Total_LP_Withdraw") {
211220 case a: Int =>
212221 a
213222 case _ =>
214223 0
215224 }
216225 let TotalLPWithdraw = (PreviousLPWithdraw + WithdrawAmount)
217226 if ((i.caller != lp_whitelist_address))
218227 then throw((("This Address is not Authorized. Only " + toString(lp_whitelist_address)) + " is Authorized Address to Sign it."))
219228 else if ((WithdrawAmount > read_total_pool_liquidity))
220229 then throw("Placed Withdraw Amount Size is more than Total Pool Liquidity.")
221230 else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("LP_Withdraw_Counter", TotalLPWithdrawCounter), IntegerEntry("Total_LP_Withdraw", TotalLPWithdraw), IntegerEntry((toString(TotalLPWithdrawCounter) + "_LP_Withdraw"), WithdrawAmount), ScriptTransfer(lp_whitelist_address, WithdrawAmount, unit)]
222231 }
223232
224233
225234 @Verifier(tx)
226235 func verify () = match tx {
227236 case t: Order|ExchangeTransaction|TransferTransaction =>
228237 false
229238 case _ =>
230239 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
231240 }
232241

github/deemru/w8io/026f985 
61.28 ms