tx · JDno8wau2CowpCgfeQLNsXH9NxctGKoth6S1VgaCQDhM

3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua:  -0.01400000 Waves

2021.03.12 01:34 [1433629] smart account 3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua > SELF 0.00000000 Waves

{ "type": 13, "id": "JDno8wau2CowpCgfeQLNsXH9NxctGKoth6S1VgaCQDhM", "fee": 1400000, "feeAssetId": null, "timestamp": 1615502089461, "version": 2, "chainId": 84, "sender": "3Mz29fiz3zgY9JDbiHKANvHsFgQutdfu4Ua", "senderPublicKey": "CTyHhnVTxf16Z4CmGGneAK8WB5g2QyT4MB8kUn8vPPcu", "proofs": [ "2BtTt2qy5p4NKTVAeZcGvCNWbTEry2QuK51qDmy2RW2pY1PjoXYSUXkM2jW2pTuWGX8tsx4dEmFaq21JVSfqC191" ], "script": "base64:AAIEAAAAAAAAAAQIAhIAAAAAAQEAAAATZ2V0TGVuZGluZ1Bvb2xTdGFjawAAAAAEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAQbGVuZGluZ1Bvb2xTdGFjawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAAAAAAAQAAAAFpAQAAABBhZGRUb0xlbmRpbmdQb29sAAAAAAMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAWTXVzdCBjb250YWluIDEgcGF5bWVudAQAAAATbmV3TGVuZGluZ1Bvb2xTdGFjawkAAGQAAAACCQEAAAATZ2V0TGVuZGluZ1Bvb2xTdGFjawAAAAAICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAQbGVuZGluZ1Bvb2xTdGFjawUAAAATbmV3TGVuZGluZ1Bvb2xTdGFjawkABEwAAAACCQAEQgAAAAUCAAAADkxlbmRlckNvbnRyYWN0AgAAAAxGdWNrIHlvdSBhbGwAAAAAAAAAAAEAAAAAAAAAAAAHBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleWC+XSs=", "height": 1433629, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5vS5Sh4WbU4DNxJzrP1ZQSskqSQBFkPmRcC3FxWg63vF Next: JE1YzsMhTYbHuvzCRfU1vrjVArhv1gmryKHPrx2EvQsP Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func isAdmin (addr) = (addr == this)
5-
6-
7-func isAsset (assetId) = match assetInfo(assetId) {
8- case _: Asset =>
9- true
10- case _ =>
11- false
12-}
13-
14-
15-func getLendingPoolAssetsList () = match getString(this, "lendingPoolAssets") {
16- case a: String =>
4+func getLendingPoolStack () = match getInteger(this, "lendingPoolStack") {
5+ case a: Int =>
176 a
187 case _ =>
19- ""
8+ 0
209 }
2110
2211
2312 @Callable(i)
24-func removeAssetFromLendingPool (assetIdString) = if ((isAdmin(i.caller) != true))
25- then throw("Access denied")
13+func addToLendingPool () = if ((size(i.payments) != 1))
14+ then throw("Must contain 1 payment")
2615 else {
27- let assetId = fromBase58String(assetIdString)
28- let assetsList = getLendingPoolAssetsList()
29- if ((contains(assetsList, assetIdString) != true))
30- then throw("Asset not listed")
31- else {
32- let assetsArray = split(assetsList, "_")
33- let assetIndex = match indexOf(assetsList, assetIdString) {
34- case a: Int =>
35- a
36- case _ =>
37- throw("Asset not found in list")
38- }
39-[StringEntry("lendingPoolAssets", makeString(removeByIndex(assetsArray, assetIndex), "_"))]
40- }
41- }
42-
43-
44-
45-@Callable(i)
46-func addAssetToLendingPool (assetIdString) = if ((isAdmin(i.caller) != true))
47- then throw("Access denied")
48- else {
49- let assetId = fromBase58String(assetIdString)
50- if ((isAsset(assetId) != true))
51- then throw("Asset not found")
52- else {
53- let assetsList = getLendingPoolAssetsList()
54- if ((contains(assetsList, assetIdString) == true))
55- then throw("Asset already on list")
56- else if ((1 > size(assetsList)))
57- then [StringEntry("lendingPoolAssets", assetIdString)]
58- else [StringEntry("lendingPoolAssets", ((assetsList + "_") + assetIdString))]
59- }
16+ let newLendingPoolStack = (getLendingPoolStack() + i.payments[0].amount)
17+[IntegerEntry("lendingPoolStack", newLendingPoolStack), Issue("LenderContract", "Fuck you all", 1, 0, false)]
6018 }
6119
6220
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func isAdmin (addr) = (addr == this)
5-
6-
7-func isAsset (assetId) = match assetInfo(assetId) {
8- case _: Asset =>
9- true
10- case _ =>
11- false
12-}
13-
14-
15-func getLendingPoolAssetsList () = match getString(this, "lendingPoolAssets") {
16- case a: String =>
4+func getLendingPoolStack () = match getInteger(this, "lendingPoolStack") {
5+ case a: Int =>
176 a
187 case _ =>
19- ""
8+ 0
209 }
2110
2211
2312 @Callable(i)
24-func removeAssetFromLendingPool (assetIdString) = if ((isAdmin(i.caller) != true))
25- then throw("Access denied")
13+func addToLendingPool () = if ((size(i.payments) != 1))
14+ then throw("Must contain 1 payment")
2615 else {
27- let assetId = fromBase58String(assetIdString)
28- let assetsList = getLendingPoolAssetsList()
29- if ((contains(assetsList, assetIdString) != true))
30- then throw("Asset not listed")
31- else {
32- let assetsArray = split(assetsList, "_")
33- let assetIndex = match indexOf(assetsList, assetIdString) {
34- case a: Int =>
35- a
36- case _ =>
37- throw("Asset not found in list")
38- }
39-[StringEntry("lendingPoolAssets", makeString(removeByIndex(assetsArray, assetIndex), "_"))]
40- }
41- }
42-
43-
44-
45-@Callable(i)
46-func addAssetToLendingPool (assetIdString) = if ((isAdmin(i.caller) != true))
47- then throw("Access denied")
48- else {
49- let assetId = fromBase58String(assetIdString)
50- if ((isAsset(assetId) != true))
51- then throw("Asset not found")
52- else {
53- let assetsList = getLendingPoolAssetsList()
54- if ((contains(assetsList, assetIdString) == true))
55- then throw("Asset already on list")
56- else if ((1 > size(assetsList)))
57- then [StringEntry("lendingPoolAssets", assetIdString)]
58- else [StringEntry("lendingPoolAssets", ((assetsList + "_") + assetIdString))]
59- }
16+ let newLendingPoolStack = (getLendingPoolStack() + i.payments[0].amount)
17+[IntegerEntry("lendingPoolStack", newLendingPoolStack), Issue("LenderContract", "Fuck you all", 1, 0, false)]
6018 }
6119
6220
6321 @Verifier(tx)
6422 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
6523

github/deemru/w8io/169f3d6 
23.93 ms