tx · 38wVTx7uAFbtAEgrAadNJhYpiH9ovL6w7RPJcari3Vs7 3N1cv9B6yQfdDznWwKkGsSahdBDa9doCKfo: -0.01400000 Waves 2020.07.30 20:10 [1110615] smart account 3N1cv9B6yQfdDznWwKkGsSahdBDa9doCKfo > SELF 0.00000000 Waves
{ "type": 13, "id": "38wVTx7uAFbtAEgrAadNJhYpiH9ovL6w7RPJcari3Vs7", "fee": 1400000, "feeAssetId": null, "timestamp": 1596129152766, "version": 1, "sender": "3N1cv9B6yQfdDznWwKkGsSahdBDa9doCKfo", "senderPublicKey": "71ycm2NnMNWe5FAq5oFpf3yZ55awHUakqYPqFAV41xwZ", "proofs": [ "4jzTciU44uMk3QUKmrM28UjhnnvD84jMeo1ytkVycY828Dk2KEEgvAbKzjaMrewFqutrff2VdmB9bBGZQGvoCfWZ" ], "script": "base64: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", "chainId": 84, "height": 1110615, "spentComplexity": 0 } View: original | compacted Prev: BynugSQGB6f4xTmx1pNMFCbw23TeLpuzWZoYSQTk32bL Next: G6oQurHKnBpeoHhSgL5cLiyoj4m47k5xb8npPLKASTQD Diff:
Old | New | Differences | |
---|---|---|---|
27 | 27 | ||
28 | 28 | @Verifier(tx) | |
29 | 29 | func verify () = match tx { | |
30 | + | case dtx: DataTransaction => | |
31 | + | sigVerify(dtx.bodyBytes, dtx.proofs[0], dtx.senderPublicKey) | |
30 | 32 | case stx: SetScriptTransaction => | |
31 | 33 | sigVerify(stx.bodyBytes, stx.proofs[0], stx.senderPublicKey) | |
32 | 34 | case ttx: TransferTransaction => |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let PAR7PAY = base58'BCqo4hvDBB2dzmidJQKkVtQtkgEQVVwMy1jjV4R4tNB4' | |
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | 7 | func purchase () = { | |
8 | 8 | let payment = extract(i.payment) | |
9 | 9 | if (isDefined(payment.assetId)) | |
10 | 10 | then throw("can use WAVES only at the moment") | |
11 | 11 | else { | |
12 | 12 | let customerAddress = toBase58String(i.caller.bytes) | |
13 | 13 | let price = match getInteger(this, "item_A_coupon_price") { | |
14 | 14 | case a: Int => | |
15 | 15 | a | |
16 | 16 | case _ => | |
17 | 17 | 0 | |
18 | 18 | } | |
19 | 19 | if ((price > payment.amount)) | |
20 | 20 | then throw("purchase amount can't be less then item price") | |
21 | 21 | else if ((payment.amount > price)) | |
22 | 22 | then throw("purchase amount can't be higher then item price") | |
23 | 23 | else WriteSet([DataEntry(("status:purchase_item_A_customer_" + customerAddress), "confirmed"), DataEntry(("price:purchase_item_A_customer_" + customerAddress), price)]) | |
24 | 24 | } | |
25 | 25 | } | |
26 | 26 | ||
27 | 27 | ||
28 | 28 | @Verifier(tx) | |
29 | 29 | func verify () = match tx { | |
30 | + | case dtx: DataTransaction => | |
31 | + | sigVerify(dtx.bodyBytes, dtx.proofs[0], dtx.senderPublicKey) | |
30 | 32 | case stx: SetScriptTransaction => | |
31 | 33 | sigVerify(stx.bodyBytes, stx.proofs[0], stx.senderPublicKey) | |
32 | 34 | case ttx: TransferTransaction => | |
33 | 35 | sigVerify(ttx.bodyBytes, ttx.proofs[0], ttx.senderPublicKey) | |
34 | 36 | case mtx: MassTransferTransaction => | |
35 | 37 | sigVerify(mtx.bodyBytes, mtx.proofs[0], mtx.senderPublicKey) | |
36 | 38 | case _ => | |
37 | 39 | false | |
38 | 40 | } | |
39 | 41 |
github/deemru/w8io/c3f4982 21.01 ms ◑