tx · C59b4rd8oNwbfbL7UnHK1ZMSJf9e34ExSkKvmZs3kJQE
3MukPacWskGGNcT8ubWWzSwVPa9ah9KHvuB: -0.01500000 Waves
2019.06.26 20:30 [559397] smart account 3MukPacWskGGNcT8ubWWzSwVPa9ah9KHvuB > SELF 0.00000000 Waves
{
"type": 13,
"id": "C59b4rd8oNwbfbL7UnHK1ZMSJf9e34ExSkKvmZs3kJQE",
"fee": 1500000,
"feeAssetId": null,
"timestamp": 1561570251089,
"version": 1,
"sender": "3MukPacWskGGNcT8ubWWzSwVPa9ah9KHvuB",
"senderPublicKey": "H3q3RM4MQSLjCTYpgaitRNz8cKHhMtcwoUfc2c86cfej",
"proofs": [
"4whbs61EDr16Bj3kJvQQDfR7V38U3dGkf1ZzbhrsSt2XYBfa2UuKGC3yGKZLEqTHWH9k5UTVbYEfmxj571Gh7uqF"
],
"script": "base64:AAIDAAAAAAAAAAAAAAAFAAAAAAZwdWJLZXkJAAJbAAAAAQIAAADfYmFzZTY0Ok1JR2ZNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0R05BRENCaVFLQmdRRGR0UkNGcjVtZ0lSbHlVaUxBa2JhdC9COGI1SU5DKzFqR2VtTzhNQk05bUFDU3NGRVdUWTJCYXc4L3BYcWlzVUw2TVM0ZWcycDhTenRjbHhWRzVOQjl3R2FFN3A0ZGc0cWlSWFZPYUFxdkx6RGJKdG5XdmhyQlFya1pLYUExRnNXZmZnSjZzeXN3cDk0ZWtDYzA2TkxSd3k0WWhHMXZwTTJxSFptZXJDRkM5UUlEQVFBQgAAAAAEcHJpdgIAAAAsSGtLbTVqS3FENEZ5Q3ZQRlBwc0VGZWhHb2JDRjhIQW5zQTdwQWZEOHBkcjEAAAAABHR4SWQJAAGbAAAAAQIAAAAsOTlnaTV0TTVrVWVLUlUzSHpneWtydjV1OVlVNXdvRUZjYUY1eFJ6NzZqNlYAAAAACXNpZ25hdHVyZQkAAZsAAAABAgAAAKxtMHp3UDloSnZ0Nm9NWFk4UEdPMU5GekxvRE9QUTZNYk1teG5mcXB3Rnp4Z09ZTVNPaythVjdQZ2p6dWhDcmFtbmNBMlNNNUwxLzRHYThMbGFuUElLaW11QVluZEZNTEtMSjd0cDNTL29XL1RpcVUvL3lXQm9oUnN1RUlGamdTM0txL2taM0h2bm1CV2ZGRmxnVlJqbzNPZURzMWI3WExIVUhzWExLT0xneVU9AAAAAAlSU0FQVUJMSUMJAAJbAAAAAQIAAAGPYmFzZTY0Ok1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcWxBaUFOU21CcERIWUtQOXNLZ2VOL2wxYkFiMjhnL3RHbGdEa3dUNUZpTU40WDNwd2R2ZHhFN212U1I4LzQxZFU5cng0akcrNnRacGIxVUxWRFBzNDMxdFIySVJhVFh3NUNqK0FjMnZoTCs1SmFtQ2VyR0QxVVcrYmgvRUdRdHhvOFczWUxEcm9mWEI1UUhKeDRQa3oyS2dmK29TL0M4aEh1Qi9VNGtyTzc2VTA1MDdHVGpaUFA5a1JRMHVMU01lcVFYdDh3WFMrbk1wNXdhanF4UHBETE1hU1JFZ3NLd3YvQUVrUDRkenBUWWJpa0xCWWw0cXRkSnNEODRITEZTa2l3ZDNCaGNPclBqb0lZbUx4UXVCRDVUSU1LVEtEM3NkWmdhWTlyc3lxeDNBMDBpbm55eEQ2enAzYjRnRnBVT1g4SnhLWmRFQzJteUVxbGVOZ2c3R3p3SURBUUFCAAAAAQAAAAFpAQAAAAljaGVja1NpZ24AAAABAAAABm51bWJlcgQAAAABYQMJAAH4AAAABAUAAAAGU0hBMjU2BQAAAAR0eElkBQAAAAlzaWduYXR1cmUFAAAABnB1YktleQAAAAAAAAAAAQAAAAAAAAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAZudW1iZXICAAAABF9QdWIFAAAACVJTQVBVQkxJQwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAZudW1iZXICAAAABV9UWElEBQAAAAR0eElkCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABm51bWJlcgIAAAAHX1ZlcmlmeQUAAAABYQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAZOCykE",
"chainId": 84,
"height": 559397,
"spentComplexity": 0
}
View: original | compacted
Prev: 5R7UtVZV1HdDpC7q5e1rAXZFpXmH1XS4PAJRKv5FDe9P
Next: 4FJ6kcmMn52BN31FxNSoc6f3VESsVsmmXShorKvYdwfZ
Diff:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | let pubKey = "286SBoDbke8YQRt7VBgoLGJ3vz4ci3JZ7chDSGB5YSK2" |
---|
| 4 | + | let pubKey = fromBase64String("base64:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdtRCFr5mgIRlyUiLAkbat/B8b5INC+1jGemO8MBM9mACSsFEWTY2Baw8/pXqisUL6MS4eg2p8SztclxVG5NB9wGaE7p4dg4qiRXVOaAqvLzDbJtnWvhrBQrkZKaA1FsWffgJ6syswp94ekCc06NLRwy4YhG1vpM2qHZmerCFC9QIDAQAB") |
---|
5 | 5 | | |
---|
6 | 6 | | let priv = "HkKm5jKqD4FyCvPFPpsEFehGobCF8HAnsA7pAfD8pdr1" |
---|
7 | 7 | | |
---|
8 | 8 | | let txId = toBytes("99gi5tM5kUeKRU3Hzgykrv5u9YU5woEFcaF5xRz76j6V") |
---|
9 | 9 | | |
---|
| 10 | + | let signature = toBytes("m0zwP9hJvt6oMXY8PGO1NFzLoDOPQ6MbMmxnfqpwFzxgOYMSOk+aV7PgjzuhCramncA2SM5L1/4Ga8LlanPIKimuAYndFMLKLJ7tp3S/oW/TiqU//yWBohRsuEIFjgS3Kq/kZ3HvnmBWfFFlgVRjo3OeDs1b7XLHUHsXLKOLgyU=") |
---|
| 11 | + | |
---|
10 | 12 | | let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlAiANSmBpDHYKP9sKgeN/l1bAb28g/tGlgDkwT5FiMN4X3pwdvdxE7mvSR8/41dU9rx4jG+6tZpb1ULVDPs431tR2IRaTXw5Cj+Ac2vhL+5JamCerGD1UW+bh/EGQtxo8W3YLDrofXB5QHJx4Pkz2Kgf+oS/C8hHuB/U4krO76U0507GTjZPP9kRQ0uLSMeqQXt8wXS+nMp5wajqxPpDLMaSREgsKwv/AEkP4dzpTYbikLBYl4qtdJsD84HLFSkiwd3BhcOrPjoIYmLxQuBD5TIMKTKD3sdZgaY9rsyqx3A00innyxD6zp3b4gFpUOX8JxKZdEC2myEqleNgg7GzwIDAQAB") |
---|
11 | 13 | | |
---|
12 | 14 | | @Callable(i) |
---|
13 | | - | func checkSign (number) = WriteSet([DataEntry((number + "_Pub"), RSAPUBLIC), DataEntry((number + "_TXID"), txId)]) |
---|
| 15 | + | func checkSign (number) = { |
---|
| 16 | + | let a = if (rsaVerify(SHA256, txId, signature, pubKey)) |
---|
| 17 | + | then 1 |
---|
| 18 | + | else 2 |
---|
| 19 | + | WriteSet([DataEntry((number + "_Pub"), RSAPUBLIC), DataEntry((number + "_TXID"), txId), DataEntry((number + "_Verify"), a)]) |
---|
| 20 | + | } |
---|
14 | 21 | | |
---|
15 | 22 | | |
---|
16 | 23 | | @Verifier(tx) |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | | - | let pubKey = "286SBoDbke8YQRt7VBgoLGJ3vz4ci3JZ7chDSGB5YSK2" |
---|
| 4 | + | let pubKey = fromBase64String("base64:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDdtRCFr5mgIRlyUiLAkbat/B8b5INC+1jGemO8MBM9mACSsFEWTY2Baw8/pXqisUL6MS4eg2p8SztclxVG5NB9wGaE7p4dg4qiRXVOaAqvLzDbJtnWvhrBQrkZKaA1FsWffgJ6syswp94ekCc06NLRwy4YhG1vpM2qHZmerCFC9QIDAQAB") |
---|
5 | 5 | | |
---|
6 | 6 | | let priv = "HkKm5jKqD4FyCvPFPpsEFehGobCF8HAnsA7pAfD8pdr1" |
---|
7 | 7 | | |
---|
8 | 8 | | let txId = toBytes("99gi5tM5kUeKRU3Hzgykrv5u9YU5woEFcaF5xRz76j6V") |
---|
9 | 9 | | |
---|
| 10 | + | let signature = toBytes("m0zwP9hJvt6oMXY8PGO1NFzLoDOPQ6MbMmxnfqpwFzxgOYMSOk+aV7PgjzuhCramncA2SM5L1/4Ga8LlanPIKimuAYndFMLKLJ7tp3S/oW/TiqU//yWBohRsuEIFjgS3Kq/kZ3HvnmBWfFFlgVRjo3OeDs1b7XLHUHsXLKOLgyU=") |
---|
| 11 | + | |
---|
10 | 12 | | let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlAiANSmBpDHYKP9sKgeN/l1bAb28g/tGlgDkwT5FiMN4X3pwdvdxE7mvSR8/41dU9rx4jG+6tZpb1ULVDPs431tR2IRaTXw5Cj+Ac2vhL+5JamCerGD1UW+bh/EGQtxo8W3YLDrofXB5QHJx4Pkz2Kgf+oS/C8hHuB/U4krO76U0507GTjZPP9kRQ0uLSMeqQXt8wXS+nMp5wajqxPpDLMaSREgsKwv/AEkP4dzpTYbikLBYl4qtdJsD84HLFSkiwd3BhcOrPjoIYmLxQuBD5TIMKTKD3sdZgaY9rsyqx3A00innyxD6zp3b4gFpUOX8JxKZdEC2myEqleNgg7GzwIDAQAB") |
---|
11 | 13 | | |
---|
12 | 14 | | @Callable(i) |
---|
13 | | - | func checkSign (number) = WriteSet([DataEntry((number + "_Pub"), RSAPUBLIC), DataEntry((number + "_TXID"), txId)]) |
---|
| 15 | + | func checkSign (number) = { |
---|
| 16 | + | let a = if (rsaVerify(SHA256, txId, signature, pubKey)) |
---|
| 17 | + | then 1 |
---|
| 18 | + | else 2 |
---|
| 19 | + | WriteSet([DataEntry((number + "_Pub"), RSAPUBLIC), DataEntry((number + "_TXID"), txId), DataEntry((number + "_Verify"), a)]) |
---|
| 20 | + | } |
---|
14 | 21 | | |
---|
15 | 22 | | |
---|
16 | 23 | | @Verifier(tx) |
---|
17 | 24 | | func verify () = true |
---|
18 | 25 | | |
---|