tx · 2CCUqxLuVC1gNEhJJ7jVWwu9xgs2AyiyYYKMXvaPdSNM 3N2nCHvKXtFH8RUsGQB4LVEwVEWfTsT5i2B: -0.01400000 Waves 2019.07.14 17:36 [585538] smart account 3N2nCHvKXtFH8RUsGQB4LVEwVEWfTsT5i2B > SELF 0.00000000 Waves
{ "type": 13, "id": "2CCUqxLuVC1gNEhJJ7jVWwu9xgs2AyiyYYKMXvaPdSNM", "fee": 1400000, "feeAssetId": null, "timestamp": 1563114966887, "version": 1, "sender": "3N2nCHvKXtFH8RUsGQB4LVEwVEWfTsT5i2B", "senderPublicKey": "6NXakHCUpkyyHNuwDVZ4gYubvvbuP2qL6v2WzJhniSN1", "proofs": [ "35aVi5XfezDpr5C7QgHcVLvwnoygD6RapSZF515Xx6jCwQx5SPi81Xr87cytfiRHhJZSH7kVLzWzuV7M3LmdLj3y" ], "script": "base64:AAIDAAAAAAAAAAAAAAAAAAAAAQAAAAFpAQAAAAhwdXJjaGFzZQAAAAEAAAAGaXRlbUlEBAAAAARweW10CQEAAAAHZXh0cmFjdAAAAAEIBQAAAAFpAAAAB3BheW1lbnQDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZpdGVtSUQJAAACAAAAAQIAAAAtU3BlY2lmaWNhcmUgaWwgcHJvZG90dG8gY2hlIHNpIHZ1b2xlIGNvbXByYXJlAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAARweW10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAmVXRpbGl6emFyZSBzb2xvIFdBVkVTIHBlciBpbCBwYWdhbWVudG8EAAAABXByaWNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACAgAAAAVpdGVtXwUAAAAGaXRlbUlEAgAAAAZfcHJpY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMJAABmAAAAAgUAAAAFcHJpY2UIBQAAAARweW10AAAABmFtb3VudAkAAAIAAAABAgAAAC1MJ29mZmVydGEgbm9uIHB1w7IgZXNzZXJlIGluZmVyaW9yZSBhbCBwcmV6em8DCQAAZgAAAAIIBQAAAARweW10AAAABmFtb3VudAUAAAAFcHJpY2UJAAACAAAAAQIAAAAtTCdvZmZlcnRhIG5vbiBwdcOyIGVzc2VyZSBzdXBlcmlvcmUgYWwgcHJlenpvBAAAAA1jYWxsZXJBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFXN0YXR1czphY3F1aXN0b19pdGVtXwUAAAAGaXRlbUlEAgAAAAlfY2xpZW50ZV8FAAAADWNhbGxlckFkZHJlc3MCAAAACmNvbmZlcm1hdG8JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAFXByZXp6bzphY3F1aXN0b19pdGVtXwUAAAAGaXRlbUlEAgAAAAlfY2xpZW50ZV8FAAAADWNhbGxlckFkZHJlc3MFAAAABXByaWNlBQAAAANuaWwAAAAAvmIwIw==", "chainId": 84, "height": 585538, "spentComplexity": 0 } View: original | compacted Prev: 724VMA5PwF7SbVe31mMU7FkbCF9EfH91GyHrvE7j4oTP Next: 2cN3NM4v9ScPtFWhuYNtDaGvvNtJazbRXN9sB2VDm9XD Diff:
Old | New | Differences | |
---|---|---|---|
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | - | func purchase () = { | |
7 | + | func purchase (itemID) = { | |
8 | 8 | let pymt = extract(i.payment) | |
9 | - | if (isDefined(pymt.assetId)) | |
10 | - | then throw("Utilizzare solo WAVES per il pagamento") | |
11 | - | else { | |
12 | - | let price = match getInteger(this, "item_A_price") { | |
13 | - | case a: Int => | |
14 | - | a | |
15 | - | case _ => | |
16 | - | 0 | |
17 | - | } | |
18 | - | if ((price > pymt.amount)) | |
19 | - | then throw("L'offerta non può essere inferiore al prezzo") | |
20 | - | else if ((pymt.amount > price)) | |
21 | - | then throw("L'offerta non può essere superiore al prezzo") | |
22 | - | else { | |
23 | - | let callerAddress = toBase58String(i.caller.bytes) | |
24 | - | WriteSet([DataEntry(("status:acquisto_item_A_cliente_" + callerAddress), "confermato"), DataEntry(("prezzo:acquisto_item_A_cliente_" + callerAddress), price)]) | |
25 | - | } | |
26 | - | } | |
9 | + | if (!(isDefined(itemID))) | |
10 | + | then throw("Specificare il prodotto che si vuole comprare") | |
11 | + | else if (isDefined(pymt.assetId)) | |
12 | + | then throw("Utilizzare solo WAVES per il pagamento") | |
13 | + | else { | |
14 | + | let price = match getInteger(this, (("item_" + itemID) + "_price")) { | |
15 | + | case a: Int => | |
16 | + | a | |
17 | + | case _ => | |
18 | + | 0 | |
19 | + | } | |
20 | + | if ((price > pymt.amount)) | |
21 | + | then throw("L'offerta non può essere inferiore al prezzo") | |
22 | + | else if ((pymt.amount > price)) | |
23 | + | then throw("L'offerta non può essere superiore al prezzo") | |
24 | + | else { | |
25 | + | let callerAddress = toBase58String(i.caller.bytes) | |
26 | + | WriteSet([DataEntry(((("status:acquisto_item_" + itemID) + "_cliente_") + callerAddress), "confermato"), DataEntry(((("prezzo:acquisto_item_" + itemID) + "_cliente_") + callerAddress), price)]) | |
27 | + | } | |
28 | + | } | |
27 | 29 | } | |
28 | 30 | ||
29 | 31 |
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 purchase () = { | |
7 | + | func purchase (itemID) = { | |
8 | 8 | let pymt = extract(i.payment) | |
9 | - | if (isDefined(pymt.assetId)) | |
10 | - | then throw("Utilizzare solo WAVES per il pagamento") | |
11 | - | else { | |
12 | - | let price = match getInteger(this, "item_A_price") { | |
13 | - | case a: Int => | |
14 | - | a | |
15 | - | case _ => | |
16 | - | 0 | |
17 | - | } | |
18 | - | if ((price > pymt.amount)) | |
19 | - | then throw("L'offerta non può essere inferiore al prezzo") | |
20 | - | else if ((pymt.amount > price)) | |
21 | - | then throw("L'offerta non può essere superiore al prezzo") | |
22 | - | else { | |
23 | - | let callerAddress = toBase58String(i.caller.bytes) | |
24 | - | WriteSet([DataEntry(("status:acquisto_item_A_cliente_" + callerAddress), "confermato"), DataEntry(("prezzo:acquisto_item_A_cliente_" + callerAddress), price)]) | |
25 | - | } | |
26 | - | } | |
9 | + | if (!(isDefined(itemID))) | |
10 | + | then throw("Specificare il prodotto che si vuole comprare") | |
11 | + | else if (isDefined(pymt.assetId)) | |
12 | + | then throw("Utilizzare solo WAVES per il pagamento") | |
13 | + | else { | |
14 | + | let price = match getInteger(this, (("item_" + itemID) + "_price")) { | |
15 | + | case a: Int => | |
16 | + | a | |
17 | + | case _ => | |
18 | + | 0 | |
19 | + | } | |
20 | + | if ((price > pymt.amount)) | |
21 | + | then throw("L'offerta non può essere inferiore al prezzo") | |
22 | + | else if ((pymt.amount > price)) | |
23 | + | then throw("L'offerta non può essere superiore al prezzo") | |
24 | + | else { | |
25 | + | let callerAddress = toBase58String(i.caller.bytes) | |
26 | + | WriteSet([DataEntry(((("status:acquisto_item_" + itemID) + "_cliente_") + callerAddress), "confermato"), DataEntry(((("prezzo:acquisto_item_" + itemID) + "_cliente_") + callerAddress), price)]) | |
27 | + | } | |
28 | + | } | |
27 | 29 | } | |
28 | 30 | ||
29 | 31 |
github/deemru/w8io/169f3d6 22.42 ms ◑![]()