tx · 2P2xtKzJuduYTNg4Q2aTTcV5c1KzR7LTsmL4FhnS7SMu

3PEaajAdZgWe9GzPKxUEtPrJbx8PMvzXeD8:  -0.01000000 Waves

2022.06.06 23:29 [3150558] smart account 3PEaajAdZgWe9GzPKxUEtPrJbx8PMvzXeD8 > SELF 0.00000000 Waves

{ "type": 13, "id": "2P2xtKzJuduYTNg4Q2aTTcV5c1KzR7LTsmL4FhnS7SMu", "fee": 1000000, "feeAssetId": null, "timestamp": 1654547428503, "version": 2, "chainId": 87, "sender": "3PEaajAdZgWe9GzPKxUEtPrJbx8PMvzXeD8", "senderPublicKey": "By6rgESEhXR1GdtDUQ6fhRQZ4GJVwAzJn89sWhBrTWzq", "proofs": [ "3CwBsitncKqumwdMi2uf66WiCxAayjGSXFVCGP4g2DdD7avKyMCZKZ3igBDwz8CEdAqtCQRcm6mUowtEhwdEYZDm" ], "script": "base64:AAIFAAAAAAAAABsIAhIAEgUKAwgICBIDCgEBEgASBwoFCAgBAQEAAAALAAAAAARCVXNkAQAAACBrKxJLUQo7JCgQppbMVKNCw/AufUIO4YVSVrkcgR91JAAAAAAEVVNEVAEAAAAgHpQHE1J2oSWV/chhqIJfEH/fOk8pu/yaRj9a/TZPn5EAAAAABFVTREMBAAAAIFIz2eGXiCbl4h/C/eqINLiHdqOMsYPvyGAcfgoSVCYlAAAAAANCVEMBAAAAIGz6av/F7aqMC3+1KpPSogwvgoLbdHoEjFP7/RMfc6D/AAAAAANFVEgBAAAAIC4gw/bqip+JUbu/6IgREzbsftjCQgNyZQ1YzXMmQmWCAAAAAANCTkIBAAAAIEJ8rxmATuoGwFCiDHNyNDbtLd0cKnI4IqY4mBjlfBNOAAAAAARVU0ROAQAAACC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QAAAAAESEFTSAEAAAAgX3iMjdOnoQtbxYxqBxGBLUzdcDMkwVLPmL43uAhAeWsAAAAABEtVU0QBAAAAINfvY0HxNFX9HI6QPSX2/YZEIyzcX0xrvAex0ULBl2gJAAAAAAhkQXBwRmVlcwEAAAAaAVeaawGX6Z7YZjatmTG8LOOB7ZemRJhtvIsAAAAACUFkbWluZEFwcAEAAAAaAVeaawGX6Z7YZjatmTG8LOOB7ZemRJhtvIsAAAAFAAAAAWkBAAAABVJlc2V0AAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACF9QYXltZW50AAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAIX1BhaWR0cngAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAlfTGFzdFBhaWQFAAAABmhlaWdodAUAAAADbmlsAAAAAWkBAAAADERlcG9zaXRGdW5kcwAAAAMAAAAJU2NvcGVEZXNjAAAADERlbGl2ZXJhYmxlcwAAABFGcmVlbGFuY2VyQWRkcmVzcwQAAAARRnJlZUxhbmNlclBheW1lbnQJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGF5bWVudAQAAAAGYW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEUZyZWVMYW5jZXJQYXltZW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAADCQEAAAACIT0AAAACBQAAAAZhbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAABAWW91IGhhdmUgYWxyZWFkeSBkZXBvc2l0ZWQgZnVuZHMsIGRlcG9zaXRzIGNhbiBvbmx5IGJlIGRvbmUgb25jZQQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAAHEF0dGFjaGVkIHBheW1lbnQgaXMgcmVxdWlyZWQDAwMDAwMDAwMDAwkAAGcAAAACAAAAAAAAAAAACAUAAAADcG10AAAABmFtb3VudAkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARCVXNkBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARVU0RUBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARVU0RDBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAANCVEMHCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAA0VUSAcJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAADQk5CBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARVU0ROBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARIQVNIBwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAdhc3NldElkBQAAAARLVVNEBwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAcJAAACAAAAAQIAAAA/Q2FuIG9ubHkgZGVwb3NpdCBhY2NlcHRlZCB0b2tlbnMsIGFuZCBhbW91bnQgc2hvdWxkIGJlIHBvc2l0aXZlAwMDCQAAAAAAAAIFAAAACVNjb3BlRGVzYwIAAAAABgkAAAAAAAACBQAAAAxEZWxpdmVyYWJsZXMCAAAAAAYJAAAAAAAAAgUAAAARRnJlZWxhbmNlckFkZHJlc3MCAAAAAAkAAAIAAAABAgAAAEpKb2IgU2NvcGUsIERlbGl2ZXJhYmxlcyBkZXNjIGFuZCBGcmVlbGFuY2VyIFdhbGxldCBBZGRyZXNzIGNhbm5vdCBiZSBlbXB0eQQAAAAJQXNzZXRVc2VkAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQCAAAABVdhdmVzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAZfU2NvcGUFAAAACVNjb3BlRGVzYwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAGX0RlbGl2BQAAAAxEZWxpdmVyYWJsZXMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAABl9Bc3NldAUAAAAJQXNzZXRVc2VkCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAtfRnJlZWxhbmNlcgUAAAARRnJlZWxhbmNlckFkZHJlc3MJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGF5bWVudAgFAAAAA3BtdAAAAAZhbW91bnQFAAAAA25pbAAAAAFpAQAAAA1QYXlGcmVlbGFuY2VyAAAAAQAAAA1QYXlGcmVlbGFuY2VyBAAAABFGcmVlTGFuY2VyUGF5bWVudAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACF9QYXltZW50BAAAABFGcmVlbGFuY2VyQWRkcmVzcwkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAAC19GcmVlbGFuY2VyBAAAAAxQYXltZW50QXNzZXQJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAZfQXNzZXQEAAAAB1BhaWR0cngJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGFpZHRyeAQAAAAGYW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEUZyZWVMYW5jZXJQYXltZW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAC1BhaWR0cnhMYXN0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAB1BhaWR0cngDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAURnJlZWxhbmNlckFkZHJlc3NTdHIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAAEUZyZWVsYW5jZXJBZGRyZXNzBAAAAA5QYXltZW50QXNzZXRJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAMUGF5bWVudEFzc2V0BAAAAAlNeWRlY2ltYWwDAwMDCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAABEJVc2QGCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAABFVTRFQGCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAABFVTREMGCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAABFVTRE4AAAAAAAAPQkAAAAAAAAX14QAEAAAAEUFkZHJlc3NGcmVlTGFuY2VyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABRGcmVlbGFuY2VyQWRkcmVzc1N0cgQAAAAJZEFwcEZyZWVzCQEAAAAHQWRkcmVzcwAAAAEFAAAACGRBcHBGZWVzBAAAAAlBc3NldFVzZWQDCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkAgAAAAVXYXZlcwUAAAAEdW5pdAkAAlkAAAABBQAAAA5QYXltZW50QXNzZXRJZAMJAABnAAAAAgAAAAAAAAAAAAkAAGUAAAACCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAXwUAAAAGYW1vdW50AAAAAAAAAABkCQAAaAAAAAIFAAAADVBheUZyZWVsYW5jZXIFAAAACU15ZGVjaW1hbAkAAAIAAAABCQABLAAAAAICAAAASFlvdSBkbyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMgdG8gbWFrZSBwYXltZW50LCB5b3VyIGF2YWlsYWJsZSBmdW5kcyBhcmU6IAkAAaQAAAABCQAAaQAAAAIFAAAABmFtb3VudAUAAAAJTXlkZWNpbWFsCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAFTk9XOyAJAAGkAAAAAQUAAAAGYW1vdW50AgAAAAEgCQABpAAAAAEJAABpAAAAAgkAAGgAAAACAAAAAAAAAABfBQAAAAZhbW91bnQAAAAAAAAAAGQCAAAAASAJAAGkAAAAAQkAAGgAAAACBQAAAA1QYXlGcmVlbGFuY2VyBQAAAAlNeWRlY2ltYWwCAAAAASAJAAGkAAAAAQkAAGUAAAACCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAXwUAAAAGYW1vdW50AAAAAAAAAABkCQAAaAAAAAIFAAAADVBheUZyZWVsYW5jZXIFAAAACU15ZGVjaW1hbAAAAAFpAQAAABVQYXlGcmVlbGFuY2VyT25EZW1hbmQAAAAABAAAAA1QYXlGcmVlbGFuY2VyAAAAAAAAAAAEBAAAAANGZWUAAAAAAAAAAAEEAAAACFdhaXRUaW1lAAAAAAAAAAAKBAAAABFGcmVlTGFuY2VyUGF5bWVudAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACF9QYXltZW50BAAAABFGcmVlbGFuY2VyQWRkcmVzcwkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAAC19GcmVlbGFuY2VyBAAAABBMYXN0UGF5bWVudEJsb2NrCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAJX0xhc3RQYWlkBAAAAAxQYXltZW50QXNzZXQJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAZfQXNzZXQEAAAAB1BhaWR0cngJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGFpZHRyeAQAAAAGYW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEUZyZWVMYW5jZXJQYXltZW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAC1BhaWR0cnhMYXN0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAB1BhaWR0cngDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVTGFzdFBheW1lbnRCbG9ja1ZhbHVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEExhc3RQYXltZW50QmxvY2sDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQUAAAAGaGVpZ2h0BAAAABRGcmVlbGFuY2VyQWRkcmVzc1N0cgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAARRnJlZWxhbmNlckFkZHJlc3MEAAAADlBheW1lbnRBc3NldElkCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAxQYXltZW50QXNzZXQEAAAAEUFkZHJlc3NGcmVlTGFuY2VyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABRGcmVlbGFuY2VyQWRkcmVzc1N0cgQAAAAJZEFwcEZyZWVzCQEAAAAHQWRkcmVzcwAAAAEFAAAACGRBcHBGZWVzBAAAAAlBc3NldFVzZWQDCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkAgAAAAVXYXZlcwUAAAAEdW5pdAkAAlkAAAABBQAAAA5QYXltZW50QXNzZXRJZAQAAAAJTXlkZWNpbWFsAwMDAwkAAAAAAAACBQAAAA5QYXltZW50QXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAARCVXNkBgkAAAAAAAACBQAAAA5QYXltZW50QXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAARVU0RUBgkAAAAAAAACBQAAAA5QYXltZW50QXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAARVU0RDBgkAAAAAAAACBQAAAA5QYXltZW50QXNzZXRJZAkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAARVU0ROAAAAAAAAD0JAAAAAAAAF9eEAAwkAAGcAAAACAAAAAAAAAAAACQAAZQAAAAIFAAAABmFtb3VudAkAAGgAAAACBQAAAANGZWUFAAAACU15ZGVjaW1hbAkAAAIAAAABCQABLAAAAAICAAAASFlvdSBkbyBub3QgaGF2ZSBlbm91Z2ggZnVuZHMgdG8gbWFrZSBwYXltZW50LCB5b3VyIGF2YWlsYWJsZSBmdW5kcyBhcmU6IAkAAaQAAAABCQAAaQAAAAIFAAAABmFtb3VudAAAAAAABfXhAAMDCQAAZgAAAAIJAABkAAAAAgUAAAAVTGFzdFBheW1lbnRCbG9ja1ZhbHVlBQAAAAhXYWl0VGltZQUAAAAGaGVpZ2h0CQAAZgAAAAIFAAAAC1BhaWR0cnhMYXN0AAAAAAAAAAABBwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABtDYW5ub3QgbWFrZSBQYXltZW50IGJlZm9yZSAJAAGkAAAAAQUAAAAVTGFzdFBheW1lbnRCbG9ja1ZhbHVlAgAAAAQgbWluCQABpAAAAAEFAAAACFdhaXRUaW1lBAAAAAdGZWVQYWlkCQAAaAAAAAIFAAAAA0ZlZQUAAAAJTXlkZWNpbWFsBAAAAAxQYWlkdHJ4VmFsdWUDCQAAAAAAAAIFAAAAC1BhaWR0cnhMYXN0AAAAAAAAAAADAAAAAAAAAAAACQAAZAAAAAIFAAAAC1BhaWR0cnhMYXN0AAAAAAAAAAABBAAAAAtVc2VyQWNjb3VudAMJAAAAAAAAAgUAAAALUGFpZHRyeExhc3QAAAAAAAAAAAMAAAAAAAAAAAAJAABlAAAAAgkAAGUAAAACBQAAAAZhbW91bnQJAABoAAAAAgUAAAADRmVlBQAAAAlNeWRlY2ltYWwJAABpAAAAAgkAAGgAAAACCQAAaAAAAAIFAAAADFBhaWR0cnhWYWx1ZQAAAAAAAAAAGQkAAGUAAAACBQAAAAZhbW91bnQJAABoAAAAAgUAAAADRmVlBQAAAAlNeWRlY2ltYWwAAAAAAAAAAGQEAAAAEVBheW1lbnQyRnJlZWxhbmNlCQAAaQAAAAIJAABoAAAAAgAAAAAAAAAAGQUAAAAGYW1vdW50AAAAAAAAAABkCQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGF5bWVudAUAAAALVXNlckFjY291bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAhfUGFpZHRyeAUAAAAMUGFpZHRyeFZhbHVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAJX0xhc3RQYWlkBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAACFdhaXRUaW1lBQAAAAhXYWl0VGltZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVTGFzdFBheW1lbnRCbG9ja1ZhbHVlBQAAABVMYXN0UGF5bWVudEJsb2NrVmFsdWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABUNoZWNrCQAAZAAAAAIFAAAAFUxhc3RQYXltZW50QmxvY2tWYWx1ZQUAAAAIV2FpdFRpbWUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARQWRkcmVzc0ZyZWVMYW5jZXIFAAAAEVBheW1lbnQyRnJlZWxhbmNlBQAAAAlBc3NldFVzZWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAJZEFwcEZyZWVzBQAAAAdGZWVQYWlkBQAAAAlBc3NldFVzZWQFAAAAA25pbAUAAAAJQXNzZXRVc2VkAAAAAWkBAAAADUFkbWluVHJhbnNmZXIAAAAFAAAABFVzZXIAAAAKRnJlZWxhbmNlcgAAAAxUb0ZyZWVsYW5jZXIAAAAGVG9Vc2VyAAAACEFkbWluRmVlAwkBAAAAAiE9AAAAAggIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwUAAAAJQWRtaW5kQXBwCQAAAgAAAAECAAAAFk9ubHkgQWRtaW4gY2FuIGRvIHRoaXMDCQEAAAACIT0AAAACCQAAZAAAAAIJAABkAAAAAgUAAAAGVG9Vc2VyBQAAAAxUb0ZyZWVsYW5jZXIFAAAACEFkbWluRmVlAAAAAAAAAABkCQAAAgAAAAECAAAAMlRvdGFsIG9mIFBlcmNlbnRhZ2VzIGNhbm5vdCBiZSBkaWZmZXJlbnQgZnJvbSAxMDAlBAAAABFGcmVlTGFuY2VyUGF5bWVudAkAASwAAAACBQAAAARVc2VyAgAAAAhfUGF5bWVudAQAAAARRnJlZWxhbmNlckFkZHJlc3MJAAEsAAAAAgUAAAAEVXNlcgIAAAALX0ZyZWVsYW5jZXIEAAAADFBheW1lbnRBc3NldAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAABl9Bc3NldAQAAAAGYW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAEUZyZWVMYW5jZXJQYXltZW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFEZyZWVsYW5jZXJBZGRyZXNzU3RyCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAABFGcmVlbGFuY2VyQWRkcmVzcwQAAAARQWRkcmVzc0ZyZWVMYW5jZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAFEZyZWVsYW5jZXJBZGRyZXNzU3RyBAAAAA5QYXltZW50QXNzZXRJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAAMUGF5bWVudEFzc2V0BAAAAAlkQXBwRnJlZXMJAQAAAAdBZGRyZXNzAAAAAQUAAAAIZEFwcEZlZXMEAAAAC0FkZHJlc3NVc2VyCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAARVc2VyBAAAAAlBc3NldFVzZWQDCQAAAAAAAAIFAAAADlBheW1lbnRBc3NldElkAgAAAAVXYXZlcwUAAAAEdW5pdAkAAlkAAAABBQAAAA5QYXltZW50QXNzZXRJZAMJAAAAAAAAAgUAAAAGYW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAL1VzZXIncyBiYWxhbmNlIGlzIDAsIGNhbm5vdCByZWFsaXplIGFueSBwYXltZW50CQAFFAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEVXNlcgIAAAAIX1BheW1lbnQAAAAAAAAAAAAJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAARQWRkcmVzc0ZyZWVMYW5jZXIJAABpAAAAAgkAAGgAAAACBQAAAAxUb0ZyZWVsYW5jZXIFAAAABmFtb3VudAAAAAAAAAAAZAUAAAAJQXNzZXRVc2VkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC0FkZHJlc3NVc2VyCQAAaQAAAAIJAABoAAAAAgUAAAAGVG9Vc2VyBQAAAAZhbW91bnQAAAAAAAAAAGQFAAAACUFzc2V0VXNlZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAlkQXBwRnJlZXMJAABpAAAAAgkAAGgAAAACBQAAAAhBZG1pbkZlZQUAAAAGYW1vdW50AAAAAAAAAABkBQAAAAlBc3NldFVzZWQFAAAAA25pbAUAAAAJQXNzZXRVc2VkAAAAAOsAN0U=", "height": 3150558, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: vSbCf6D168UMo5yS6Cn1811Fb1UvkE1nkZrNAqVojgR Next: 8r8UjV1BfSEEYJdrHhbqkhMnaAhhXFyKC7HwWhyiPXzk Diff:
OldNewDifferences
116116 let AssetUsed = if ((PaymentAssetId == "Waves"))
117117 then unit
118118 else fromBase58String(PaymentAssetId)
119- if (((((95 * amount) / 100) - (PayFreelancer * Mydecimal)) > 0))
119+ if ((0 >= (((95 * amount) / 100) - (PayFreelancer * Mydecimal))))
120120 then throw(("You do not have enough funds to make payment, your available funds are: " + toString((amount / Mydecimal))))
121121 else throw(((((((("NOW; " + toString(amount)) + " ") + toString(((95 * amount) / 100))) + " ") + toString((PayFreelancer * Mydecimal))) + " ") + toString((((95 * amount) / 100) - (PayFreelancer * Mydecimal)))))
122122 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let BUsd = base58'8DLiYZjo3UUaRBTHU7Ayoqg4ihwb6YH1AfXrrhdjQ7K1'
55
66 let USDT = base58'34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ'
77
88 let USDC = base58'6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ'
99
1010 let BTC = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS'
1111
1212 let ETH = base58'474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu'
1313
1414 let BNB = base58'5UYBPpq4WoU5n4MwpFkgJnW3Fq4B1u3ukpK33ik4QerR'
1515
1616 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1717
1818 let HASH = base58'7RgM3A5AVCUZFbL3EwBicv1eHFCVsaY8z71yda77zrAv'
1919
2020 let KUSD = base58'FXvNWA5Gfy8yLPHGScm6Gmn4DSZX9brFZ9qmEkPxAhGk'
2121
2222 let dAppFees = base58'3PG1NyiC2rdgX46jb8c5zPGuEAzWXhr4L2W'
2323
2424 let AdmindApp = base58'3PG1NyiC2rdgX46jb8c5zPGuEAzWXhr4L2W'
2525
2626 @Callable(i)
2727 func Reset () = [IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), 0), IntegerEntry((toBase58String(i.caller.bytes) + "_Paidtrx"), 0), IntegerEntry((toBase58String(i.caller.bytes) + "_LastPaid"), height)]
2828
2929
3030
3131 @Callable(i)
3232 func DepositFunds (ScopeDesc,Deliverables,FreelancerAddress) = {
3333 let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
3434 let amount = match getInteger(this, FreeLancerPayment) {
3535 case a: Int =>
3636 a
3737 case _ =>
3838 0
3939 }
4040 if ((amount != 0))
4141 then throw("You have already deposited funds, deposits can only be done once")
4242 else {
4343 let pmt = if ((size(i.payments) == 1))
4444 then i.payments[0]
4545 else throw("Attached payment is required")
4646 if (if (if (if (if (if (if (if (if (if (if ((0 >= pmt.amount))
4747 then (pmt.assetId != BUsd)
4848 else false)
4949 then (pmt.assetId != USDT)
5050 else false)
5151 then (pmt.assetId != USDC)
5252 else false)
5353 then (pmt.assetId != BTC)
5454 else false)
5555 then (pmt.assetId != ETH)
5656 else false)
5757 then (pmt.assetId != BNB)
5858 else false)
5959 then (pmt.assetId != USDN)
6060 else false)
6161 then (pmt.assetId != HASH)
6262 else false)
6363 then (pmt.assetId != KUSD)
6464 else false)
6565 then isDefined(pmt.assetId)
6666 else false)
6767 then throw("Can only deposit accepted tokens, and amount should be positive")
6868 else if (if (if ((ScopeDesc == ""))
6969 then true
7070 else (Deliverables == ""))
7171 then true
7272 else (FreelancerAddress == ""))
7373 then throw("Job Scope, Deliverables desc and Freelancer Wallet Address cannot be empty")
7474 else {
7575 let AssetUsed = if (isDefined(pmt.assetId))
7676 then toBase58String(value(pmt.assetId))
7777 else "Waves"
7878 [StringEntry((toBase58String(i.caller.bytes) + "_Scope"), ScopeDesc), StringEntry((toBase58String(i.caller.bytes) + "_Deliv"), Deliverables), StringEntry((toBase58String(i.caller.bytes) + "_Asset"), AssetUsed), StringEntry((toBase58String(i.caller.bytes) + "_Freelancer"), FreelancerAddress), IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), pmt.amount)]
7979 }
8080 }
8181 }
8282
8383
8484
8585 @Callable(i)
8686 func PayFreelancer (PayFreelancer) = {
8787 let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
8888 let FreelancerAddress = (toBase58String(i.caller.bytes) + "_Freelancer")
8989 let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
9090 let Paidtrx = (toBase58String(i.caller.bytes) + "_Paidtrx")
9191 let amount = match getInteger(this, FreeLancerPayment) {
9292 case a: Int =>
9393 a
9494 case _ =>
9595 0
9696 }
9797 let PaidtrxLast = match getInteger(this, Paidtrx) {
9898 case a: Int =>
9999 a
100100 case _ =>
101101 0
102102 }
103103 let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
104104 let PaymentAssetId = getStringValue(this, PaymentAsset)
105105 let Mydecimal = if (if (if (if ((PaymentAssetId == toBase58String(value(BUsd))))
106106 then true
107107 else (PaymentAssetId == toBase58String(value(USDT))))
108108 then true
109109 else (PaymentAssetId == toBase58String(value(USDC))))
110110 then true
111111 else (PaymentAssetId == toBase58String(value(USDN))))
112112 then 1000000
113113 else 100000000
114114 let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
115115 let dAppFrees = Address(dAppFees)
116116 let AssetUsed = if ((PaymentAssetId == "Waves"))
117117 then unit
118118 else fromBase58String(PaymentAssetId)
119- if (((((95 * amount) / 100) - (PayFreelancer * Mydecimal)) > 0))
119+ if ((0 >= (((95 * amount) / 100) - (PayFreelancer * Mydecimal))))
120120 then throw(("You do not have enough funds to make payment, your available funds are: " + toString((amount / Mydecimal))))
121121 else throw(((((((("NOW; " + toString(amount)) + " ") + toString(((95 * amount) / 100))) + " ") + toString((PayFreelancer * Mydecimal))) + " ") + toString((((95 * amount) / 100) - (PayFreelancer * Mydecimal)))))
122122 }
123123
124124
125125
126126 @Callable(i)
127127 func PayFreelancerOnDemand () = {
128128 let PayFreelancer = 4
129129 let Fee = 1
130130 let WaitTime = 10
131131 let FreeLancerPayment = (toBase58String(i.caller.bytes) + "_Payment")
132132 let FreelancerAddress = (toBase58String(i.caller.bytes) + "_Freelancer")
133133 let LastPaymentBlock = (toBase58String(i.caller.bytes) + "_LastPaid")
134134 let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
135135 let Paidtrx = (toBase58String(i.caller.bytes) + "_Paidtrx")
136136 let amount = match getInteger(this, FreeLancerPayment) {
137137 case a: Int =>
138138 a
139139 case _ =>
140140 0
141141 }
142142 let PaidtrxLast = match getInteger(this, Paidtrx) {
143143 case a: Int =>
144144 a
145145 case _ =>
146146 0
147147 }
148148 let LastPaymentBlockValue = match getInteger(this, LastPaymentBlock) {
149149 case a: Int =>
150150 a
151151 case _ =>
152152 height
153153 }
154154 let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
155155 let PaymentAssetId = getStringValue(this, PaymentAsset)
156156 let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
157157 let dAppFrees = Address(dAppFees)
158158 let AssetUsed = if ((PaymentAssetId == "Waves"))
159159 then unit
160160 else fromBase58String(PaymentAssetId)
161161 let Mydecimal = if (if (if (if ((PaymentAssetId == toBase58String(value(BUsd))))
162162 then true
163163 else (PaymentAssetId == toBase58String(value(USDT))))
164164 then true
165165 else (PaymentAssetId == toBase58String(value(USDC))))
166166 then true
167167 else (PaymentAssetId == toBase58String(value(USDN))))
168168 then 1000000
169169 else 100000000
170170 if ((0 >= (amount - (Fee * Mydecimal))))
171171 then throw(("You do not have enough funds to make payment, your available funds are: " + toString((amount / 100000000))))
172172 else if (if (((LastPaymentBlockValue + WaitTime) > height))
173173 then (PaidtrxLast > 1)
174174 else false)
175175 then throw(((("Cannot make Payment before " + toString(LastPaymentBlockValue)) + " min") + toString(WaitTime)))
176176 else {
177177 let FeePaid = (Fee * Mydecimal)
178178 let PaidtrxValue = if ((PaidtrxLast == 3))
179179 then 0
180180 else (PaidtrxLast + 1)
181181 let UserAccount = if ((PaidtrxLast == 3))
182182 then 0
183183 else ((amount - (Fee * Mydecimal)) - (((PaidtrxValue * 25) * (amount - (Fee * Mydecimal))) / 100))
184184 let Payment2Freelance = ((25 * amount) / 100)
185185 $Tuple2([IntegerEntry((toBase58String(i.caller.bytes) + "_Payment"), UserAccount), IntegerEntry((toBase58String(i.caller.bytes) + "_Paidtrx"), PaidtrxValue), IntegerEntry((toBase58String(i.caller.bytes) + "_LastPaid"), height), IntegerEntry("WaitTime", WaitTime), IntegerEntry("LastPaymentBlockValue", LastPaymentBlockValue), IntegerEntry("Check", (LastPaymentBlockValue + WaitTime)), ScriptTransfer(AddressFreeLancer, Payment2Freelance, AssetUsed), ScriptTransfer(dAppFrees, FeePaid, AssetUsed)], AssetUsed)
186186 }
187187 }
188188
189189
190190
191191 @Callable(i)
192192 func AdminTransfer (User,Freelancer,ToFreelancer,ToUser,AdminFee) = if ((i.caller.bytes != AdmindApp))
193193 then throw("Only Admin can do this")
194194 else if ((((ToUser + ToFreelancer) + AdminFee) != 100))
195195 then throw("Total of Percentages cannot be different from 100%")
196196 else {
197197 let FreeLancerPayment = (User + "_Payment")
198198 let FreelancerAddress = (User + "_Freelancer")
199199 let PaymentAsset = (toBase58String(i.caller.bytes) + "_Asset")
200200 let amount = match getInteger(this, FreeLancerPayment) {
201201 case a: Int =>
202202 a
203203 case _ =>
204204 0
205205 }
206206 let FreelancerAddressStr = getStringValue(this, FreelancerAddress)
207207 let AddressFreeLancer = addressFromStringValue(FreelancerAddressStr)
208208 let PaymentAssetId = getStringValue(this, PaymentAsset)
209209 let dAppFrees = Address(dAppFees)
210210 let AddressUser = addressFromStringValue(User)
211211 let AssetUsed = if ((PaymentAssetId == "Waves"))
212212 then unit
213213 else fromBase58String(PaymentAssetId)
214214 if ((amount == 0))
215215 then throw("User's balance is 0, cannot realize any payment")
216216 else $Tuple2([IntegerEntry((User + "_Payment"), 0), ScriptTransfer(AddressFreeLancer, ((ToFreelancer * amount) / 100), AssetUsed), ScriptTransfer(AddressUser, ((ToUser * amount) / 100), AssetUsed), ScriptTransfer(dAppFrees, ((AdminFee * amount) / 100), AssetUsed)], AssetUsed)
217217 }
218218
219219

github/deemru/w8io/3ef1775 
164.41 ms