tx · GoBArkMb2LyJtg7yG2J8htn46Q6jeptMXPEQ5GPhrfLi

3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X:  -0.04000000 Waves

2021.05.17 15:17 [1529659] smart account 3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X > SELF 0.00000000 Waves

{ "type": 13, "id": "GoBArkMb2LyJtg7yG2J8htn46Q6jeptMXPEQ5GPhrfLi", "fee": 4000000, "feeAssetId": null, "timestamp": 1621253842149, "version": 2, "chainId": 84, "sender": "3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X", "senderPublicKey": "7d8ot6oQCGQZb8ATJ6U8KciEiWMyGupkrdYRjcoRfNzs", "proofs": [ "67VPXgjRazYyK2GxxMw5pScRsHQwRmTDnL5G1wXfuJiNkmHdNnd7SHnjrDtr2aii6LjQzTvkwoehzfpPYXjnXXYG", "5pwM7zvZAHvTTKhp37JRq1BP2FAnkRDokMDdV5oYmiqY54rrw8CDjC9md8YEGQR6YzoXvbBea7wuueE5FWnJCqKB" ], "script": "base64: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", "height": 1529659, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FwmruPTPKcouQSgY1iKbefQphmcAYAzgCKXpeXoSV4Uj Next: CuzvUZ2bjQsCPr74YAzfdZav9BfoS27wrpUKKwjeEeDt Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func getDepositAmount (publicKey,asset) = {
5- let balance = match getInteger(this, (("deposit_" + publicKey) + "_WAVES")) {
6- case a: Int =>
7- a
8- case _ =>
9- 0
10- }
11- balance
12- }
4+func getDepositAmount (publicKey,asset) = if ((asset == ""))
5+ then {
6+ let balance = match getInteger(this, (("deposit_" + publicKey) + "_WAVES")) {
7+ case a: Int =>
8+ a
9+ case _ =>
10+ 0
11+ }
12+ balance
13+ }
14+ else {
15+ let balance = match getInteger(this, ((("deposit_" + publicKey) + "_") + asset)) {
16+ case a: Int =>
17+ a
18+ case _ =>
19+ 0
20+ }
21+ balance
22+ }
1323
1424
1525 func getBorrowAmount (publicKey,asset) = {
2333 }
2434
2535
26-func getCollateral (publicKey,asset) = {
27- let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_") + asset)) {
28- case a: Int =>
29- a
30- case _ =>
31- 0
32- }
33- collateral
34- }
36+func getCollateral (publicKey,asset) = if ((asset == ""))
37+ then {
38+ let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_Waves") + asset)) {
39+ case a: Int =>
40+ a
41+ case _ =>
42+ 0
43+ }
44+ collateral
45+ }
46+ else {
47+ let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_") + asset)) {
48+ case a: Int =>
49+ a
50+ case _ =>
51+ 0
52+ }
53+ collateral
54+ }
3555
3656
3757 @Callable(i)
3858 func deposit (amount,asset) = {
3959 let publicKey = toBase58String(i.callerPublicKey)
40- let depositAmount = getDepositAmount(publicKey, asset)
60+ let test = if ((asset == ""))
61+ then "WAVES"
62+ else asset
63+ let depositAmount = getDepositAmount(publicKey, test)
4164 let newDepositAmount = (depositAmount + amount)
42- if ((asset == ""))
43- then [IntegerEntry((("deposit_" + publicKey) + "_WAVES"), newDepositAmount)]
44- else [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
65+[IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
4566 }
4667
4768
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-func getDepositAmount (publicKey,asset) = {
5- let balance = match getInteger(this, (("deposit_" + publicKey) + "_WAVES")) {
6- case a: Int =>
7- a
8- case _ =>
9- 0
10- }
11- balance
12- }
4+func getDepositAmount (publicKey,asset) = if ((asset == ""))
5+ then {
6+ let balance = match getInteger(this, (("deposit_" + publicKey) + "_WAVES")) {
7+ case a: Int =>
8+ a
9+ case _ =>
10+ 0
11+ }
12+ balance
13+ }
14+ else {
15+ let balance = match getInteger(this, ((("deposit_" + publicKey) + "_") + asset)) {
16+ case a: Int =>
17+ a
18+ case _ =>
19+ 0
20+ }
21+ balance
22+ }
1323
1424
1525 func getBorrowAmount (publicKey,asset) = {
1626 let balance = match getInteger(this, ((("borrow_" + publicKey) + "_") + asset)) {
1727 case a: Int =>
1828 a
1929 case _ =>
2030 0
2131 }
2232 balance
2333 }
2434
2535
26-func getCollateral (publicKey,asset) = {
27- let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_") + asset)) {
28- case a: Int =>
29- a
30- case _ =>
31- 0
32- }
33- collateral
34- }
36+func getCollateral (publicKey,asset) = if ((asset == ""))
37+ then {
38+ let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_Waves") + asset)) {
39+ case a: Int =>
40+ a
41+ case _ =>
42+ 0
43+ }
44+ collateral
45+ }
46+ else {
47+ let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_") + asset)) {
48+ case a: Int =>
49+ a
50+ case _ =>
51+ 0
52+ }
53+ collateral
54+ }
3555
3656
3757 @Callable(i)
3858 func deposit (amount,asset) = {
3959 let publicKey = toBase58String(i.callerPublicKey)
40- let depositAmount = getDepositAmount(publicKey, asset)
60+ let test = if ((asset == ""))
61+ then "WAVES"
62+ else asset
63+ let depositAmount = getDepositAmount(publicKey, test)
4164 let newDepositAmount = (depositAmount + amount)
42- if ((asset == ""))
43- then [IntegerEntry((("deposit_" + publicKey) + "_WAVES"), newDepositAmount)]
44- else [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
65+[IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
4566 }
4667
4768
4869
4970 @Callable(i)
5071 func depositCollateral (amount,asset) = {
5172 let publicKey = toBase58String(i.callerPublicKey)
5273 let collateralAmount = getCollateral(publicKey, asset)
5374 let newCollateralAmount = (collateralAmount + amount)
5475 [IntegerEntry(((("collateral_" + publicKey) + "_") + asset), newCollateralAmount)]
5576 }
5677
5778
5879
5980 @Callable(i)
6081 func borrow (amount,asset) = {
6182 let publicKey = toBase58String(i.callerPublicKey)
6283 let borrowAmount = getBorrowAmount(publicKey, asset)
6384 let collateral = getCollateral(publicKey, asset)
6485 let maxBorrowAmount = ((collateral * 70) / 100)
6586 let newBorrowAmount = (borrowAmount + amount)
6687 if ((collateral >= maxBorrowAmount))
6788 then [IntegerEntry(((("borrow_" + publicKey) + "_") + asset), newBorrowAmount)]
6889 else throw("Not enough collateral")
6990 }
7091
7192
7293
7394 @Callable(i)
7495 func repay (amount,asset) = {
7596 let publicKey = toBase58String(i.callerPublicKey)
7697 let currentBorr = getBorrowAmount(publicKey, asset)
7798 if ((currentBorr > 0))
7899 then [IntegerEntry(((("borrow_" + publicKey) + "_") + asset), (currentBorr - amount))]
79100 else throw("Nothing to repay")
80101 }
81102
82103
83104
84105 @Callable(i)
85106 func withdraw (amount,asset) = {
86107 let publicKey = toBase58String(i.callerPublicKey)
87108 let currentDep = getDepositAmount(publicKey, asset)
88109 if ((currentDep > 0))
89110 then [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), (currentDep - amount))]
90111 else throw("Nothing to withdraw")
91112 }
92113
93114
94115 @Verifier(tx)
95116 func verify () = match tx {
96117 case _: DataTransaction =>
97118 true
98119 case _: SetScriptTransaction =>
99120 true
100121 case _ =>
101122 true
102123 }
103124

github/deemru/w8io/873ac7e 
30.20 ms