tx · D31hse2TQj5t4dNuDkdHDbgcV9C3ZHRDRZ7J8jmjfhW6 3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua: -0.01400000 Waves 2021.03.12 12:42 [1434304] smart account 3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua > SELF 0.00000000 Waves
{ "type": 13, "id": "D31hse2TQj5t4dNuDkdHDbgcV9C3ZHRDRZ7J8jmjfhW6", "fee": 1400000, "feeAssetId": null, "timestamp": 1615542157379, "version": 2, "chainId": 84, "sender": "3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua", "senderPublicKey": "CTyHhnVTxf16Z4CmGGneAK8WB5g2QyT4MB8kUn8vPPcu", "proofs": [ "2PbcJzmGuvt8LWDt8cAgJFRyQEoQou1w5uFLUFNdgWw7nBVekZhw69qKTptz7u3j6RQw2faGdPMz58DeYaSzUqRj" ], "script": "base64:AAIEAAAAAAAAAAQIAhIAAAAAAwAAAAANZEFwcEFzc2V0TmFtZQIAAAAFdGVzdDEAAAAAC2RBcHBBc3NldElkAQAAACCx5KflqCsiGQbrCbZgC9tbr9doFa+psA0nMlMpy8SliwEAAAATZ2V0TGVuZGluZ1Bvb2xTdGFjawAAAAAEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAQbGVuZGluZ1Bvb2xTdGFjawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAAAAAQAAAAFpAQAAABBhZGRUb0xlbmRpbmdQb29sAAAAAAMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAATTm8gcGF5bWVudCBhdHRhY2hlZAMJAQAAAAIhPQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQFAAAAC2RBcHBBc3NldElkCQAAAgAAAAECAAAAEFdyb25nIGFzc2V0IHNlbnQDCQAAZgAAAAIAAAAAAAAAAAEICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkAAAIAAAABAgAAABVJbnN1ZmZpc2VudCBsaXF1aWRpdHkDCQAAAAAAAAIFAAAABHRoaXMIBQAAAAFpAAAABmNhbGxlcgkAAAIAAAABAgAAABhTZWxmIHNlbmRpbmcgbm90IGFsbG93ZWQEAAAADXR4QmxvY2tIZWlnaHQEAAAAByRtYXRjaDAJAAPpAAAAAQgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFoBQAAAAckbWF0Y2gwBQAAAAFoCQAAAgAAAAEJAAEsAAAAAgIAAAAbVW5hYmxlIHRvIGdldCBibG9jayBoZWlnaHQgCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAADGNvbnRyYWN0RGF0YQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAADXR4QmxvY2tIZWlnaHQCAAAAAV8JAAJYAAAAAQUAAAALZEFwcEFzc2V0SWQCAAAAAV8JAAGkAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAABNuZXdMZW5kaW5nUG9vbFN0YWNrCQAAZAAAAAIJAQAAABNnZXRMZW5kaW5nUG9vbFN0YWNrAAAAAAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAAA1pc3N1ZUNvbnRyYWN0CQAEQgAAAAUJAAEsAAAAAgIAAAAJQ29udHJhY3RfBQAAAA1kQXBwQXNzZXROYW1lBQAAAAxjb250cmFjdERhdGEAAAAAAAAAAAEAAAAAAAAAAAAHBAAAAA9pc3N1ZUNvbnRyYWN0SWQJAAQ4AAAAAQUAAAANaXNzdWVDb250cmFjdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAQbGVuZGluZ1Bvb2xTdGFjawUAAAATbmV3TGVuZGluZ1Bvb2xTdGFjawkABEwAAAACBQAAAA1pc3N1ZUNvbnRyYWN0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcggFAAAADWlzc3VlQ29udHJhY3QAAAAIcXVhbnRpdHkFAAAAD2lzc3VlQ29udHJhY3RJZAUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXl2Y4Ff", "height": 1434304, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CQTrskqBtKpbvN9Ej2o6xXpE67m3reaxqBiXdVkszvod Next: BeMZZJC5wUkBuqv9s8S5XTxnLh8MmJ2vzfpiU9Pbswx6 Diff:
Old | New | Differences | |
---|---|---|---|
20 | 20 | then throw("Wrong asset sent") | |
21 | 21 | else if ((1 > i.payments[0].amount)) | |
22 | 22 | then throw("Insuffisent liquidity") | |
23 | - | else { | |
24 | - | let txBlockHeight = match transactionHeightById(i.transactionId) { | |
25 | - | case h: Int => | |
26 | - | h | |
27 | - | case _ => | |
28 | - | throw("Unable to get block height") | |
29 | - | } | |
30 | - | let contractData = ((((toString(txBlockHeight) + "_") + toBase58String(dAppAssetId)) + "_") + toString(i.payments[0].amount)) | |
31 | - | let newLendingPoolStack = (getLendingPoolStack() + i.payments[0].amount) | |
32 | - | let issueContract = Issue(("Contract_" + dAppAssetName), contractData, 1, 0, false) | |
33 | - | let issueContractId = calculateAssetId(issueContract) | |
23 | + | else if ((this == i.caller)) | |
24 | + | then throw("Self sending not allowed") | |
25 | + | else { | |
26 | + | let txBlockHeight = match transactionHeightById(i.transactionId) { | |
27 | + | case h: Int => | |
28 | + | h | |
29 | + | case _ => | |
30 | + | throw(("Unable to get block height " + toBase58String(i.transactionId))) | |
31 | + | } | |
32 | + | let contractData = ((((toString(txBlockHeight) + "_") + toBase58String(dAppAssetId)) + "_") + toString(i.payments[0].amount)) | |
33 | + | let newLendingPoolStack = (getLendingPoolStack() + i.payments[0].amount) | |
34 | + | let issueContract = Issue(("Contract_" + dAppAssetName), contractData, 1, 0, false) | |
35 | + | let issueContractId = calculateAssetId(issueContract) | |
34 | 36 | [IntegerEntry("lendingPoolStack", newLendingPoolStack), issueContract, ScriptTransfer(i.caller, issueContract.quantity, issueContractId)] | |
35 | - | } | |
37 | + | } | |
36 | 38 | ||
37 | 39 | ||
38 | 40 | @Verifier(tx) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let dAppAssetName = "test1" | |
5 | 5 | ||
6 | 6 | let dAppAssetId = base58'CyRPSWqSzLmynv4W4REGjqhEefZVg2ZobVbvTLi71UzN' | |
7 | 7 | ||
8 | 8 | func getLendingPoolStack () = match getInteger(this, "lendingPoolStack") { | |
9 | 9 | case a: Int => | |
10 | 10 | a | |
11 | 11 | case _ => | |
12 | 12 | 0 | |
13 | 13 | } | |
14 | 14 | ||
15 | 15 | ||
16 | 16 | @Callable(i) | |
17 | 17 | func addToLendingPool () = if ((size(i.payments) != 1)) | |
18 | 18 | then throw("No payment attached") | |
19 | 19 | else if ((i.payments[0].assetId != dAppAssetId)) | |
20 | 20 | then throw("Wrong asset sent") | |
21 | 21 | else if ((1 > i.payments[0].amount)) | |
22 | 22 | then throw("Insuffisent liquidity") | |
23 | - | else { | |
24 | - | let txBlockHeight = match transactionHeightById(i.transactionId) { | |
25 | - | case h: Int => | |
26 | - | h | |
27 | - | case _ => | |
28 | - | throw("Unable to get block height") | |
29 | - | } | |
30 | - | let contractData = ((((toString(txBlockHeight) + "_") + toBase58String(dAppAssetId)) + "_") + toString(i.payments[0].amount)) | |
31 | - | let newLendingPoolStack = (getLendingPoolStack() + i.payments[0].amount) | |
32 | - | let issueContract = Issue(("Contract_" + dAppAssetName), contractData, 1, 0, false) | |
33 | - | let issueContractId = calculateAssetId(issueContract) | |
23 | + | else if ((this == i.caller)) | |
24 | + | then throw("Self sending not allowed") | |
25 | + | else { | |
26 | + | let txBlockHeight = match transactionHeightById(i.transactionId) { | |
27 | + | case h: Int => | |
28 | + | h | |
29 | + | case _ => | |
30 | + | throw(("Unable to get block height " + toBase58String(i.transactionId))) | |
31 | + | } | |
32 | + | let contractData = ((((toString(txBlockHeight) + "_") + toBase58String(dAppAssetId)) + "_") + toString(i.payments[0].amount)) | |
33 | + | let newLendingPoolStack = (getLendingPoolStack() + i.payments[0].amount) | |
34 | + | let issueContract = Issue(("Contract_" + dAppAssetName), contractData, 1, 0, false) | |
35 | + | let issueContractId = calculateAssetId(issueContract) | |
34 | 36 | [IntegerEntry("lendingPoolStack", newLendingPoolStack), issueContract, ScriptTransfer(i.caller, issueContract.quantity, issueContractId)] | |
35 | - | } | |
37 | + | } | |
36 | 38 | ||
37 | 39 | ||
38 | 40 | @Verifier(tx) | |
39 | 41 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
40 | 42 |
github/deemru/w8io/169f3d6 24.90 ms ◑![]()