tx · 7ekduY5P1SXuB5rnKSKY8XV92dgcHZVUQ3ReUoEDppJ3

3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua:  -0.01400000 Waves

2021.03.15 16:34 [1438900] smart account 3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua > SELF 0.00000000 Waves

{ "type": 13, "id": "7ekduY5P1SXuB5rnKSKY8XV92dgcHZVUQ3ReUoEDppJ3", "fee": 1400000, "feeAssetId": null, "timestamp": 1615815273054, "version": 2, "chainId": 84, "sender": "3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua", "senderPublicKey": "CTyHhnVTxf16Z4CmGGneAK8WB5g2QyT4MB8kUn8vPPcu", "proofs": [ "3EmqkjYTBDbRctFovdT96cNR1N6iBt7DUdbJLz2oG4stEz6YFyXbMfn6iPfLYSe2XkPAESfXqxmCygvTjcyyRCJg" ], "script": "base64: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", "height": 1438900, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Az4WNCxRGVEcEAzp8X1pbMroYSRd1BKkTDLKS1N71Z6C Next: GUwUBq2f1UWYheHhcuFGKZMR3LU1sNSwJYCae9kNm4tQ Diff:
OldNewDifferences
3030
3131
3232 @Callable(i)
33+func init () = if ((this != i.caller))
34+ then throw("Access denied")
35+ else [IntegerEntry("governorCreationPrice", 1)]
36+
37+
38+
39+@Callable(i)
3340 func createGovernor () = if ((size(i.payments) != 1))
3441 then throw("No payment attached")
3542 else if ((this == i.caller))
4148 case val: Int =>
4249 val
4350 case null =>
44- 0
51+ throw("Data missing: 'governorCreationPrice'")
4552 }
4653 if ((i.payments[0].amount != governorCreationPrice))
47- then throw((((("Not a valid amount sent (you sent " + toString((i.payments[0].amount / 100000000))) + " WAVES instead of ") + toString((governorCreationPrice / 10000000))) + " WAVES)"))
54+ then throw("Not a valid amount sent")
4855 else {
4956 let govContract = Issue("GovernorContract", toString(height), 1, 0, false)
5057 let govContractId = calculateAssetId(govContract)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func isWavesAsset (assetId) = match assetId {
55 case asset: ByteVector =>
66 false
77 case waves: Unit =>
88 true
99 case _ =>
1010 throw("Match error")
1111 }
1212
1313
1414 func getTreasury (assetId) = {
1515 let treasuryName = match assetId {
1616 case asset: ByteVector =>
1717 ("Treasury-" + toBase58String(asset))
1818 case waves: Unit =>
1919 "Treasury-WAVES"
2020 case _ =>
2121 throw("Match error")
2222 }
2323 match getInteger(this, treasuryName) {
2424 case val: Int =>
2525 val
2626 case null =>
2727 0
2828 }
2929 }
3030
3131
3232 @Callable(i)
33+func init () = if ((this != i.caller))
34+ then throw("Access denied")
35+ else [IntegerEntry("governorCreationPrice", 1)]
36+
37+
38+
39+@Callable(i)
3340 func createGovernor () = if ((size(i.payments) != 1))
3441 then throw("No payment attached")
3542 else if ((this == i.caller))
3643 then throw("dApp self sending is denied")
3744 else if ((isWavesAsset(i.payments[0].assetId) == false))
3845 then throw("Payment should be in WAVES")
3946 else {
4047 let governorCreationPrice = match getInteger(this, "governorCreationPrice") {
4148 case val: Int =>
4249 val
4350 case null =>
44- 0
51+ throw("Data missing: 'governorCreationPrice'")
4552 }
4653 if ((i.payments[0].amount != governorCreationPrice))
47- then throw((((("Not a valid amount sent (you sent " + toString((i.payments[0].amount / 100000000))) + " WAVES instead of ") + toString((governorCreationPrice / 10000000))) + " WAVES)"))
54+ then throw("Not a valid amount sent")
4855 else {
4956 let govContract = Issue("GovernorContract", toString(height), 1, 0, false)
5057 let govContractId = calculateAssetId(govContract)
5158 [StringEntry("Treasury-WAVES", toString((getTreasury(unit) + i.payments[0].amount))), govContract, ScriptTransfer(i.caller, govContract.quantity, govContractId)]
5259 }
5360 }
5461
5562
5663 @Verifier(tx)
5764 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5865

github/deemru/w8io/169f3d6 
31.70 ms