tx · CuzvUZ2bjQsCPr74YAzfdZav9BfoS27wrpUKKwjeEeDt

3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X:  -0.04000000 Waves

2021.05.17 15:18 [1529660] smart account 3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X > SELF 0.00000000 Waves

{ "type": 13, "id": "CuzvUZ2bjQsCPr74YAzfdZav9BfoS27wrpUKKwjeEeDt", "fee": 4000000, "feeAssetId": null, "timestamp": 1621253949357, "version": 2, "chainId": 84, "sender": "3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X", "senderPublicKey": "7d8ot6oQCGQZb8ATJ6U8KciEiWMyGupkrdYRjcoRfNzs", "proofs": [ "x2xxN6MHMxDdZsEk5AESvjjnLh9GRmC6zqR3rykm6guSqLQyXRTccrrjKSL5R9Moigs7kNvWhdFBJuxt2RtxWLY" ], "script": "base64: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", "height": 1529660, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GoBArkMb2LyJtg7yG2J8htn46Q6jeptMXPEQ5GPhrfLi Next: ABqEYGbmUNvS8kZB9cxC4dRR1m4c4VbPf5NV9hpRvzBU Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
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- }
4+func getDepositAmount (publicKey,asset) = {
5+ let balance = match getInteger(this, ((("deposit_" + publicKey) + "_") + asset)) {
6+ case a: Int =>
7+ a
8+ case _ =>
9+ 0
10+ }
11+ balance
12+ }
2313
2414
2515 func getBorrowAmount (publicKey,asset) = {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
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- }
4+func getDepositAmount (publicKey,asset) = {
5+ let balance = match getInteger(this, ((("deposit_" + publicKey) + "_") + asset)) {
6+ case a: Int =>
7+ a
8+ case _ =>
9+ 0
10+ }
11+ balance
12+ }
2313
2414
2515 func getBorrowAmount (publicKey,asset) = {
2616 let balance = match getInteger(this, ((("borrow_" + publicKey) + "_") + asset)) {
2717 case a: Int =>
2818 a
2919 case _ =>
3020 0
3121 }
3222 balance
3323 }
3424
3525
3626 func getCollateral (publicKey,asset) = if ((asset == ""))
3727 then {
3828 let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_Waves") + asset)) {
3929 case a: Int =>
4030 a
4131 case _ =>
4232 0
4333 }
4434 collateral
4535 }
4636 else {
4737 let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_") + asset)) {
4838 case a: Int =>
4939 a
5040 case _ =>
5141 0
5242 }
5343 collateral
5444 }
5545
5646
5747 @Callable(i)
5848 func deposit (amount,asset) = {
5949 let publicKey = toBase58String(i.callerPublicKey)
6050 let test = if ((asset == ""))
6151 then "WAVES"
6252 else asset
6353 let depositAmount = getDepositAmount(publicKey, test)
6454 let newDepositAmount = (depositAmount + amount)
6555 [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
6656 }
6757
6858
6959
7060 @Callable(i)
7161 func depositCollateral (amount,asset) = {
7262 let publicKey = toBase58String(i.callerPublicKey)
7363 let collateralAmount = getCollateral(publicKey, asset)
7464 let newCollateralAmount = (collateralAmount + amount)
7565 [IntegerEntry(((("collateral_" + publicKey) + "_") + asset), newCollateralAmount)]
7666 }
7767
7868
7969
8070 @Callable(i)
8171 func borrow (amount,asset) = {
8272 let publicKey = toBase58String(i.callerPublicKey)
8373 let borrowAmount = getBorrowAmount(publicKey, asset)
8474 let collateral = getCollateral(publicKey, asset)
8575 let maxBorrowAmount = ((collateral * 70) / 100)
8676 let newBorrowAmount = (borrowAmount + amount)
8777 if ((collateral >= maxBorrowAmount))
8878 then [IntegerEntry(((("borrow_" + publicKey) + "_") + asset), newBorrowAmount)]
8979 else throw("Not enough collateral")
9080 }
9181
9282
9383
9484 @Callable(i)
9585 func repay (amount,asset) = {
9686 let publicKey = toBase58String(i.callerPublicKey)
9787 let currentBorr = getBorrowAmount(publicKey, asset)
9888 if ((currentBorr > 0))
9989 then [IntegerEntry(((("borrow_" + publicKey) + "_") + asset), (currentBorr - amount))]
10090 else throw("Nothing to repay")
10191 }
10292
10393
10494
10595 @Callable(i)
10696 func withdraw (amount,asset) = {
10797 let publicKey = toBase58String(i.callerPublicKey)
10898 let currentDep = getDepositAmount(publicKey, asset)
10999 if ((currentDep > 0))
110100 then [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), (currentDep - amount))]
111101 else throw("Nothing to withdraw")
112102 }
113103
114104
115105 @Verifier(tx)
116106 func verify () = match tx {
117107 case _: DataTransaction =>
118108 true
119109 case _: SetScriptTransaction =>
120110 true
121111 case _ =>
122112 true
123113 }
124114

github/deemru/w8io/169f3d6 
33.42 ms