tx · DiyHznjCcx4nPMsM4NbtWr3ejb5JiZ8fhem5tAUJm1HZ

3N4vtgpXkE68DqQchkdVCSoaSNxMJ8Xuctx:  -0.01400000 Waves

2021.02.25 00:59 [1412745] smart account 3N4vtgpXkE68DqQchkdVCSoaSNxMJ8Xuctx > SELF 0.00000000 Waves

{ "type": 13, "id": "DiyHznjCcx4nPMsM4NbtWr3ejb5JiZ8fhem5tAUJm1HZ", "fee": 1400000, "feeAssetId": null, "timestamp": 1614204018066, "version": 2, "chainId": 84, "sender": "3N4vtgpXkE68DqQchkdVCSoaSNxMJ8Xuctx", "senderPublicKey": "8Q6AAquTkqKK6raBKopy9WX83aDSeQEnLGrL5nbh7Z4V", "proofs": [ "B29nKpmvdrcReCrjsSnAy9VhUgTHvoLwQdad3XcD6zyucn6EED6oRAS59qv8F16SdcLJ9HBzH5Edpe2idkRHBhm" ], "script": "base64:AAIDAAAAAAAAAA4IARIAEgASBgoECAgICAAAACEAAAAADWdhbWVQdWJsaWNLZXkBAAAAIG3r/9b0drXS9/W+WmgUI+R1SnxxBMUXyavGR/b2CyA6AAAAAAtnYW1lQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAANZ2FtZVB1YmxpY0tleQAAAAAOYWRtaW5QdWJsaWNLZXkBAAAAIBCc8P4C+ug52UoR5PdOxWZFZY5dwEkPBsV1I9mopBdrAAAAAAxhZG1pbkFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAADmFkbWluUHVibGljS2V5AAAAAA1yc2FQdWJsaWNLZXkxAgAAAYhNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQWw2b3VVWnlVcnlVRzJMbEYydVlRWGRiL0U2VWhsWkFicWxPSlVDWGtlNFgzb3NheWE2M2JOUWVVTlBLN20vOVFOOWhEaXVtNEtraW85RjJyK1I5MnZNZ1dhbHV2WXZpRkdKdzhWOFhMOHloY3BrS2dZSlVRMHYwTUNicEk5YzdoU0tSTnh2YUk5amlrWUd5R05Tc0ZkSVR3Y1gzYTB4Sm1EZndDc3NQNzZtSUFDNnZYRE51U2NleSt2M25qUSs2by83QW92OFlGaXNaTEtteGdabnZ1WERJbjl6cE5oaWd0bElPVEtlWTFJNE5aUTd6S0RsSnpTYnpCUlNXV2FOWkFXRHZsd0ZyL1pRT01OUTI0cGhLVm1uZVBURVZGQVNzdW1VaUlCTFhiVHc3OGIvU1kzYmd6NzlkaHc4QTFQdTVOVzRYOWhpY3JtTnIxRXlYMzlVc1REUUlEQVFBQgAAAAANcnNhUHVibGljS2V5MgIAAAGITUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFsNm91VVp5VXJ5VUcyTGxGMnVZUVhkYi9FNlVobFpBYnFsT0pVQ1hrZTRYM29zYXlhNjNiTlFlVU5QSzdtLzlRTjloRGl1bTRLa2lvOUYycitSOTJ2TWdXYWx1dll2aUZHSnc4VjhYTDh5aGNwa0tnWUpVUTB2ME1DYnBJOWM3aFNLUk54dmFJOWppa1lHeUdOU3NGZElUd2NYM2EweEptRGZ3Q3NzUDc2bUlBQzZ2WEROdVNjZXkrdjNualErNm8vN0FvdjhZRmlzWkxLbXhnWm52dVhESW45enBOaGlndGxJT1RLZVkxSTROWlE3ektEbEp6U2J6QlJTV1dhTlpBV0R2bHdGci9aUU9NTlEyNHBoS1ZtbmVQVEVWRkFTc3VtVWlJQkxYYlR3NzhiL1NZM2Jnejc5ZGh3OEExUHU1Tlc0WDloaWNybU5yMUV5WDM5VXNURFFJREFRQUIAAAAADXJzYVB1YmxpY0tleTMCAAABiE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbDZvdVVaeVVyeVVHMkxsRjJ1WVFYZGIvRTZVaGxaQWJxbE9KVUNYa2U0WDNvc2F5YTYzYk5RZVVOUEs3bS85UU45aERpdW00S2tpbzlGMnIrUjkydk1nV2FsdXZZdmlGR0p3OFY4WEw4eWhjcGtLZ1lKVVEwdjBNQ2JwSTljN2hTS1JOeHZhSTlqaWtZR3lHTlNzRmRJVHdjWDNhMHhKbURmd0Nzc1A3Nm1JQUM2dlhETnVTY2V5K3YzbmpRKzZvLzdBb3Y4WUZpc1pMS214Z1pudnVYREluOXpwTmhpZ3RsSU9US2VZMUk0TlpRN3pLRGxKelNiekJSU1dXYU5aQVdEdmx3RnIvWlFPTU5RMjRwaEtWbW5lUFRFVkZBU3N1bVVpSUJMWGJUdzc4Yi9TWTNiZ3o3OWRodzhBMVB1NU5XNFg5aGljcm1OcjFFeVgzOVVzVERRSURBUUFCAAAAAAVkcnVtMQkABEwAAAACAgAAAAE2CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE3CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNAUAAAADbmlsAAAAAAVkcnVtMgkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE2CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwUAAAADbmlsAAAAAAVkcnVtMwkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATcJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMQkABEwA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bkFSb3cCAAAAAzU3NwAAAAAAAAAAUAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzU3NgAAAAAAAAAAUAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzU2NwAAAAAAAAAAUAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzIzNAAAAAAAAAAAMgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQ0NAAAAAAAAAAAKAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzMzMwAAAAAAAAAAGQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzU2NAAAAAAAAAAAFAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzUzNAAAAAAAAAAAFAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzUzNwAAAAAAAAAAFAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzI2NAAAAAAAAAAAFAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzI2NwAAAAAAAAAAFAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzIzNwAAAAAAAAAAFAMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzIyMgAAAAAAAAAACgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQ0MwAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQ0MgAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQzMwAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzMzNAAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzMzMgAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzM0NAAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzMyMgAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzIyNAAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzIyMwAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzI0NAAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzIzMwAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzM0MgAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzMyNAAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQyMwAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQzMgAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzI0MwAAAAAAAAAABQMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQ3NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzc0NwAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzc3NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzc0NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQ3NwAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzQ0NwAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzYzNgAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzM2MwAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzY2MwAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzYzMwAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzM2NgAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzMzNgAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzI1MgAAAAAAAAAAAgMJAAAAAAAAAgUAAAALdGhyZWVJbkFSb3cCAAAAAzUyNQAAAAAAAAAAAgMJAAAAAAAAAgUAAAAL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AAliZXRBbW91bnQJAAGRAAAAAgUAAAALYmV0RGF0YUxpc3QAAAAAAAAAAAIEAAAAC2Jsb2NrSGVpZ2h0CQABkQAAAAIFAAAAC2JldERhdGFMaXN0AAAAAAAAAAAFBAAAAA53aW5zSW4yMDBUaW1lcwkAAZEAAAACBQAAAAtiZXREYXRhTGlzdAAAAAAAAAAABgQAAAAPd2luNVRpbWVzSW5BUm93CQABkQAAAAIFAAAAC2JldERhdGFMaXN0AAAAAAAAAAAHBAAAABBsb3NlNVRpbWVzSW5BUm93CQABkQAAAAIFAAAAC2JldERhdGFMaXN0AAAAAAAAAAAIBAAAAAhkcnVtMUludAkBAAAACnJhbmRvbWl6ZXIAAAADBQAAAAdtZXNzYWdlBQAAAAhyc2FTaWduMQUAAAANcnNhUHVibGljS2V5MQQAAAAIZHJ1bTJJbnQJAQAAAApyYW5kb21pemVyAAAAAwUAAAAHbWVzc2FnZQUAAAAIcnNhU2lnbjIFAAAADXJzYVB1YmxpY0tleTIEAAAACGRydW0zSW50CQEAAAAKcmFuZG9taXplcgAAAAMFAAAAB21lc3NhZ2UFAAAACHJzYVNpZ24zBQAAAA1yc2FQdWJsaWNLZXkzBAAAAA1pbmRleFBvc2l0aW9uCQABLAAAAAIJAAEsAAAAAgkBAAAAD2RydW1JbnRUb1N0cmluZwAAAAEFAAAACGRydW0xSW50CQEAAAAPZHJ1bUludFRvU3RyaW5nAAAAAQUAAAAIZHJ1bTJJbnQJAQAAAA9kcnVtSW50VG9TdHJpbmcAAAABBQAAAAhkcnVtM0ludAQAAAALdGhyZWVJbkFSb3cJAAEsAAAAAgkAASwAAAACCQABkQAAAAIFAAAABWRydW0xBQAAAAhkcnVtMUludAkAAZEAAAACBQAAAAVkcnVtMgUAAAAIZHJ1bTJJbnQJAAGRAAAAAgUAAAAFZHJ1bTMFAAAACGRydW0zSW50BAAAAAlhbW91bnRXb24JAABoAAAAAgkBAAAAEGRlZmluZU11bHRpcGxpZXIAAAABBQAAAAt0aHJlZUluQVJvdwkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAAAliZXRBbW91bnQDCQEAAAACIT0AAAACBQAAAApnYW1lU3RhdHVzAgAAAAZBQ1RJVkUJAAACAAAA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", "height": 1412745, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2cUGmis61sybTjTEfu2HcaS2wyv4Cr1KpRkBkEZkdbZn Next: 3UPafFNkMrxDeXEWtG7uYgnnr8sBCdAH2h8hLkkfGC9S Diff:
OldNewDifferences
99
1010 let adminAddress = addressFromPublicKey(adminPublicKey)
1111
12-let rsaPublicKey1 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
12+let rsaPublicKey1 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB"
1313
14-let rsaPublicKey2 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
14+let rsaPublicKey2 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB"
1515
16-let rsaPublicKey3 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
16+let rsaPublicKey3 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB"
1717
1818 let drum1 = ["6", "1", "5", "4", "3", "2", "1", "3", "5", "2", "4", "1", "7", "3", "2", "3", "1", "4", "1", "3", "5", "2", "1", "4", "2", "6", "5", "2", "1", "4"]
1919
246246
247247
248248 func randomizer (message,rsaSign,rsaPublicKey) = {
249- let rsaCheck = rsaVerify(SHA256, toBytes(message), fromBase64String(rsaSign), rsaPublicKey)
249+ let rsaCheck = rsaVerify(SHA256, fromBase64String(message), fromBase64String(rsaSign), fromBase64String(rsaPublicKey))
250250 if (rsaCheck)
251- then (toInt(sha256(toBytes(rsaSign))) % 39)
252- else throw("Rsa Signature is invalid")
251+ then (toInt(sha256(fromBase64String(rsaSign))) % 39)
252+ else throw("RSA_SIGNATURE_IS_INVALID")
253253 }
254254
255255
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let gamePublicKey = base58'8Q6AAquTkqKK6raBKopy9WX83aDSeQEnLGrL5nbh7Z4V'
55
66 let gameAddress = addressFromPublicKey(gamePublicKey)
77
88 let adminPublicKey = base58'27rKjH8VMRkHYCQw1SELCkPNTH39L7xgx9zVSGFkrgCS'
99
1010 let adminAddress = addressFromPublicKey(adminPublicKey)
1111
12-let rsaPublicKey1 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
12+let rsaPublicKey1 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB"
1313
14-let rsaPublicKey2 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
14+let rsaPublicKey2 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB"
1515
16-let rsaPublicKey3 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
16+let rsaPublicKey3 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB"
1717
1818 let drum1 = ["6", "1", "5", "4", "3", "2", "1", "3", "5", "2", "4", "1", "7", "3", "2", "3", "1", "4", "1", "3", "5", "2", "1", "4", "2", "6", "5", "2", "1", "4"]
1919
2020 let drum2 = ["1", "3", "4", "2", "3", "5", "1", "6", "4", "2", "1", "1", "4", "2", "1", "6", "3", "4", "1", "2", "5", "4", "1", "5", "3", "2", "7", "5", "1", "3"]
2121
2222 let drum3 = ["3", "2", "5", "2", "7", "4", "1", "3", "6", "4", "2", "3", "1", "6", "4", "2", "1", "5", "2", "5", "1", "3", "7", "1", "2", "6", "4", "1", "3", "1"]
2323
2424 let stateAcc = "ACTIVE"
2525
2626 let wavesId = unit
2727
2828 let nLifeMinAmt = 10000000
2929
3030 let nLifeMaxAmt = 50000000
3131
3232 let gameLabelCounter = "GAMESCOUNTER"
3333
3434 let gameLabel = (toString(gameAddress) + "_GAME_ADDRESS")
3535
3636 let gameLabel5InARow = (toString(gameAddress) + "_ROW_WIN/LOSE")
3737
3838 func gameGetCounter () = getInteger(this, gameLabelCounter)
3939
4040
4141 func gameGetLabel () = getString(this, gameLabel)
4242
4343
4444 func gameGetRow () = getString(this, gameLabel5InARow)
4545
4646
4747 func gameLabelBet (playerAddr) = (playerAddr + "_BETDATA")
4848
4949
5050 func gameGetBet (playerAddr) = getString(this, gameLabelBet(playerAddr))
5151
5252
5353 func addressLabelIn200Wins (addr) = (addr + "_IN200WINS")
5454
5555
5656 func addressLabelNFT (addr) = (addr + "_NFT")
5757
5858
5959 func addressGet200Wins (addr) = getInteger(this, addressLabelIn200Wins(addr))
6060
6161
6262 func addressGetNFT (addr) = getInteger(this, addressLabelNFT(addr))
6363
6464
6565 func gameGetData () = {
6666 let gameData = gameGetLabel()
6767 let a = match gameData {
6868 case a: String =>
6969 a
7070 case _ =>
7171 throw("GAME_DATA_ERROR")
7272 }
7373 split(a, "_")
7474 }
7575
7676
7777 func gameGetRowData () = {
7878 let gameRowData = gameGetRow()
7979 let a = match gameRowData {
8080 case a: String =>
8181 a
8282 case _ =>
8383 throw("GAME_ROW_DATA_ERROR")
8484 }
8585 split(a, "_")
8686 }
8787
8888
8989 func gameGetBetData (playerAddr) = {
9090 let gameBetData = gameGetBet(playerAddr)
9191 let a = match gameBetData {
9292 case a: String =>
9393 a
9494 case _ =>
9595 "0"
9696 }
9797 split(a, "_")
9898 }
9999
100100
101101 func pmtAmtCheck (betAmount) = if (if ((betAmount >= nLifeMinAmt))
102102 then (nLifeMaxAmt >= betAmount)
103103 else false)
104104 then true
105105 else throw("AMOUNT_NOT_IN_RANGE")
106106
107107
108108 func drumIntToString (drumInt) = if ((10 > drumInt))
109109 then ("0" + toString(drumInt))
110110 else toString(drumInt)
111111
112112
113113 func defineMultiplier (threeInARow) = if ((threeInARow == "777"))
114114 then 1199
115115 else if ((threeInARow == "666"))
116116 then 200
117117 else if ((threeInARow == "555"))
118118 then 150
119119 else if ((threeInARow == "667"))
120120 then 80
121121 else if ((threeInARow == "665"))
122122 then 80
123123 else if ((threeInARow == "677"))
124124 then 80
125125 else if ((threeInARow == "655"))
126126 then 80
127127 else if ((threeInARow == "675"))
128128 then 80
129129 else if ((threeInARow == "657"))
130130 then 80
131131 else if ((threeInARow == "776"))
132132 then 80
133133 else if ((threeInARow == "775"))
134134 then 80
135135 else if ((threeInARow == "766"))
136136 then 80
137137 else if ((threeInARow == "755"))
138138 then 80
139139 else if ((threeInARow == "756"))
140140 then 80
141141 else if ((threeInARow == "765"))
142142 then 80
143143 else if ((threeInARow == "556"))
144144 then 80
145145 else if ((threeInARow == "557"))
146146 then 80
147147 else if ((threeInARow == "566"))
148148 then 80
149149 else if ((threeInARow == "577"))
150150 then 80
151151 else if ((threeInARow == "576"))
152152 then 80
153153 else if ((threeInARow == "567"))
154154 then 80
155155 else if ((threeInARow == "234"))
156156 then 50
157157 else if ((threeInARow == "444"))
158158 then 40
159159 else if ((threeInARow == "333"))
160160 then 25
161161 else if ((threeInARow == "564"))
162162 then 20
163163 else if ((threeInARow == "534"))
164164 then 20
165165 else if ((threeInARow == "537"))
166166 then 20
167167 else if ((threeInARow == "264"))
168168 then 20
169169 else if ((threeInARow == "267"))
170170 then 20
171171 else if ((threeInARow == "237"))
172172 then 20
173173 else if ((threeInARow == "222"))
174174 then 10
175175 else if ((threeInARow == "443"))
176176 then 5
177177 else if ((threeInARow == "442"))
178178 then 5
179179 else if ((threeInARow == "433"))
180180 then 5
181181 else if ((threeInARow == "334"))
182182 then 5
183183 else if ((threeInARow == "332"))
184184 then 5
185185 else if ((threeInARow == "344"))
186186 then 5
187187 else if ((threeInARow == "322"))
188188 then 5
189189 else if ((threeInARow == "224"))
190190 then 5
191191 else if ((threeInARow == "223"))
192192 then 5
193193 else if ((threeInARow == "244"))
194194 then 5
195195 else if ((threeInARow == "233"))
196196 then 5
197197 else if ((threeInARow == "342"))
198198 then 5
199199 else if ((threeInARow == "324"))
200200 then 5
201201 else if ((threeInARow == "423"))
202202 then 5
203203 else if ((threeInARow == "432"))
204204 then 5
205205 else if ((threeInARow == "243"))
206206 then 5
207207 else if ((threeInARow == "474"))
208208 then 2
209209 else if ((threeInARow == "747"))
210210 then 2
211211 else if ((threeInARow == "774"))
212212 then 2
213213 else if ((threeInARow == "744"))
214214 then 2
215215 else if ((threeInARow == "477"))
216216 then 2
217217 else if ((threeInARow == "447"))
218218 then 2
219219 else if ((threeInARow == "636"))
220220 then 2
221221 else if ((threeInARow == "363"))
222222 then 2
223223 else if ((threeInARow == "663"))
224224 then 2
225225 else if ((threeInARow == "633"))
226226 then 2
227227 else if ((threeInARow == "366"))
228228 then 2
229229 else if ((threeInARow == "336"))
230230 then 2
231231 else if ((threeInARow == "252"))
232232 then 2
233233 else if ((threeInARow == "525"))
234234 then 2
235235 else if ((threeInARow == "522"))
236236 then 2
237237 else if ((threeInARow == "552"))
238238 then 2
239239 else if ((threeInARow == "255"))
240240 then 2
241241 else if ((threeInARow == "225"))
242242 then 2
243243 else if ((threeInARow == "111"))
244244 then 1
245245 else 0
246246
247247
248248 func randomizer (message,rsaSign,rsaPublicKey) = {
249- let rsaCheck = rsaVerify(SHA256, toBytes(message), fromBase64String(rsaSign), rsaPublicKey)
249+ let rsaCheck = rsaVerify(SHA256, fromBase64String(message), fromBase64String(rsaSign), fromBase64String(rsaPublicKey))
250250 if (rsaCheck)
251- then (toInt(sha256(toBytes(rsaSign))) % 39)
252- else throw("Rsa Signature is invalid")
251+ then (toInt(sha256(fromBase64String(rsaSign))) % 39)
252+ else throw("RSA_SIGNATURE_IS_INVALID")
253253 }
254254
255255
256256 @Callable(i)
257257 func initSlotGame () = if ((i.callerPublicKey != adminPublicKey))
258258 then throw("initGame_FORBBIDEN")
259259 else match gameGetCounter() {
260260 case GAMESCOUNTER: Int =>
261261 throw("INIT_ALREADY_DONE")
262262 case _ =>
263263 WriteSet([DataEntry(gameLabelCounter, 0), DataEntry(gameLabel, ((((stateAcc + "_") + toString(gameAddress)) + "_") + toString(height))), DataEntry(gameLabel5InARow, ("0_" + toString(gameAddress)))])
264264 }
265265
266266
267267
268268 @Callable(i)
269269 func placeBet () = {
270270 let playerAddress = extract(i.caller)
271271 let pmt = extract(i.payment)
272272 let betAmount = pmt.amount
273273 let labelDataList = gameGetData()
274274 let gameStatus = labelDataList[0]
275275 let betDataList = gameGetBetData(toString(playerAddress))
276276 let betStatus = betDataList[0]
277277 if ((gameStatus != "ACTIVE"))
278278 then throw("SLOT_GAME_NOT_INITIALIZED")
279279 else match gameGetCounter() {
280280 case GAMESCOUNTER: Int =>
281281 let newGameCounter = (GAMESCOUNTER + 1)
282282 if (!(pmtAmtCheck(betAmount)))
283283 then throw("WRONG_BET_AMOUNT")
284284 else if ((betStatus == "0"))
285285 then WriteSet([DataEntry(gameLabelCounter, newGameCounter), DataEntry(gameLabelBet(toString(playerAddress)), (((((((("BET" + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_0_") + "_NLIFE_") + toString(height)) + "_0_0_0_0_0"))])
286286 else if ((betStatus == "PLAYED"))
287287 then match addressGet200Wins(toString(playerAddress)) {
288288 case WINS: Int =>
289289 if ((WINS >= 0))
290290 then WriteSet([DataEntry(gameLabelCounter, newGameCounter), DataEntry(gameLabelBet(toString(playerAddress)), (((((((("BET" + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_0_") + "_NLIFE_") + toString(height)) + "_0_0_0_0_0"))])
291291 else throw("WRONG_GETWINS")
292292 case _ =>
293293 WriteSet([DataEntry(gameLabelCounter, newGameCounter), DataEntry(gameLabelBet(toString(playerAddress)), (((((((("BET" + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_0_") + "_NLIFE_") + toString(height)) + "_0_0_0_0_0")), DataEntry(addressLabelIn200Wins(toString(playerAddress)), 0)])
294294 }
295295 else throw("COMPLETE_ PREVIOUS_GAME")
296296 case _ =>
297297 throw("INIT_NEEDED_FOR_COUNT")
298298 }
299299 }
300300
301301
302302
303303 @Callable(i)
304304 func playGame (message,rsaSign1,rsaSign2,rsaSign3) = {
305305 let labelDataList = gameGetData()
306306 let gameStatus = labelDataList[0]
307307 let rowDatatList = gameGetRowData()
308308 let row = parseIntValue(rowDatatList[0])
309309 let rowPlayer = rowDatatList[1]
310310 let betDataList = gameGetBetData(toString(i.caller))
311311 let betStatus = betDataList[0]
312312 let playerAddr = betDataList[1]
313313 let betAmount = betDataList[2]
314314 let blockHeight = betDataList[5]
315315 let winsIn200Times = betDataList[6]
316316 let win5TimesInARow = betDataList[7]
317317 let lose5TimesInARow = betDataList[8]
318318 let drum1Int = randomizer(message, rsaSign1, rsaPublicKey1)
319319 let drum2Int = randomizer(message, rsaSign2, rsaPublicKey2)
320320 let drum3Int = randomizer(message, rsaSign3, rsaPublicKey3)
321321 let indexPosition = ((drumIntToString(drum1Int) + drumIntToString(drum2Int)) + drumIntToString(drum3Int))
322322 let threeInARow = ((drum1[drum1Int] + drum2[drum2Int]) + drum3[drum3Int])
323323 let amountWon = (defineMultiplier(threeInARow) * parseIntValue(betAmount))
324324 if ((gameStatus != "ACTIVE"))
325325 then throw("SLOT_GAME_NOT_INITIALIZED")
326326 else if ((betStatus != "BET"))
327327 then throw("PLACE_BET_BEFORE_YOU_PLAY")
328328 else if ((i.caller != addressFromStringValue(playerAddr)))
329329 then throw("NOT_CURRENT_PLAYER")
330330 else if ((amountWon != 0))
331331 then match addressGet200Wins(playerAddr) {
332332 case WINS: Int =>
333333 let newWin = (WINS + 1)
334334 if ((threeInARow == "444"))
335335 then ScriptResult(WriteSet([DataEntry(gameLabelBet(toString(i.caller)), (((((((((((((((("PLAYED" + "_") + playerAddr) + "_") + betAmount) + "_") + toString(amountWon)) + "_NLIFE_") + toString(height)) + "_") + toString(newWin)) + "_") + win5TimesInARow) + "_0_") + threeInARow) + "_") + indexPosition)), DataEntry(addressLabelNFT(toString(i.caller)), "GIVE_NFT"), DataEntry(addressLabelIn200Wins(toString(i.caller)), newWin), DataEntry(gameLabel5InARow, ((toString(0) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
336336 else if ((WINS == 200))
337337 then ScriptResult(WriteSet([DataEntry(gameLabelBet(toString(i.caller)), (((((((((((((("PLAYED" + "_") + playerAddr) + "_") + betAmount) + "_") + toString(amountWon)) + "_NLIFE_") + toString(height)) + "_0_") + win5TimesInARow) + "_0_") + threeInARow) + "_") + indexPosition)), DataEntry(addressLabelIn200Wins(toString(i.caller)), 0), DataEntry(gameLabel5InARow, ((toString(0) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
338338 else if (if ((playerAddr == rowPlayer))
339339 then (row == 5)
340340 else false)
341341 then ScriptResult(WriteSet([DataEntry(gameLabelBet(playerAddr), (((((((((((((((("PLAYED" + "_") + playerAddr) + "_") + betAmount) + "_") + toString(amountWon)) + "_NLIFE_") + toString(height)) + "_") + toString(newWin)) + "_") + toString(0)) + "_0_") + threeInARow) + "_") + indexPosition)), DataEntry(addressLabelIn200Wins(toString(i.caller)), newWin), DataEntry(gameLabel5InARow, ((toString(0) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
342342 else if ((playerAddr != rowPlayer))
343343 then ScriptResult(WriteSet([DataEntry(gameLabelBet(playerAddr), (((((((((((((((("PLAYED" + "_") + playerAddr) + "_") + betAmount) + "_") + toString(amountWon)) + "_NLIFE_") + toString(height)) + "_") + toString(newWin)) + "_") + toString(newWin)) + "_0_") + threeInARow) + "_") + indexPosition)), DataEntry(addressLabelIn200Wins(toString(i.caller)), newWin), DataEntry(gameLabel5InARow, ((toString(0) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
344344 else ScriptResult(WriteSet([DataEntry(gameLabelBet(playerAddr), (((((((((((((((((("PLAYED" + "_") + playerAddr) + "_") + betAmount) + "_") + toString(amountWon)) + "_NLIFE_") + toString(height)) + "_") + toString(newWin)) + "_") + toString(newWin)) + "_") + lose5TimesInARow) + "_") + threeInARow) + "_") + indexPosition)), DataEntry(addressLabelIn200Wins(toString(i.caller)), newWin), DataEntry(gameLabel5InARow, ((toString((row + 1)) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
345345 case _ =>
346346 throw("WORNG_INIT_FOR_200WINS")
347347 }
348348 else if (if ((playerAddr == rowPlayer))
349349 then (row == 5)
350350 else false)
351351 then WriteSet([DataEntry(gameLabelBet(toString(i.caller)), (((((((((((((("PLAYED" + "_") + playerAddr) + "_") + betAmount) + "_") + toString(amountWon)) + "_NLIFE_") + toString(height)) + "_") + winsIn200Times) + "_0_0_") + threeInARow) + "_") + indexPosition)), DataEntry(gameLabel5InARow, ((toString(0) + "_") + playerAddr))])
352352 else WriteSet([DataEntry(gameLabelBet(toString(i.caller)), (((((((((((((((("PLAYED" + "_") + playerAddr) + "_") + betAmount) + "_") + toString(amountWon)) + "_NLIFE_") + toString(height)) + "_") + winsIn200Times) + "_0_") + toString((row + 1))) + "_") + threeInARow) + "_") + indexPosition)), DataEntry(gameLabel5InARow, ((toString((row + 1)) + "_") + playerAddr))])
353353 }
354354
355355
356356 @Verifier(tx)
357357 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], gamePublicKey))
358358 then match tx {
359359 case tx: SetScriptTransaction =>
360360 true
361361 case _ =>
362362 false
363363 }
364364 else false
365365

github/deemru/w8io/873ac7e 
130.71 ms