tx · EkR8CrwUQEaoUjfYcmYZaRBDCDRfTqfSC74ccxfHWNwX

3N1kVqVL4USL4Uoy2dEN6Rqk2pXhQgfsqUN:  -0.01400000 Waves

2019.09.15 16:12 [677383] smart account 3N1kVqVL4USL4Uoy2dEN6Rqk2pXhQgfsqUN > SELF 0.00000000 Waves

{ "type": 13, "id": "EkR8CrwUQEaoUjfYcmYZaRBDCDRfTqfSC74ccxfHWNwX", "fee": 1400000, "feeAssetId": null, "timestamp": 1568553135661, "version": 1, "sender": "3N1kVqVL4USL4Uoy2dEN6Rqk2pXhQgfsqUN", "senderPublicKey": "6qNq3Wug6srPUuAQrggzvR3nvagzN3AzsR4fABCH1qMm", "proofs": [ "4Mi75N4pA2iCeGwEfE5Gcobe8XMGpYT129NfaCSi6Ny34yFMfkN8JZDdvHxGMnrNpKtaRemSVmejoym3FUmNP3Kf" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAgAAAAFpAQAAAAZjcmVhdGUAAAABAAAAAnBrBAAAAAdwYXltZW50CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIIBQAAAAFpAAAAB3BheW1lbnQCAAAAE1doZXJlIGlzIGEgcGF5bWVudD8DCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAkAAAIAAAABAgAAACRZb3UgY2FuIHVzZSBvbmx5IFdBVkVTIGF0IHRoZSBtb21lbnQEAAAACGNvZGVVc2VkBAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAACcGsCAAAABV91c2VkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAdCb29sZWFuBAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BwkBAAAABXRocm93AAAAAAMJAQAAAAEhAAAAAQUAAAAIY29kZVVzZWQJAAACAAAAAQIAAAAPVGhlIGNvZGUgZXhpc3RzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAAAnBrAgAAAAdfYW1vdW50CAUAAAAHcGF5bWVudAAAAAZhbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAACcGsCAAAABV91c2VkBwUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAJwawAAAANzaWcEAAAACGNvZGVVc2VkCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAJwawIAAAAFX3VzZWQCAAAAFlRoZSBjb2RlIGRvZXNuJ3QgZXhpc3QDBQAAAAhjb2RlVXNlZAkAAAIAAAABAgAAAB5UaGUgY29kZSBoYXMgYWxyZWFkeSBiZWVuIHVzZWQDAwkAAGYAAAACCAUAAAABaQAAAANmZWUAAAAAAAAHoSAGCQEAAAACIT0AAAACCAUAAAABaQAAAApmZWVBc3NldElkBQAAAAR1bml0CQAAAgAAAAECAAAALUZlZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwNSBXQVZFUwQAAAAFdmFsaWQJAAH0AAAAAwgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkAAlkAAAABBQAAAANzaWcJAAJZAAAAAQUAAAACcGsEAAAABmFtb3VudAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAJwawIAAAAHX2Ftb3VudAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgUAAAACcGsCAAAABV91c2VkBgUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGQAAAACBQAAAAZhbW91bnQIBQAAAAFpAAAAA2ZlZQUAAAAEdW5pdAUAAAADbmlsAAAAANjMZNg=", "chainId": 84, "height": 677383, "spentComplexity": 0 } View: original | compacted Prev: Gafqha7dwpcyRKgL1vAmamgME9zt5TpEnMHXGQyQyGzr Next: 46eWTbMTm2nAfwZk3AAKb3wbtG6gJV6v9DhhDyKmGSEF Diff:
OldNewDifferences
44
55
66 @Callable(i)
7-func test () = ScriptResult(WriteSet([DataEntry(toBase58String(i.transactionId), true)]), TransferSet([ScriptTransfer(i.caller, i.fee, unit)]))
7+func create (pk) = {
8+ let payment = valueOrErrorMessage(i.payment, "Where is a payment?")
9+ if (isDefined(payment.assetId))
10+ then throw("You can use only WAVES at the moment")
11+ else {
12+ let codeUsed = match getBoolean(this, (pk + "_used")) {
13+ case b: Boolean =>
14+ b
15+ case _: Unit =>
16+ false
17+ case _ =>
18+ throw()
19+ }
20+ if (!(codeUsed))
21+ then throw("The code exists")
22+ else WriteSet([DataEntry((pk + "_amount"), payment.amount), DataEntry((pk + "_used"), false)])
23+ }
24+ }
25+
26+
27+
28+@Callable(i)
29+func withdraw (pk,sig) = {
30+ let codeUsed = valueOrErrorMessage(getBoolean(this, (pk + "_used")), "The code doesn't exist")
31+ if (codeUsed)
32+ then throw("The code has already been used")
33+ else if (if ((i.fee > 500000))
34+ then true
35+ else (i.feeAssetId != unit))
36+ then throw("Fee must be less than or equal to 0.005 WAVES")
37+ else {
38+ let valid = sigVerify(i.caller.bytes, 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)]))
41+ }
42+ }
843
944
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
7-func test () = ScriptResult(WriteSet([DataEntry(toBase58String(i.transactionId), true)]), TransferSet([ScriptTransfer(i.caller, i.fee, unit)]))
7+func create (pk) = {
8+ let payment = valueOrErrorMessage(i.payment, "Where is a payment?")
9+ if (isDefined(payment.assetId))
10+ then throw("You can use only WAVES at the moment")
11+ else {
12+ let codeUsed = match getBoolean(this, (pk + "_used")) {
13+ case b: Boolean =>
14+ b
15+ case _: Unit =>
16+ false
17+ case _ =>
18+ throw()
19+ }
20+ if (!(codeUsed))
21+ then throw("The code exists")
22+ else WriteSet([DataEntry((pk + "_amount"), payment.amount), DataEntry((pk + "_used"), false)])
23+ }
24+ }
25+
26+
27+
28+@Callable(i)
29+func withdraw (pk,sig) = {
30+ let codeUsed = valueOrErrorMessage(getBoolean(this, (pk + "_used")), "The code doesn't exist")
31+ if (codeUsed)
32+ then throw("The code has already been used")
33+ else if (if ((i.fee > 500000))
34+ then true
35+ else (i.feeAssetId != unit))
36+ then throw("Fee must be less than or equal to 0.005 WAVES")
37+ else {
38+ let valid = sigVerify(i.caller.bytes, 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)]))
41+ }
42+ }
843
944

github/deemru/w8io/169f3d6 
22.73 ms