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:
Old | New | Differences | |
---|---|---|---|
4 | 4 | ||
5 | 5 | ||
6 | 6 | @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 | + | } | |
8 | 43 | ||
9 | 44 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @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 | + | } | |
8 | 43 | ||
9 | 44 |
github/deemru/w8io/169f3d6 22.73 ms ◑![]()