tx · 2YXY9UAUnnrrCQwPJ2ofvsH29zpgym639VhyBbEs5Mfr

3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X:  -0.04000000 Waves

2021.05.17 14:50 [1529639] smart account 3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X > SELF 0.00000000 Waves

{ "type": 13, "id": "2YXY9UAUnnrrCQwPJ2ofvsH29zpgym639VhyBbEs5Mfr", "fee": 4000000, "feeAssetId": null, "timestamp": 1621252315717, "version": 2, "chainId": 84, "sender": "3N88HLHyQgayARc6MXuoJgYJM6Hp9q8AD4X", "senderPublicKey": "7d8ot6oQCGQZb8ATJ6U8KciEiWMyGupkrdYRjcoRfNzs", "proofs": [ "LcPYapZwHCsNXmwfmUS8XXU6X7z2VgDoQuogLS7rKHWuG6cQaQsuBLE2YQWyRY46HMmXX8dn8ZaXxbMwyoa8Yfh" ], "script": "base64:AAIEAAAAAAAAACAIAhIECgIBCBIECgIBCBIECgIBCBIECgIBCBIECgIBCAAAAAMBAAAAEGdldERlcG9zaXRBbW91bnQAAAACAAAACXB1YmxpY0tleQAAAAVhc3NldAQAAAAHYmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhkZXBvc2l0XwUAAAAJcHVibGljS2V5AgAAAAFfBQAAAAVhc3NldAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAAdiYWxhbmNlAQAAAA9nZXRCb3Jyb3dBbW91bnQAAAACAAAACXB1YmxpY0tleQAAAAVhc3NldAQAAAAHYmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdib3Jyb3dfBQAAAAlwdWJsaWNLZXkCAAAAAV8FAAAABWFzc2V0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAFAAAAB2JhbGFuY2UBAAAADWdldENvbGxhdGVyYWwAAAACAAAACXB1YmxpY0tleQAAAAVhc3NldAQAAAAKY29sbGF0ZXJhbAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtjb2xsYXRlcmFsXwUAAAAJcHVibGljS2V5AgAAAAFfBQAAAAVhc3NldAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABQAAAApjb2xsYXRlcmFsAAAABQAAAAFpAQAAAAdkZXBvc2l0AAAAAgAAAAZhbW91bnQAAAAFYXNzZXQEAAAACXB1YmxpY0tleQkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAADWRlcG9zaXRBbW91bnQJAQAAABBnZXREZXBvc2l0QW1vdW50AAAAAgUAAAAJcHVibGljS2V5BQAAAAVhc3NldAQAAAAQbmV3RGVwb3NpdEFtb3VudAkAAGQAAAACBQAAAA1kZXBvc2l0QW1vdW50BQAAAAZhbW91bnQDCQAAAAAAAAIFAAAABWFzc2V0AgAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhkZXBvc2l0XwUAAAAJcHVibGljS2V5AgAAAAZfV0FWRVMFAAAAEG5ld0RlcG9zaXRBbW91bnQFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIZGVwb3NpdF8FAAAACXB1YmxpY0tleQIAAAABXwUAAAAFYXNzZXQFAAAAEG5ld0RlcG9zaXRBbW91bnQFAAAAA25pbAAAAAFpAQAAABFkZXBvc2l0Q29sbGF0ZXJhbAAAAAIAAAAGYW1vdW50AAAABWFzc2V0BAAAAAlwdWJsaWNLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAABBjb2xsYXRlcmFsQW1vdW50CQEAAAANZ2V0Q29sbGF0ZXJhbAAAAAIFAAAACXB1YmxpY0tleQUAAAAFYXNzZXQEAAAAE25ld0NvbGxhdGVyYWxBbW91bnQJAABkAAAAAgUAAAAQY29sbGF0ZXJhbEFtb3VudAUAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAtjb2xsYXRlcmFsXwUAAAAJcHVibGljS2V5AgAAAAFfBQAAAAVhc3NldAUAAAATbmV3Q29sbGF0ZXJhbEFtb3VudAUAAAADbmlsAAAAAWkBAAAABmJvcnJvdwAAAAIAAAAGYW1vdW50AAAABWFzc2V0BAAAAAlwdWJsaWNLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAxib3Jyb3dBbW91bnQJAQAAAA9nZXRCb3Jyb3dBbW91bnQAAAACBQAAAAlwdWJsaWNLZXkFAAAABWFzc2V0BAAAAApjb2xsYXRlcmFsCQEAAAANZ2V0Q29sbGF0ZXJhbAAAAAIFAAAACXB1YmxpY0tleQUAAAAFYXNzZXQEAAAAD21heEJvcnJvd0Ftb3VudAkAAGkAAAACCQAAaAAAAAIFAAAACmNvbGxhdGVyYWwAAAAAAAAAAEYAAAAAAAAAAGQEAAAAD25ld0JvcnJvd0Ftb3VudAkAAGQAAAACBQAAAAxib3Jyb3dBbW91bnQFAAAABmFtb3VudAMJAABnAAAAAgUAAAAKY29sbGF0ZXJhbAUAAAAPbWF4Qm9ycm93QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdib3Jyb3dfBQAAAAlwdWJsaWNLZXkCAAAAAV8FAAAABWFzc2V0BQAAAA9uZXdCb3Jyb3dBbW91bnQFAAAAA25pbAkAAAIAAAABAgAAABVOb3QgZW5vdWdoIGNvbGxhdGVyYWwAAAABaQEAAAAFcmVwYXkAAAACAAAABmFtb3VudAAAAAVhc3NldAQAAAAJcHVibGljS2V5CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAALY3VycmVudEJvcnIJAQAAAA9nZXRCb3Jyb3dBbW91bnQAAAACBQAAAAlwdWJsaWNLZXkFAAAABWFzc2V0AwkAAGYAAAACBQAAAAtjdXJyZW50Qm9ycgAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHYm9ycm93XwUAAAAJcHVibGljS2V5AgAAAAFfBQAAAAVhc3NldAkAAGUAAAACBQAAAAtjdXJyZW50Qm9ycgUAAAAGYW1vdW50BQAAAANuaWwJAAACAAAAAQIAAAAQTm90aGluZyB0byByZXBheQAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAGYW1vdW50AAAABWFzc2V0BAAAAAlwdWJsaWNLZXkJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAApjdXJyZW50RGVwCQEAAAAQZ2V0RGVwb3NpdEFtb3VudAAAAAIFAAAACXB1YmxpY0tleQUAAAAFYXNzZXQDCQAAZgAAAAIFAAAACmN1cnJlbnREZXAAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGRlcG9zaXRfBQAAAAlwdWJsaWNLZXkCAAAAAV8FAAAABWFzc2V0CQAAZQAAAAIFAAAACmN1cnJlbnREZXAFAAAABmFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAE05vdGhpbmcgdG8gd2l0aGRyYXcAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24GBjxYlg8=", "height": 1529639, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Ai1Z1acoXVR4XornNhK21iesFTvhL45ZZ7x4g3XADBY4 Next: FwmruPTPKcouQSgY1iKbefQphmcAYAzgCKXpeXoSV4Uj Diff:
OldNewDifferences
3939 let publicKey = toBase58String(i.callerPublicKey)
4040 let depositAmount = getDepositAmount(publicKey, asset)
4141 let newDepositAmount = (depositAmount + amount)
42-[IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
42+ if ((asset == ""))
43+ then [IntegerEntry((("deposit_" + publicKey) + "_WAVES"), newDepositAmount)]
44+ else [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
4345 }
4446
4547
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func getDepositAmount (publicKey,asset) = {
55 let balance = match getInteger(this, ((("deposit_" + publicKey) + "_") + asset)) {
66 case a: Int =>
77 a
88 case _ =>
99 0
1010 }
1111 balance
1212 }
1313
1414
1515 func getBorrowAmount (publicKey,asset) = {
1616 let balance = match getInteger(this, ((("borrow_" + publicKey) + "_") + asset)) {
1717 case a: Int =>
1818 a
1919 case _ =>
2020 0
2121 }
2222 balance
2323 }
2424
2525
2626 func getCollateral (publicKey,asset) = {
2727 let collateral = match getInteger(this, ((("collateral_" + publicKey) + "_") + asset)) {
2828 case a: Int =>
2929 a
3030 case _ =>
3131 0
3232 }
3333 collateral
3434 }
3535
3636
3737 @Callable(i)
3838 func deposit (amount,asset) = {
3939 let publicKey = toBase58String(i.callerPublicKey)
4040 let depositAmount = getDepositAmount(publicKey, asset)
4141 let newDepositAmount = (depositAmount + amount)
42-[IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
42+ if ((asset == ""))
43+ then [IntegerEntry((("deposit_" + publicKey) + "_WAVES"), newDepositAmount)]
44+ else [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), newDepositAmount)]
4345 }
4446
4547
4648
4749 @Callable(i)
4850 func depositCollateral (amount,asset) = {
4951 let publicKey = toBase58String(i.callerPublicKey)
5052 let collateralAmount = getCollateral(publicKey, asset)
5153 let newCollateralAmount = (collateralAmount + amount)
5254 [IntegerEntry(((("collateral_" + publicKey) + "_") + asset), newCollateralAmount)]
5355 }
5456
5557
5658
5759 @Callable(i)
5860 func borrow (amount,asset) = {
5961 let publicKey = toBase58String(i.callerPublicKey)
6062 let borrowAmount = getBorrowAmount(publicKey, asset)
6163 let collateral = getCollateral(publicKey, asset)
6264 let maxBorrowAmount = ((collateral * 70) / 100)
6365 let newBorrowAmount = (borrowAmount + amount)
6466 if ((collateral >= maxBorrowAmount))
6567 then [IntegerEntry(((("borrow_" + publicKey) + "_") + asset), newBorrowAmount)]
6668 else throw("Not enough collateral")
6769 }
6870
6971
7072
7173 @Callable(i)
7274 func repay (amount,asset) = {
7375 let publicKey = toBase58String(i.callerPublicKey)
7476 let currentBorr = getBorrowAmount(publicKey, asset)
7577 if ((currentBorr > 0))
7678 then [IntegerEntry(((("borrow_" + publicKey) + "_") + asset), (currentBorr - amount))]
7779 else throw("Nothing to repay")
7880 }
7981
8082
8183
8284 @Callable(i)
8385 func withdraw (amount,asset) = {
8486 let publicKey = toBase58String(i.callerPublicKey)
8587 let currentDep = getDepositAmount(publicKey, asset)
8688 if ((currentDep > 0))
8789 then [IntegerEntry(((("deposit_" + publicKey) + "_") + asset), (currentDep - amount))]
8890 else throw("Nothing to withdraw")
8991 }
9092
9193
9294 @Verifier(tx)
9395 func verify () = match tx {
9496 case _: DataTransaction =>
9597 true
9698 case _: SetScriptTransaction =>
9799 true
98100 case _ =>
99101 true
100102 }
101103

github/deemru/w8io/873ac7e 
36.84 ms