tx · 3QHfLGjZJPqW5QLD2PNjyp9je3GHAJCf2DHEHBjdBRLx

3Mup4uG7mXS2N9Fuk3JtEpoKKmzA2PtQcUY:  -0.01400000 Waves

2019.09.24 06:51 [689919] smart account 3Mup4uG7mXS2N9Fuk3JtEpoKKmzA2PtQcUY > SELF 0.00000000 Waves

{ "type": 13, "id": "3QHfLGjZJPqW5QLD2PNjyp9je3GHAJCf2DHEHBjdBRLx", "fee": 1400000, "feeAssetId": null, "timestamp": 1569297143944, "version": 1, "sender": "3Mup4uG7mXS2N9Fuk3JtEpoKKmzA2PtQcUY", "senderPublicKey": "6VdgiscuZ9B1c2urnAVPPVaCS5afNjzf1RpG2SS3GUy6", "proofs": [ "3xo32JbcNCN6qAHq4PFSJ7mRckcqxsC7MvroVgLPH6sjLWDLPUmrVqN6BtJKeHzBVCAuzsjdst8LwBomBChYuZay" ], "script": "base64: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", "chainId": 84, "height": 689919, "spentComplexity": 0 } View: original | compacted Prev: 5VZMS3VSepFaPs65eFmCZ8nY85aDsUNjkcLPkmXr6zNp Next: 7HTPJoMsyRS7bNJQHEqgvYaLerny5V2owN2i2CkEyeA1 Diff:
OldNewDifferences
88 let bank = "3N1E6tXddRoVaRfQ9dQ3vg5LaW2fsd8HKub"
99
1010 @Callable(invoke)
11-func fileCertification (hash,title) = {
11+func fileCertification (hash,title,uuid) = {
1212 let payment = extract(invoke.payment)
1313 let amount = extract(payment.amount)
1414 let id = extract(invoke.transactionId)
15- let paymentAssetId = if (isDefined(payment.assetId))
16- then extract(payment.assetId)
17- else throw("Waves is not accepted as payment")
18- if ((paymentAssetId != acceptedToken))
19- then throw("Only payments in SIGN are allowed at the moment")
20- else if ((amount != currentPrice))
21- then throw("The price is wrong")
22- else ScriptResult(WriteSet([DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
15+ let entryExist = match getString(this, ((hash + "_") + uuid)) {
16+ case a: String =>
17+ a
18+ case _ =>
19+ "NONE"
20+ }
21+ if ((entryExist != "NONE"))
22+ then throw("This entry already exist")
23+ else {
24+ let paymentAssetId = if (isDefined(payment.assetId))
25+ then extract(payment.assetId)
26+ else throw("Waves is not accepted as payment")
27+ if ((paymentAssetId != acceptedToken))
28+ then throw("Only payments in SIGN are allowed at the moment")
29+ else if ((amount != currentPrice))
30+ 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)]))
32+ }
2333 }
2434
2535
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) = {
11+func fileCertification (hash,title,uuid) = {
1212 let payment = extract(invoke.payment)
1313 let amount = extract(payment.amount)
1414 let id = extract(invoke.transactionId)
15- let paymentAssetId = if (isDefined(payment.assetId))
16- then extract(payment.assetId)
17- else throw("Waves is not accepted as payment")
18- if ((paymentAssetId != acceptedToken))
19- then throw("Only payments in SIGN are allowed at the moment")
20- else if ((amount != currentPrice))
21- then throw("The price is wrong")
22- else ScriptResult(WriteSet([DataEntry(((("title_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), title), DataEntry(((("hash_" + toBase58String(id)) + "_") + toBase58String(invoke.caller.bytes)), hash)]), TransferSet([ScriptTransfer(addressFromStringValue(bank), amount, acceptedToken)]))
15+ let entryExist = match getString(this, ((hash + "_") + uuid)) {
16+ case a: String =>
17+ a
18+ case _ =>
19+ "NONE"
20+ }
21+ if ((entryExist != "NONE"))
22+ then throw("This entry already exist")
23+ else {
24+ let paymentAssetId = if (isDefined(payment.assetId))
25+ then extract(payment.assetId)
26+ else throw("Waves is not accepted as payment")
27+ if ((paymentAssetId != acceptedToken))
28+ then throw("Only payments in SIGN are allowed at the moment")
29+ else if ((amount != currentPrice))
30+ 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)]))
32+ }
2333 }
2434
2535

github/deemru/w8io/873ac7e 
19.53 ms