tx · BGB7PLb3ER7WNHsrj4QHnZrEXMDBEhRgiZ24uW5HXizg

3N1kVqVL4USL4Uoy2dEN6Rqk2pXhQgfsqUN:  -0.01400000 Waves

2019.09.15 16:36 [677410] smart account 3N1kVqVL4USL4Uoy2dEN6Rqk2pXhQgfsqUN > SELF 0.00000000 Waves

{ "type": 13, "id": "BGB7PLb3ER7WNHsrj4QHnZrEXMDBEhRgiZ24uW5HXizg", "fee": 1400000, "feeAssetId": null, "timestamp": 1568554590039, "version": 1, "sender": "3N1kVqVL4USL4Uoy2dEN6Rqk2pXhQgfsqUN", "senderPublicKey": "6qNq3Wug6srPUuAQrggzvR3nvagzN3AzsR4fABCH1qMm", "proofs": [ "2nnB5eAko4T7GsZQS4LwEJvyZfJqB4sTK8TaVyHUPAZVcYKZJvwtc1s7ttvD6trGzruqo1v8ghvVdV9ScCmCvLU5" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAgAAAAFpAQAAAAZjcmVhdGUAAAABAAAAAnBrBAAAAAdwYXltZW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIIBQAAAAFpAAAAB3BheW1lbnQCAAAAE1doZXJlIGlzIGEgcGF5bWVudD8DCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACRZb3UgY2FuIHVzZSBvbmx5IFdBVkVTIGF0IHRoZSBtb21lbnQEAAAACmNvZGVFeGlzdHMEAAAAByRtYXRjaDAJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAJwawIAAAAFX3VzZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAB0Jvb2xlYW4EAAAAAWIFAAAAByRtYXRjaDAJAQAAAAEhAAAAAQUAAAABYgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAcJAQAAAAV0aHJvdwAAAAADBQAAAApjb2RlRXhpc3RzCQAAAgAAAAECAAAAD1RoZSBjb2RlIGV4aXN0cwkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAJwawIAAAAHX2Ftb3VudAgFAAAAB3BheW1lbnQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAAnBrAgAAAAVfdXNlZAcFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAACcGsAAAADc2lnBAAAAAhjb2RlVXNlZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAACcGsCAAAABV91c2VkAgAAABZUaGUgY29kZSBkb2Vzbid0IGV4aXN0AwUAAAAIY29kZVVzZWQJAAACAAAAAQIAAAAeVGhlIGNvZGUgaGFzIGFscmVhZHkgYmVlbiB1c2VkAwMJAABmAAAAAggFAAAAAWkAAAADZmVlAAAAAAAAB6EgBgkBAAAAAiE9AAAAAggFAAAAAWkAAAAKZmVlQXNzZXRJZAUAAAAEdW5pdAkAAAIAAAABAgAAAC1GZWUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDUgV0FWRVMEAAAABXZhbGlkCQAB9AAAAAMIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAlkAAAABBQAAAANzaWcJAAJZAAAAAQUAAAACcGsDCQEAAAABIQAAAAEFAAAABXZhbGlkCQAAAgAAAAECAAAADEludmFsaWQgY29kZQQAAAAGYW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAAAnBrAgAAAAdfYW1vdW50CQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACBQAAAAJwawIAAAAFX3VzZWQGBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyCQAAZAAAAAIFAAAABmFtb3VudAgFAAAAAWkAAAADZmVlBQAAAAR1bml0BQAAAANuaWwAAAAAR3Z8EQ==", "chainId": 84, "height": 677410, "spentComplexity": 0 } View: original | compacted Prev: G9s1UWtKRvZpv2H2KcB16kJbkeRZ2VQvMFUkxUU5txsp Next: 3FDc8DWkU3aGmDiMq5BjhMLCRYbeSN3w45vQ8bjGy6Go Diff:
OldNewDifferences
3636 then throw("Fee must be less than or equal to 0.005 WAVES")
3737 else {
3838 let valid = sigVerify(i.callerPublicKey, fromBase58String(sig), fromBase58String(pk))
39- let amount = getIntegerValue(this, (pk + "_amount"))
40- ScriptResult(WriteSet([DataEntry((pk + "_used"), true)]), TransferSet([ScriptTransfer(i.caller, (amount + i.fee), unit)]))
39+ if (!(valid))
40+ then throw("Invalid code")
41+ else {
42+ let amount = getIntegerValue(this, (pk + "_amount"))
43+ ScriptResult(WriteSet([DataEntry((pk + "_used"), true)]), TransferSet([ScriptTransfer(i.caller, (amount + i.fee), unit)]))
44+ }
4145 }
4246 }
4347
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func create (pk) = {
88 let payment = valueOrErrorMessage(i.payment, "Where is a payment?")
99 if (isDefined(payment.assetId))
1010 then throw("You can use only WAVES at the moment")
1111 else {
1212 let codeExists = match getBoolean(this, (pk + "_used")) {
1313 case b: Boolean =>
1414 !(b)
1515 case _: Unit =>
1616 false
1717 case _ =>
1818 throw()
1919 }
2020 if (codeExists)
2121 then throw("The code exists")
2222 else WriteSet([DataEntry((pk + "_amount"), payment.amount), DataEntry((pk + "_used"), false)])
2323 }
2424 }
2525
2626
2727
2828 @Callable(i)
2929 func withdraw (pk,sig) = {
3030 let codeUsed = valueOrErrorMessage(getBoolean(this, (pk + "_used")), "The code doesn't exist")
3131 if (codeUsed)
3232 then throw("The code has already been used")
3333 else if (if ((i.fee > 500000))
3434 then true
3535 else (i.feeAssetId != unit))
3636 then throw("Fee must be less than or equal to 0.005 WAVES")
3737 else {
3838 let valid = sigVerify(i.callerPublicKey, fromBase58String(sig), fromBase58String(pk))
39- let amount = getIntegerValue(this, (pk + "_amount"))
40- ScriptResult(WriteSet([DataEntry((pk + "_used"), true)]), TransferSet([ScriptTransfer(i.caller, (amount + i.fee), unit)]))
39+ if (!(valid))
40+ then throw("Invalid code")
41+ else {
42+ let amount = getIntegerValue(this, (pk + "_amount"))
43+ ScriptResult(WriteSet([DataEntry((pk + "_used"), true)]), TransferSet([ScriptTransfer(i.caller, (amount + i.fee), unit)]))
44+ }
4145 }
4246 }
4347
4448

github/deemru/w8io/026f985 
38.72 ms