tx · DsZPjxoUdAQh6L3E2qtfe3P7h3Y43BkxbzpRiRXkghg9 3MqACjCNwkKm2sQV5H85XbcbCD4SJ1YKwcR: -0.01000000 Waves 2019.07.16 15:54 [588405] smart account 3MqACjCNwkKm2sQV5H85XbcbCD4SJ1YKwcR > SELF 0.00000000 Waves
{ "type": 13, "id": "DsZPjxoUdAQh6L3E2qtfe3P7h3Y43BkxbzpRiRXkghg9", "fee": 1000000, "feeAssetId": null, "timestamp": 1563281659411, "version": 1, "sender": "3MqACjCNwkKm2sQV5H85XbcbCD4SJ1YKwcR", "senderPublicKey": "J8UwqB6ofhjqYQXPYakK7SZX7NbhmwXzDcad5LkeUk1C", "proofs": [ "2Wo4FEcUjaC68zosCy4zRgYSzMuTe48RkyHjQNVHCJ1tvSa17X6mtvi2RMQzKcZBTixB9q36xWdoF6gQAY5bFcEK" ], "script": "base64:AAIDAAAAAAAAAAAAAAACAAAAAAlSU0FLZXk1MTIJAAJbAAAAAQIAAACHYmFzZTY0Ok1Gd3dEUVlKS29aSWh2Y05BUUVCQlFBRFN3QXdTQUpCQU1adUxvTEhWNWZjdXFQL0tqSG9RNlZzWlNrU1dGMkF3UkFMckxnVFVmWFlzZEp3MXp2MHQ5djdJSFI2M2c3WXJvQ3ZVRlNYbTFSbU9oUzFYanI1eUlFQ0F3RUFBUT09AAAAAApSU0FLZXkyMDQ4CQACWwAAAAECAAABj2Jhc2U2NDpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQWxlbXI5NUoxalpVczdjSm1ybW1sTjR6bzdZVnNCSnpJZUpkazhMREZHaFVLU0k2eWZzMjBaeUplMjErNkdKd05uS1VVMVV5b2MxN3dTV01La3JaME1NdllFK1o1QWlpanZCSzRzU0ozSWdHamRVOC9OaEk4Q0JEdTBGK3hSTTlxM1RCM0xMYkR5NXNCZHVkWWZIZnNVT2MrTVR2QUQ2OW4yN2RiMlJoOCt5WlFNdHVia3VUUU5wODlzcGhIUWFMR3lRRmFObEsvTmEzbEZ4Nm9tcXphYTFnam9wbFVyNnJ2WUtnZkFJQ1VCM3pWbUpTaGlFaTd3N1IwaFdsTlJEM3FjWmpDVU9OU3BGbzRXYnprbkdPYXp3ODRCK0lNSUZuSXBYV3pRTDhSWDB2TmNmc0J2TERmTTZrMlphY3F3eU1LYUxMcWlnZEJpR2RKN1crMGxPU3RPUUlEQVFBQgAAAAEAAAABaQEAAAAJY2hlY2tTaWduAAAABAAAAAZudW1iZXIAAAAEVHhJZAAAAAlTaWduYXR1cmUAAAAJUHVibGljS2V5BAAAAARwbW50CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQEAAAADGFzc2V0SWRjaGVjawkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAARwbW50AAAAB2Fzc2V0SWQEAAAAB2Fzc2V0SWQEAAAAByRtYXRjaDAIBQAAAARwbW50AAAAB2Fzc2V0SWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAABG51bGwEAAAAAWEJAAH4AAAABAUAAAAGU0hBMjU2CQABmwAAAAEFAAAABFR4SWQFAAAACVNpZ25hdHVyZQUAAAAJUlNBS2V5NTEyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABm51bWJlcgIAAAAEX1B1YgUAAAAJUHVibGljS2V5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABm51bWJlcgIAAAAFX1RYSUQFAAAABFR4SWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAGbnVtYmVyAgAAAApfU2lnbmF0dXJlBQAAAAlTaWduYXR1cmUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAGbnVtYmVyAgAAAAdfVmVyaWZ5BQAAAAFhCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABm51bWJlcgIAAAAPX2Fzc2V0SWREZWZpbmVkBQAAAAxhc3NldElkY2hlY2sJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAAGbnVtYmVyAgAAAA9fYXNzZXRJZERlZmluZWQFAAAAB2Fzc2V0SWQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAGbkO/3Q==", "chainId": 84, "height": 588405, "spentComplexity": 0 } View: original | compacted Prev: none Next: BXt7YQP47B72UALu4rD7sLWV6NYJx1LhZ4M5TPcS7WP Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let RSAKey512 = fromBase64String("base64:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMZuLoLHV5fcuqP/KjHoQ6VsZSkSWF2AwRALrLgTUfXYsdJw1zv0t9v7IHR63g7YroCvUFSXm1RmOhS1Xjr5yIECAwEAAQ==") | |
5 | + | ||
6 | + | let RSAKey2048 = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlemr95J1jZUs7cJmrmmlN4zo7YVsBJzIeJdk8LDFGhUKSI6yfs20ZyJe21+6GJwNnKUU1Uyoc17wSWMKkrZ0MMvYE+Z5AiijvBK4sSJ3IgGjdU8/NhI8CBDu0F+xRM9q3TB3LLbDy5sBdudYfHfsUOc+MTvAD69n27db2Rh8+yZQMtubkuTQNp89sphHQaLGyQFaNlK/Na3lFx6omqzaa1gjoplUr6rvYKgfAICUB3zVmJShiEi7w7R0hWlNRD3qcZjCUONSpFo4WbzknGOazw84B+IMIFnIpXWzQL8RX0vNcfsBvLDfM6k2ZacqwyMKaLLqigdBiGdJ7W+0lOStOQIDAQAB") | |
7 | + | ||
8 | + | @Callable(i) | |
9 | + | func checkSign (number,TxId,Signature,PublicKey) = { | |
10 | + | let pmnt = extract(i.payment) | |
11 | + | let assetIdcheck = isDefined(pmnt.assetId) | |
12 | + | let assetId = match pmnt.assetId { | |
13 | + | case a: ByteVector => | |
14 | + | a | |
15 | + | case _ => | |
16 | + | "null" | |
17 | + | } | |
18 | + | let a = rsaVerify(SHA256, toBytes(TxId), Signature, RSAKey512) | |
19 | + | WriteSet([DataEntry((number + "_Pub"), PublicKey), DataEntry((number + "_TXID"), TxId), DataEntry((number + "_Signature"), Signature), DataEntry((number + "_Verify"), a), DataEntry((number + "_assetIdDefined"), assetIdcheck), DataEntry((number + "_assetIdDefined"), assetId)]) | |
20 | + | } | |
21 | + | ||
22 | + | ||
23 | + | @Verifier(tx) | |
24 | + | func verify () = true | |
25 | + |
github/deemru/w8io/169f3d6 19.70 ms ◑