tx · 7HTPJoMsyRS7bNJQHEqgvYaLerny5V2owN2i2CkEyeA1

3Mup4uG7mXS2N9Fuk3JtEpoKKmzA2PtQcUY:  -0.01400000 Waves

2019.09.24 09:51 [690099] smart account 3Mup4uG7mXS2N9Fuk3JtEpoKKmzA2PtQcUY > SELF 0.00000000 Waves

{ "type": 13, "id": "7HTPJoMsyRS7bNJQHEqgvYaLerny5V2owN2i2CkEyeA1", "fee": 1400000, "feeAssetId": null, "timestamp": 1569307942988, "version": 1, "sender": "3Mup4uG7mXS2N9Fuk3JtEpoKKmzA2PtQcUY", "senderPublicKey": "6VdgiscuZ9B1c2urnAVPPVaCS5afNjzf1RpG2SS3GUy6", "proofs": [ "48FpVz3VYXucSAuDQ3tdRUgknrf3Cn2JnXCTe7tC8urXnB2GgwcNhE1tWteotjq69WP27pkXsxwWD2DDcE1X5taW" ], "script": "base64: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", "chainId": 84, "height": 690099, "spentComplexity": 0 } View: original | compacted Prev: 3QHfLGjZJPqW5QLD2PNjyp9je3GHAJCf2DHEHBjdBRLx Next: Dv9zBtX2HYdBs2d24SNFwg1y1eB5RBu6L5zEnqBxiHKb Diff:
OldNewDifferences
88 let bank = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
99
1010 @Callable(invoke)
11-func fileCertification (hash,title,uuid) = {
11+func fileCertification (hash,title,timestamp,uuid) = {
1212 let payment = extract(invoke.payment)
1313 let amount = extract(payment.amount)
1414 let id = extract(invoke.transactionId)
2828 then throw("Only payments in SIGN are allowed at the moment")
2929 else if ((amount != currentPrice))
3030 then throw("The price is wrong")
31- else ScriptResult(WriteSet([DataEntry(("sender_" + toBase58String(id)), toBase58String(invoke.caller.bytes)), DataEntry(((hash + "_") + uuid), toBase58String(id)), DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
31+ else ScriptResult(WriteSet([DataEntry(((hash + "_") + uuid), toBase58String(id)), DataEntry(((("timestamp" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), timestamp), DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
32+ }
33+ }
34+
35+
36+
37+@Callable(invoke)
38+func fileCertificationJson (hash,title,timestamp,uuid,data) = {
39+ let payment = extract(invoke.payment)
40+ let amount = extract(payment.amount)
41+ let id = extract(invoke.transactionId)
42+ let entryExist = match getString(this, ((hash + "_") + uuid)) {
43+ case a: String =>
44+ a
45+ case _ =>
46+ "NONE"
47+ }
48+ if ((entryExist != "NONE"))
49+ then throw("This entry already exist")
50+ else {
51+ let paymentAssetId = if (isDefined(payment.assetId))
52+ then extract(payment.assetId)
53+ else throw("Waves is not accepted as payment")
54+ if ((paymentAssetId != acceptedToken))
55+ then throw("Only payments in SIGN are allowed at the moment")
56+ else if ((amount != currentPrice))
57+ then throw("The price is wrong")
58+ else ScriptResult(WriteSet([DataEntry(((hash + "_") + uuid), toBase58String(id)), DataEntry(((("timestamp" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), timestamp), DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("data_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), data), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
3259 }
3360 }
3461
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let acceptedToken = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a'
55
66 let currentPrice = 350000000000
77
88 let bank = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
99
1010 @Callable(invoke)
11-func fileCertification (hash,title,uuid) = {
11+func fileCertification (hash,title,timestamp,uuid) = {
1212 let payment = extract(invoke.payment)
1313 let amount = extract(payment.amount)
1414 let id = extract(invoke.transactionId)
1515 let entryExist = match getString(this, ((hash + "_") + uuid)) {
1616 case a: String =>
1717 a
1818 case _ =>
1919 "NONE"
2020 }
2121 if ((entryExist != "NONE"))
2222 then throw("This entry already exist")
2323 else {
2424 let paymentAssetId = if (isDefined(payment.assetId))
2525 then extract(payment.assetId)
2626 else throw("Waves is not accepted as payment")
2727 if ((paymentAssetId != acceptedToken))
2828 then throw("Only payments in SIGN are allowed at the moment")
2929 else if ((amount != currentPrice))
3030 then throw("The price is wrong")
31- else ScriptResult(WriteSet([DataEntry(("sender_" + toBase58String(id)), toBase58String(invoke.caller.bytes)), DataEntry(((hash + "_") + uuid), toBase58String(id)), DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
31+ else ScriptResult(WriteSet([DataEntry(((hash + "_") + uuid), toBase58String(id)), DataEntry(((("timestamp" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), timestamp), DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
32+ }
33+ }
34+
35+
36+
37+@Callable(invoke)
38+func fileCertificationJson (hash,title,timestamp,uuid,data) = {
39+ let payment = extract(invoke.payment)
40+ let amount = extract(payment.amount)
41+ let id = extract(invoke.transactionId)
42+ let entryExist = match getString(this, ((hash + "_") + uuid)) {
43+ case a: String =>
44+ a
45+ case _ =>
46+ "NONE"
47+ }
48+ if ((entryExist != "NONE"))
49+ then throw("This entry already exist")
50+ else {
51+ let paymentAssetId = if (isDefined(payment.assetId))
52+ then extract(payment.assetId)
53+ else throw("Waves is not accepted as payment")
54+ if ((paymentAssetId != acceptedToken))
55+ then throw("Only payments in SIGN are allowed at the moment")
56+ else if ((amount != currentPrice))
57+ then throw("The price is wrong")
58+ else ScriptResult(WriteSet([DataEntry(((hash + "_") + uuid), toBase58String(id)), DataEntry(((("timestamp" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), timestamp), DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("data_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), data), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
3259 }
3360 }
3461
3562

github/deemru/w8io/873ac7e 
21.67 ms