tx · 3mG3VAiCy8G4PSDEeY9BENCMwDs4an2cMfP1QdA59f5R

3My9Kd9gApw3GCoz2KWSZPiTRNzDsNE2eeh:  -0.01000000 Waves

2021.02.14 20:51 [1398148] smart account 3My9Kd9gApw3GCoz2KWSZPiTRNzDsNE2eeh > SELF 0.00000000 Waves

{ "type": 13, "id": "3mG3VAiCy8G4PSDEeY9BENCMwDs4an2cMfP1QdA59f5R", "fee": 1000000, "feeAssetId": null, "timestamp": 1613325101806, "version": 2, "chainId": 84, "sender": "3My9Kd9gApw3GCoz2KWSZPiTRNzDsNE2eeh", "senderPublicKey": "BjjwtwUgZ4s8p9HJuFwyRMR3egd3zMAHGDV2HoZ1J7ho", "proofs": [ "kpUuzU7UL4NpJv3B354zPJG67PnMXdpG22fShwMoiFi3H97gQRqRvaczRtp1VmuDpp92nv2oBh8Y6AXQR5542Ry" ], "script": "base64:AAIDAAAAAAAAABEIARIAEgYKBAgCAgISAwoBCAAAAB4AAAAADWdhbWVQdWJsaWNLZXkJAAJZAAAAAQIAAAAsQmpqd3R3VWdaNHM4cDlISnVGd3lSTVIzZWdkM3pNQUhHRFYySG9aMUo3aG8AAAAAFmRpdmlkZW5kUHJvZ3JhbUFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQIAAAAsODVXUnluRjRjd0h1cm1KaFlTNGJhV3VTQ3UxRDJNc3Y4aTM3ZzhzOERQRk4AAAAADXJzYVB1YmxpY0tleTEJAAJbAAAAAQIAAACATUZ3d0RRWUpLb1pJaHZjTkFRRUJCUUFEU3dBd1NBSkJBT2tpdXovQlY0RWpveEdoVG1OQ2J0MlRna2JTUEgvdzY5YjNGMXJLbUQ2MUppUFh2dkY4TDJwSTl4T1ljVzRGbW9FWlZIbFJRdEFsYUp5a2wzK3JzckVDQXdFQUFRPT0AAAAADXJzYVB1YmxpY0tleTIJAAJbAAAAAQIAAACATUZ3d0RRWUpLb1pJaHZjTkFRRUJCUUFEU3dBd1NBSkJBSm5YemJNL1Yyc0RWMVVMYlBTT2xIa2xkT1RXUnJIaTVmeElrQm11ZXZyQ2xNUFZIN3JxY2N3aXJETmNNZElkd1hISTlBZGhqOUZXandHSXdmVS9LNk1DQXdFQUFRPT0AAAAADXJzYVB1YmxpY0tleTMJAAJbAAAAAQIAAACATUZ3d0RRWUpLb1pJaHZjTkFRRUJCUUFEU3dBd1NBSkJBT1JEZXZ5MHI0a3pMcU95U2xvQjYzSHV2MmU0emVIS0hqQ3N5NXZ0RkttV1piWEphOGdaWXQ0K0VrbEZJbzFLOW9xdTVCQVBWZkozRk96czJVMUErZzBDQXdFQUFRPT0AAAAABWRydW0xCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNAUAAAADbmlsAAAAAAVkcnVtMgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATcFAAAAA25pbAAAAAAFZHJ1bTMJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATcJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE3CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE2BQAAAANuaWwAAAAACHN0YXRlQWNjAgAAAAhBY2NlcHRlZAAAAAAIc3RhdGVXaW4CAAAAA1dpbgAAAAAJc3RhdGVMb3NlAgAAAARMb3NlAAAAAAxzdGF0ZVRpbWVvdXQCAAAADFdpbkJ5VGltZW91dAAAAAAHd2F2ZXNJZAUAAAAEdW5pdAAAAAALd2F2ZXNNaW5BbXQAAAAAAAX14QAAAAAAC3dhdmVzTWF4QW10CQAAaAAAAAIFAAAAC3dhdmVzTWluQW10AAAAAAAAAAAKAAAAAApjb21taXNzaW9uAAAAAAAAB6EgAAAAAA1nYW1lVGltZUZyYW1lAAAAAAAAAAtAAQAAAAtwbXRBbXRDaGVjawAAAAIAAAAKcG10QXNzZXRJZAAAAAliZXRBbW91bnQDCQAAAAAAAAIFAAAACnBtdEFzc2V0SWQCAAAABVdBVkVTAwMJAABnAAAAAgUAAAAJYmV0QW1vdW50BQAAAAt3YXZlc01pbkFtdAkAAGcAAAACBQAAAAt3YXZlc01heEFtdAUAAAAJYmV0QW1vdW50BwYJAAACAAAAAQIAAAAaQmV0IGFtb3VudCBpcyBub3QgaW4gcmFuZ2UJAAACAAAAAQIAAAAdUGF5bWVudCBBc3NldCBJRCBpcyBub3QgdmFsaWQBAAAAC2dldERhdGFMaXN0AAAAAQAAAAZnYW1lSWQEAAAADWdldERhdGFTdHJpbmcJAAQdAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZnYW1lSWQCAAAAB19HYW1lSWQEAAAAAWEEAAAAByRtYXRjaDAFAAAADWdldERhdGFTdHJpbmcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQkAAAIAAAABAgAAABRHYW1lSWQgd2FzIG5vdCBmb3VuZAkABLUAAAACBQAAAAFhAgAAAAFfAQAAAAhyc2FUb0ludAAAAAMAAAAGZ2FtZUlkAAAAB3JzYVNpZ24AAAAMcnNhUHVibGljS2V5BAAAAAhyc2FDaGVjawkAAfgAAAAEBQAAAAZTSEEyNTYJAAGbAAAAAQUAAAAGZ2FtZUlkBQAAAAdyc2FTaWduBQAAAAxyc2FQdWJsaWNLZXkDBQAAAAhyc2FDaGVjawkAAGoAAAACCQAEsQAAAAEJAAH3AAAAAQUAAAAHcnNhU2lnbgAAAAAAAAAAEwkAAAIAAAABAgAAABVJbnZhbGlkIFJTQSBTaWduYXR1cmUBAAAAF2luY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlAAAAAwAAAAZwbXRBbXQAAAAMcG10QXNzZXROYW1lAAAACWFzc2V0SWQ1OAQAAAAWY3VycmVudFJlc2VydmVkQmFsYW5jZQQAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAxwbXRBc3NldE5hbWUCAAAACV9SZXNlcnZlZAQAAAAHJG1hdGNoMAUAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlCQAAZAAAAAIFAAAAFmN1cnJlbnRSZXNlcnZlZEJhbGFuY2UJAABoAAAAAgUAAAAGcG10QW10AAAAAAAAAAEEAwkAAGcAAAACCQAD6wAAAAIFAAAABHRoaXMFAAAACWFzc2V0SWQ1OAUAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlBQAAABJuZXdSZXNlcnZlZEJhbGFuY2UJAAACAAAAAQIAAAA1QmV0IHdhcyByZWplY3RlZC4gSW5zdWZmaWNpZW50IGZ1bmRzIG9uIGdhbWUgYWNjb3VudC4BAAAAF2RlY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlAAAAAgAAAAZiZXRBbXQAAAAHYXNzZXRJZAQAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAdhc3NldElkAgAAAAlfUmVzZXJ2ZWQEAAAAFmV4dHJhY3RSZXNlcnZlZEJhbGFuY2UEAAAAByRtYXRjaDAFAAAAFHZhbHVlUmVzZXJ2ZWRCYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAF2RlY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlCQAAZQAAAAIFAAAAFmV4dHJhY3RSZXNlcnZlZEJhbGFuY2UJAABoAAAAAgUAAAAGYmV0QW10AAAAAAAAAAEEAwkAAGcAAAACBQAAABdkZWNyZWFzZVJlc2VydmVkQmFsYW5jZQAAAAAAAAAAAAUAAAAXZGVjcmVhc2VSZXNlcnZlZEJhbGFuY2UJAAACAAAAAQIAAAAoUmVzZXJ2ZWQgYmFsYW5jZSBjb3VsZG4ndCBiZSBsZXNzIHRoYW4gMAEAAAAPZHJ1bUludFRvU3RyaW5nAAAAAQAAAAdkcnVtSW50AwkAAGYAAAACAAAAAAAAAAAKBQAAAAdkcnVtSW50CQABLAAAAAICAAAAATAJAAGkAAAAAQUAAAAHZHJ1bUludAkAAaQAAAABBQAAAAdkcnVtSW50AQAAABBkZWZpbmVNdWx0aXBsaWVyAAAAAgAAAAt0aHJlZUluQVJvdwAAAAl0d29JbkFSb3cDCQAAAAAAAAIFAAAAC3RocmVlSW5BUm93AgAAAAM3NzcAAAAAAAAACigDCQAAAAAAAAIFAAAAC3RocmVlSW5BUm93AgAAAAM2NjYAAAAAAAAABRQDCQAAAAAAAAIFAAAAC3RocmVlSW5BUm93AgAAAAM1NTUAAAAAAAAAAcIDCQAAAAAAAAIFAAAAC3RocmVlSW5BUm93AgAAAAM0NDQAAAAAAAAAAMgDCQAAAAAAAAIFAAAAC3RocmVlSW5BUm93AgAAAAMzMzMAAAAAAAAAAJYDCQAAAAAAAAIFAAAAC3RocmVlSW5BUm93AgAAAAMyMjIAAAAAAAAAAG4DCQAAAAAAAAIFAAAAC3RocmVlSW5BUm93AgAAAAMxMTEAAAAAAAAAADIDCQAAAAAAAAIFAAAACXR3b0luQVJvdwIAAAACNzcAAAAAAAAAAQ4DCQAAAAAAAAIFAAAACXR3b0luQVJvdwIAAAACNjYAAAAAAAAAAIIDCQAAAAAAAAIFAAAACXR3b0luQVJvdwIAAAACNTUAAAAAAAAAAC0DCQAAAAAAAAIFAAAACXR3b0luQVJvdwIAAAACNDQAAAAAAAAAAB4DCQAAAAAAAAIFAAAACXR3b0luQVJvdwIAAAACMzMAAAAAAAAAABQDCQAAAAAAAAIFAAAACXR3b0luQVJvdwIAAAACMjIAAAAAAAAAABEDCQAAAAAAAAIFAAAACXR3b0luQVJvdwIAAAACMTEAAAAAAAAAAA0AAAAAAAAAAAABAAAAEWFzc2V0TmFtZVRvQmFzZTU4AAAAAQAAAAlhc3NldE5hbWUDCQAAAAAAAAIFAAAACWFzc2V0TmFtZQIAAAAFV0FWRVMFAAAAB3dhdmVzSWQJAAACAAAAAQIAAAAXQXNzZXQgbmFtZSBpcyBpbmNvcnJlY3QBAAAAEWFzc2V0QmFzZTU4VG9OYW1lAAAAAQAAAAdhc3NldElkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAHYXNzZXRJZAIAAAAFV0FWRVMJAAACAAAAAQIAAAAUQXNzZXRJZCBpcyBpbmNvcnJlY3QBAAAAFHNldE5ld0dhbWVzUGxheWVkTnVtAAAAAQAAAAdhZGRyZXNzBAAAABN2YWx1ZUdhbWVzUGxheWVkTnVtCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAHYWRkcmVzcwIAAAAMX0dhbWVzUGxheWVkBAAAABVjdXJyZW50R2FtZXNQbGF5ZWROdW0EAAAAByRtYXRjaDAFAAAAE3ZhbHVlR2FtZXNQbGF5ZWROdW0DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAkAAGQAAAACBQAAABVjdXJyZW50R2FtZXNQbGF5ZWROdW0AAAAAAAAAAAEBAAAAEGdldEN1cnJlbnRJbmNvbWUAAAABAAAACWFzc2V0TmFtZQQAAAADdmFsCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAJYXNzZXROYW1lAgAAAAdfSW5jb21lBAAAAAckbWF0Y2gwBQAAAAN2YWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAUY2FsbGVySXNEZXBvc2l0T3duZXIAAAACAAAACWFzc2V0TmFtZQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAADGRlcG9zaXRPd25lcgkABB0AAAACBQAAABZkaXZpZGVuZFByb2dyYW1BZGRyZXNzCQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAANX0RlcG9zaXRPd25lcgMJAAAAAAAAAgUAAAAPY2FsbGVyUHVibGljS2V5BQAAAAxkZXBvc2l0T3duZXIFAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAAClPbmx5IGRlcG9zaXQgb3duZXIgY2FuIHdpdGhkcmF3YWwgZGVwb3NpdAEAAAAOZ2V0RGVwb3NpdERhdGEAAAACAAAACWFzc2V0TmFtZQAAAAlrZXlTdWZmaXgEAAAAA2tleQkAASwAAAACBQAAAAlhc3NldE5hbWUFAAAACWtleVN1ZmZpeAQAAAADdmFsCQAEGgAAAAIFAAAAFmRpdmlkZW5kUHJvZ3JhbUFkZHJlc3MFAAAAA2tleQQAAAAHJG1hdGNoMAUAAAADdmFsAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEJAAACAAAAAQIAAAArQ291bGRuJ3QgZmluZCBkaXZpZGVuZCBwcm9ncmFtIHN0YXJ0IGhlaWdodAAAAAMAAAABaQEAAAAHbWFrZUJldAAAAAAEAAAAA3BtdAkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAdwYXltZW50BAAAAAliZXRBbW91bnQJAABlAAAAAggFAAAAA3BtdAAAAAZhbW91bnQFAAAACmNvbW1pc3Npb24EAAAAB2Fzc2V0SWQIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAGZ2FtZUlkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAADXBsYXllckFkZHJlc3MJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxwbXRBc3NldE5hbWUJAQAAABFhc3NldEJhc2U1OFRvTmFtZQAAAAEFAAAAB2Fzc2V0SWQEAAAAEnNldFJlc2VydmVkQmFsYW5jZQkBAAAAF2luY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlAAAAAwUAAAAJYmV0QW1vdW50BQAAAAxwbXRBc3NldE5hbWUIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAANcG10QW10Q29ycmVjdAkBAAAAC3BtdEFtdENoZWNrAAAAAgUAAAAMcG10QXNzZXROYW1lBQAAAAliZXRBbW91bnQDBQAAAA1wbXRBbXRDb3JyZWN0BAAAAApkYXRhU3RyaW5nCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAIc3RhdGVBY2MCAAAAAV8JAAQlAAAAAQUAAAANcGxheWVyQWRkcmVzcwIAAAABXwkAAaQAAAABBQAAAAliZXRBbW91bnQCAAAAAV8FAAAADHBtdEFzc2V0TmFtZQIAAAABXwkAAaQAAAABBQAAAAZoZWlnaHQJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAGZ2FtZUlkAgAAAAdfR2FtZUlkBQAAAApkYXRhU3RyaW5nCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAADHBtdEFzc2V0TmFtZQIAAAAJX1Jlc2VydmVkBQAAABJzZXRSZXNlcnZlZEJhbGFuY2UFAAAAA25pbAkAAAIAAAABAgAAABRBc3NldElkIGlzIGluY29ycmVjdAAAAAFpAQAAAAhwbGF5R2FtZQAAAAQAAAAGZ2FtZUlkAAAACHJzYVNpZ24xAAAACHJzYVNpZ24yAAAACHJzYVNpZ24zBAAAAAhkYXRhTGlzdAkBAAAAC2dldERhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAAEAAAADXBsYXllckFkZHJlc3MJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAEEAAAABmJldEFtdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAACBAAAAAlhc3NldE5hbWUJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAMEAAAACWdhbWVTdGFydAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAAEBAAAAAlhc3NldElkNTgJAQAAABFhc3NldE5hbWVUb0Jhc2U1OAAAAAEFAAAACWFzc2V0TmFtZQQAAAASc2V0UmVzZXJ2ZWRCYWxhbmNlCQEAAAAXZGVjcmVhc2VSZXNlcnZlZEJhbGFuY2UAAAACBQAAAAZiZXRBbXQFAAAACWFzc2V0TmFtZQQAAAAIZHJ1bTFJbnQJAQAAAAhyc2FUb0ludAAAAAMFAAAABmdhbWVJZAUAAAAIcnNhU2lnbjEFAAAADXJzYVB1YmxpY0tleTEEAAAACGRydW0ySW50CQEAAAAIcnNhVG9JbnQAAAADBQAAAAZnYW1lSWQFAAAACHJzYVNpZ24yBQAAAA1yc2FQdWJsaWNLZXkyBAAAAAhkcnVtM0ludAkBAAAACHJzYVRvSW50AAAAAwUAAAAGZ2FtZUlkBQAAAAhyc2FTaWduMwUAAAANcnNhUHVibGljS2V5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aGVpZ2h0AgAAAAFfCQABpAAAAAEJAABoAAAAAgUAAAAGYmV0QW10AAAAAAAAAAACAgAAAAFfAgAAAAMwMDACAAAAAV8CAAAABjAwMDAwMAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAlhc3NldE5hbWUCAAAACV9SZXNlcnZlZAUAAAASc2V0UmVzZXJ2ZWRCYWxhbmNlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAAHX0luY29tZQkAAGUAAAACCQEAAAAQZ2V0Q3VycmVudEluY29tZQAAAAEFAAAACWFzc2V0TmFtZQkAAGgAAAACBQAAAAZiZXRBbXQAAAAAAAAAAAIFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEFAAAADXBsYXllckFkZHJlc3MJAABoAAAAAgUAAAAGYmV0QW10AAAAAAAAAAACBQAAAAlhc3NldElkNTgFAAAAA25pbAkAAAIAAAABAgAAABdHYW1lIHN0YXRlIGlzIGluY29ycmVjdAAAAAFpAQAAAA93aXRoZHJhd0RlcG9zaXQAAAABAAAACWFzc2V0TmFtZQQAAAAJYXNzZXRJZDU4CQEAAAARYXNzZXROYW1lVG9CYXNlNTgAAAABBQAAAAlhc3NldE5hbWUEAAAACWNhbGxlclB1YgkBAAAAFGNhbGxlcklzRGVwb3NpdE93bmVyAAAAAgUAAAAJYXNzZXROYW1lCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAATZGl2aWRlbmRTdGFydEhlaWdodAkBAAAADmdldERlcG9zaXREYXRhAAAAAgUAAAAJYXNzZXROYW1lAgAAABJfRGVwb3NpdFN0YXJ0QmxvY2sEAAAAD2RlcG9zaXREdXJhdGlvbgkBAAAADmdldERlcG9zaXREYXRhAAAAAgUAAAAJYXNzZXROYW1lAgAAABVfRGVwb3NpdER1cmF0aW9uQmxvY2sEAAAADWRlcG9zaXRBbW91bnQJAQAAAA5nZXREZXBvc2l0RGF0YQAAAAIFAAAACWFzc2V0TmFtZQIAAAAOX0RlcG9zaXRBbW91bnQDCQAAZwAAAAIJAABlAAAAAgUAAAAGaGVpZ2h0BQAAABNkaXZpZGVuZFN0YXJ0SGVpZ2h0BQAAAA9kZXBvc2l0RHVyYXRpb24JAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAAdX0RlcG9zaXRXaXRoZHJhd1RyYW5zYWN0aW9uSWQIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAACWNhbGxlclB1YgUAAAANZGVwb3NpdEFtb3VudAUAAAAJYXNzZXRJZDU4BQAAAANuaWwJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAGkRlcG9zaXQgdGltZSBpcyBub3Qgb3Zlci4gCQABpAAAAAEJAABlAAAAAgUAAAAGaGVpZ2h0CQAAZAAAAAIFAAAAE2RpdmlkZW5kU3RhcnRIZWlnaHQFAAAAD2RlcG9zaXREdXJhdGlvbgIAAAANIGJsb2NrcyBsZWZ0LgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAANZ2FtZVB1YmxpY0tleQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAJ0eAUAAAAHJG1hdGNoMAYHB2N0MeE=", "height": 1398148, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: GpQJHPfxJeAn48zLv3UXjZYKrRWXaJn6rJ2jj3EJKKEw Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let gamePublicKey = fromBase58String("BjjwtwUgZ4s8p9HJuFwyRMR3egd3zMAHGDV2HoZ1J7ho")
5+
6+let dividendProgramAddress = addressFromPublicKey(fromBase58String("85WRynF4cwHurmJhYS4baWuSCu1D2Msv8i37g8s8DPFN"))
7+
8+let rsaPublicKey1 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
9+
10+let rsaPublicKey2 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
11+
12+let rsaPublicKey3 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
13+
14+let drum1 = ["2", "1", "3", "5", "7", "3", "3", "1", "4", "1", "3", "5", "2", "4", "2", "6", "5", "2", "1", "4"]
15+
16+let drum2 = ["4", "2", "3", "1", "6", "4", "2", "1", "4", "2", "1", "6", "3", "1", "2", "5", "1", "5", "3", "7"]
17+
18+let drum3 = ["3", "2", "7", "4", "1", "6", "4", "2", "3", "1", "4", "1", "5", "5", "1", "3", "7", "1", "2", "6"]
19+
20+let stateAcc = "Accepted"
21+
22+let stateWin = "Win"
23+
24+let stateLose = "Lose"
25+
26+let stateTimeout = "WinByTimeout"
27+
28+let wavesId = unit
29+
30+let wavesMinAmt = 100000000
31+
32+let wavesMaxAmt = (wavesMinAmt * 10)
33+
34+let commission = 500000
35+
36+let gameTimeFrame = 2880
37+
38+func pmtAmtCheck (pmtAssetId,betAmount) = if ((pmtAssetId == "WAVES"))
39+ then if (if ((betAmount >= wavesMinAmt))
40+ then (wavesMaxAmt >= betAmount)
41+ else false)
42+ then true
43+ else throw("Bet amount is not in range")
44+ else throw("Payment Asset ID is not valid")
45+
46+
47+func getDataList (gameId) = {
48+ let getDataString = getString(this, (gameId + "_GameId"))
49+ let a = match getDataString {
50+ case a: String =>
51+ a
52+ case _ =>
53+ throw("GameId was not found")
54+ }
55+ split(a, "_")
56+ }
57+
58+
59+func rsaToInt (gameId,rsaSign,rsaPublicKey) = {
60+ let rsaCheck = rsaVerify(SHA256, toBytes(gameId), rsaSign, rsaPublicKey)
61+ if (rsaCheck)
62+ then (toInt(sha256(rsaSign)) % 19)
63+ else throw("Invalid RSA Signature")
64+ }
65+
66+
67+func increaseReservedBalance (pmtAmt,pmtAssetName,assetId58) = {
68+ let currentReservedBalance = {
69+ let valueReservedBalance = getInteger(this, (pmtAssetName + "_Reserved"))
70+ match valueReservedBalance {
71+ case a: Int =>
72+ a
73+ case _ =>
74+ 0
75+ }
76+ }
77+ let newReservedBalance = (currentReservedBalance + (pmtAmt * 260))
78+ if ((assetBalance(this, assetId58) >= newReservedBalance))
79+ then newReservedBalance
80+ else throw("Bet was rejected. Insufficient funds on game account.")
81+ }
82+
83+
84+func decreaseReservedBalance (betAmt,assetId) = {
85+ let valueReservedBalance = getInteger(this, (assetId + "_Reserved"))
86+ let extractReservedBalance = match valueReservedBalance {
87+ case a: Int =>
88+ a
89+ case _ =>
90+ 0
91+ }
92+ let decreaseReservedBalance = (extractReservedBalance - (betAmt * 260))
93+ if ((decreaseReservedBalance >= 0))
94+ then decreaseReservedBalance
95+ else throw("Reserved balance couldn't be less than 0")
96+ }
97+
98+
99+func drumIntToString (drumInt) = if ((10 > drumInt))
100+ then ("0" + toString(drumInt))
101+ else toString(drumInt)
102+
103+
104+func defineMultiplier (threeInARow,twoInARow) = if ((threeInARow == "777"))
105+ then 2600
106+ else if ((threeInARow == "666"))
107+ then 1300
108+ else if ((threeInARow == "555"))
109+ then 450
110+ else if ((threeInARow == "444"))
111+ then 200
112+ else if ((threeInARow == "333"))
113+ then 150
114+ else if ((threeInARow == "222"))
115+ then 110
116+ else if ((threeInARow == "111"))
117+ then 50
118+ else if ((twoInARow == "77"))
119+ then 270
120+ else if ((twoInARow == "66"))
121+ then 130
122+ else if ((twoInARow == "55"))
123+ then 45
124+ else if ((twoInARow == "44"))
125+ then 30
126+ else if ((twoInARow == "33"))
127+ then 20
128+ else if ((twoInARow == "22"))
129+ then 17
130+ else if ((twoInARow == "11"))
131+ then 13
132+ else 0
133+
134+
135+func assetNameToBase58 (assetName) = if ((assetName == "WAVES"))
136+ then wavesId
137+ else throw("Asset name is incorrect")
138+
139+
140+func assetBase58ToName (assetId) = if (!(isDefined(assetId)))
141+ then "WAVES"
142+ else throw("AssetId is incorrect")
143+
144+
145+func setNewGamesPlayedNum (address) = {
146+ let valueGamesPlayedNum = getInteger(this, (address + "_GamesPlayed"))
147+ let currentGamesPlayedNum = match valueGamesPlayedNum {
148+ case a: Int =>
149+ a
150+ case _ =>
151+ 0
152+ }
153+ (currentGamesPlayedNum + 1)
154+ }
155+
156+
157+func getCurrentIncome (assetName) = {
158+ let val = getInteger(this, (assetName + "_Income"))
159+ match val {
160+ case a: Int =>
161+ a
162+ case _ =>
163+ 0
164+ }
165+ }
166+
167+
168+func callerIsDepositOwner (assetName,callerPublicKey) = {
169+ let depositOwner = getString(dividendProgramAddress, (assetName + "_DepositOwner"))
170+ if ((callerPublicKey == depositOwner))
171+ then callerPublicKey
172+ else throw("Only deposit owner can withdrawal deposit")
173+ }
174+
175+
176+func getDepositData (assetName,keySuffix) = {
177+ let key = (assetName + keySuffix)
178+ let val = getInteger(dividendProgramAddress, key)
179+ match val {
180+ case a: Int =>
181+ a
182+ case _ =>
183+ throw("Couldn't find dividend program start height")
184+ }
185+ }
186+
187+
188+@Callable(i)
189+func makeBet () = {
190+ let pmt = extract(i.payment)
191+ let betAmount = (pmt.amount - commission)
192+ let assetId = pmt.assetId
193+ let gameId = toBase58String(i.transactionId)
194+ let playerAddress = extract(i.caller)
195+ let pmtAssetName = assetBase58ToName(assetId)
196+ let setReservedBalance = increaseReservedBalance(betAmount, pmtAssetName, pmt.assetId)
197+ let pmtAmtCorrect = pmtAmtCheck(pmtAssetName, betAmount)
198+ if (pmtAmtCorrect)
199+ then {
200+ let dataString = ((((((((stateAcc + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_") + pmtAssetName) + "_") + toString(height))
201+ WriteSet([DataEntry((gameId + "_GameId"), dataString), DataEntry((pmtAssetName + "_Reserved"), setReservedBalance)])
202+ }
203+ else throw("AssetId is incorrect")
204+ }
205+
206+
207+
208+@Callable(i)
209+func playGame (gameId,rsaSign1,rsaSign2,rsaSign3) = {
210+ let dataList = getDataList(gameId)
211+ let gameState = dataList[0]
212+ let playerAddress = dataList[1]
213+ let betAmt = parseIntValue(dataList[2])
214+ let assetName = dataList[3]
215+ let gameStart = parseIntValue(dataList[4])
216+ let assetId58 = assetNameToBase58(assetName)
217+ let setReservedBalance = decreaseReservedBalance(betAmt, assetName)
218+ let drum1Int = rsaToInt(gameId, rsaSign1, rsaPublicKey1)
219+ let drum2Int = rsaToInt(gameId, rsaSign2, rsaPublicKey2)
220+ let drum3Int = rsaToInt(gameId, rsaSign3, rsaPublicKey3)
221+ let twoInARow = (drum1[drum1Int] + drum2[drum2Int])
222+ let threeInARow = (twoInARow + drum3[drum3Int])
223+ let droppedElementsString = ((drumIntToString(drum1Int) + drumIntToString(drum2Int)) + drumIntToString(drum3Int))
224+ let winAmt = ((betAmt * defineMultiplier(threeInARow, twoInARow)) / 10)
225+ if ((gameState == stateAcc))
226+ then if ((gameTimeFrame > (height - gameStart)))
227+ then if ((winAmt == 0))
228+ then {
229+ let availableDividends = {
230+ let dividends = (getCurrentIncome(assetName) + betAmt)
231+ if ((dividends > 0))
232+ then dividends
233+ else 0
234+ }
235+ let income = {
236+ let dividends = (getCurrentIncome(assetName) + betAmt)
237+ if ((dividends > 0))
238+ then 0
239+ else dividends
240+ }
241+ ScriptResult(WriteSet([DataEntry((gameId + "_GameId"), ((((((((((((((stateLose + "_") + dataList[1]) + "_") + dataList[2]) + "_") + dataList[3]) + "_") + toString(height)) + "_") + toString(winAmt)) + "_") + threeInARow) + "_") + droppedElementsString)), DataEntry((assetName + "_Reserved"), setReservedBalance), DataEntry((assetName + "_Income"), income)]), TransferSet([ScriptTransfer(dividendProgramAddress, availableDividends, assetId58)]))
242+ }
243+ else ScriptResult(WriteSet([DataEntry((gameId + "_GameId"), ((((((((((((((stateWin + "_") + dataList[1]) + "_") + dataList[2]) + "_") + dataList[3]) + "_") + toString(height)) + "_") + toString(winAmt)) + "_") + threeInARow) + "_") + droppedElementsString)), DataEntry((assetName + "_Reserved"), setReservedBalance), DataEntry((assetName + "_Income"), (getCurrentIncome(assetName) - winAmt))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddress), winAmt, assetId58)]))
244+ else ScriptResult(WriteSet([DataEntry((gameId + "_GameId"), ((((((((((((((stateTimeout + "_") + dataList[1]) + "_") + dataList[2]) + "_") + dataList[3]) + "_") + toString(height)) + "_") + toString((betAmt * 2))) + "_") + "000") + "_") + "000000")), DataEntry((assetName + "_Reserved"), setReservedBalance), DataEntry((assetName + "_Income"), (getCurrentIncome(assetName) - (betAmt * 2)))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddress), (betAmt * 2), assetId58)]))
245+ else throw("Game state is incorrect")
246+ }
247+
248+
249+
250+@Callable(i)
251+func withdrawDeposit (assetName) = {
252+ let assetId58 = assetNameToBase58(assetName)
253+ let callerPub = callerIsDepositOwner(assetName, toBase58String(i.callerPublicKey))
254+ let dividendStartHeight = getDepositData(assetName, "_DepositStartBlock")
255+ let depositDuration = getDepositData(assetName, "_DepositDurationBlock")
256+ let depositAmount = getDepositData(assetName, "_DepositAmount")
257+ if (((height - dividendStartHeight) >= depositDuration))
258+ then ScriptResult(WriteSet([DataEntry((assetName + "_DepositWithdrawTransactionId"), i.transactionId)]), TransferSet([ScriptTransfer(addressFromPublicKey(fromBase58String(callerPub)), depositAmount, assetId58)]))
259+ else throw((("Deposit time is not over. " + toString((height - (dividendStartHeight + depositDuration)))) + " blocks left."))
260+ }
261+
262+
263+@Verifier(tx)
264+func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], gamePublicKey))
265+ then match tx {
266+ case tx: SetScriptTransaction =>
267+ true
268+ case _ =>
269+ false
270+ }
271+ else false
272+

github/deemru/w8io/169f3d6 
28.08 ms