tx · 5fh1VBu31yRzPyqqRU71N1pwTMebhKGsvSBrVVxB4K7d

3N6LXAerq2VVAPds14fKmB72f1Whmem7pxY:  -0.01000000 Waves

2022.06.15 05:23 [2096891] smart account 3N6LXAerq2VVAPds14fKmB72f1Whmem7pxY > SELF 0.00000000 Waves

{ "type": 13, "id": "5fh1VBu31yRzPyqqRU71N1pwTMebhKGsvSBrVVxB4K7d", "fee": 1000000, "feeAssetId": null, "timestamp": 1655259786949, "version": 2, "chainId": 84, "sender": "3N6LXAerq2VVAPds14fKmB72f1Whmem7pxY", "senderPublicKey": "fFTt4dRQEMWmxs9cA5He1tph3gmQLAM4cnpj6eqkWPR", "proofs": [ "4yu8E4QKTcWTRoZsrYJdFnfzGSEEN8nYN6Ld5eyBuYRF4VRsYF3bEdDmzzgBC7YHDCU88tLZtg2W2teVeHgBH3pT" ], "script": "base64:AAIFAAAAAAAAACoIAhIJCgcICAgICAQBEgMKAQQSBQoDBAQEEgMKAQESAwoBBBIAEgMKAQEAAAAeAAAAAARtYWluAgAAAAptYWluX2Fzc2V0AAAAAAFsAgAAAAlscF9hc3NldF8AAAAAAmExAgAAAAxzd2FwX2Fzc2V0MV8AAAAAAnN0AgAAAA9hZGRyZXNzX3N0YWtlcl8AAAAAA3NzdAIAAAANYWRkcmVzc19wb29sXwAAAAADc3dwAgAAAA1hZGRyZXNzX3N3YXBfAAAAAAJhMgIAAAAMc3dhcF9hc3NldDJfAAAAAANhYTECAAAAB3Bvb2xfMV8AAAAAA2FhMgIAAAAHcG9vbF8yXwAAAAADc3QxAgAAAA5zdGFrZXJfYWRkcmVzcwAAAAAEdHlwZQIAAAAFdHlwZV8AAAAAAnNhAgAAAA9TVEFLSU5HX0FNT1VOVF8AAAAAAmxhAgAAAA1MRUFTRV9BTU9VTlRfAAAAAAJpeAIAAAADSURfAAAAAAdyYXRlRmVlAgAAABNwZXJjZW50YWdlX3JhdGVfZmVlAAAAAAJEOAAAAAAABfXhAAAAAAACRDYAAAAAAAAPQkAAAAAAD2NvbnRyYWN0QWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABCAUAAAAEdGhpcwAAAAVieXRlcwAAAAAMZXhjaGFuZ2VSYXRlAAAAAAAAAAAFAQAAABFnZXRBZGRyZXNzSWZWYWxpZAAAAAEAAAAHYWRkcmVzcwkABCUAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAHYWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAADENhbid0IHBhcnNlIAUAAAAHYWRkcmVzcwIAAAALIGFzIGFkZHJlc3MBAAAAD2dldEFzc2V0SWZWYWxpZAAAAAEAAAAHYXNzZXRJZAkAAlgAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEJAAJZAAAAAQUAAAAHYXNzZXRJZAAAAAJpZAkAASwAAAACCQABLAAAAAICAAAACkFzc2V0IElkOiAFAAAAB2Fzc2V0SWQCAAAADCBpcyBpbnZhbGlkLgAAAAACYWMCAAAACGFjdGl2YXRlAAAAAAZwb29sQWMCAAAADmFjdGl2YXRlX3Bvb2xzAAAAAAZzd2FwQWMCAAAADWFjdGl2YXRlX3N3YXAAAAAAC2xpcXVpZGl0eUFjAgAAABJhY3RpdmF0ZV9saXF1aWRpdHkAAAAABHVzZG4CAAAACnVzZG5fYXNzZXQAAAAABHVzZHQCAAAACnVzZHRfYXNzZXQAAAAABHVzZGMCAAAACnVzZGNfYXNzZXQAAAAABG5nbm4CAAAACm5nbm5fYXNzZXQAAAAABmFXYXZlcwIAAAAMYWNjZXB0X3dhdmVzAAAABwAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAcAAAALTWFpbkFzc2V0SWQAAAALVXNkbkFzc2V0SWQAAAALVXNkdEFzc2V0SWQAAAALVXNkY0Fzc2V0SWQAAAALTmdubkFzc2V0SWQAAAALYWNjZXB0V2F2ZXMAAAAOcGVyY2VudGFnZVJhdGUDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAARtYWluBQAAAAtNYWluQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAR1c2RuBQAAAAtVc2RuQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAR1c2RjBQAAAAtVc2RjQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAR1c2R0BQAAAAtVc2R0QXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAARuZ25uBQAAAAtOZ25uQXNzZXRJZAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGYVdhdmVzBQAAAAthY2NlcHRXYXZlcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAHcmF0ZUZlZQUAAAAOcGVyY2VudGFnZVJhdGUJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAAmFjBgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGc3dhcEFjBwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGcG9vbEFjBwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAALbGlxdWlkaXR5QWMHBQAAAANuaWwJAAACAAAAAQIAAAAuT25seSB0aGUgQWRtaW4gaXRzZWxmIGNhbiBpbnZva2UgdGhpcyBmdW5jdGlvbgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAEAAAABdgMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAJhYwUAAAABdgUAAAADbmlsCQAAAgAAAAECAAAALk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24AAAABaQEAAAALbWFpbnRlbmFuY2UAAAADAAAABXBvb2xzAAAABHN3YXAAAAAFc3Rha2UDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGcG9vbEFjBQAAAAVwb29scwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGc3dhcEFjBQAAAARzd2FwCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAtsaXF1aWRpdHlBYwUAAAAFc3Rha2UFAAAAA25pbAkAAAIAAAABAgAAAC5Pbmx5IHRoZSBBZG1pbiBpdHNlbGYgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAAAAAWkBAAAAFXBlcmNlbnR1YWxSYXRlRmVlRWRpdAAAAAEAAAAEcmF0ZQMJAAAAAAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAdyYXRlRmVlBQAAAARyYXRlBQAAAANuaWwJAAACAAAAAQIAAAAuT25seSB0aGUgQWRtaW4gaXRzZWxmIGNhbiBpbnZva2UgdGhpcyBmdW5jdGlvbgAAAAFpAQAAAAthY2NlcHRXYXZlcwAAAAEAAAAIYWN0aXZhdGUDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGYVdhdmVzBQAAAAhhY3RpdmF0ZQUAAAADbmlsCQAAAgAAAAECAAAALk9ubHkgdGhlIEFkbWluIGl0c2VsZiBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24AAAABaQEAAAAHZGVwb3NpdAAAAAAEAAAABXBvd2VyCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAJhYwQAAAAObGlxdWlkaXR5UG93ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAAC2xpcXVpZGl0eUFjBAAAAAdhY1dhdmVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAZhV2F2ZXMEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAJTWFpbkFzc2V0CQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABG1haW4DBQAAAAVwb3dlcgMJAQAAAAEhAAAAAQUAAAAObGlxdWlkaXR5UG93ZXIDCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAACU1haW5Bc3NldAkAAAIAAAABCQABLAAAAAICAAAAI0ludmFsaWQgQXNzZXQhIEtpbmRseSBEZXBvc2l0IE9ubHkgCQACWAAAAAEFAAAACU1haW5Bc3NldAQAAAAKY3VycmVudEtleQkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBAAAAA1jdXJyZW50QW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAACmN1cnJlbnRLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAJbmV3QW1vdW50CQAAZAAAAAIFAAAADWN1cnJlbnRBbW91bnQIBQAAAANwbXQAAAAGYW1vdW50BAAAAAp1c2VyYW1vdW50CQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAKY3VycmVudEtleQUAAAAJbmV3QW1vdW50BAAAABF1c2VyZGVwb3NpdGhlaWdodAkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgIAAAASRGVwb3NpdF9IZWlnaHRfT2ZfBQAAAApjdXJyZW50S2V5BQAAAAZoZWlnaHQEAAAAE3ByZXZpb3VzbG9ja2JhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAUVG90YWxfVG9rZW5zX0xvY2tlZDoDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAKdG90YWx0b2tlbgkAAGQAAAACBQAAABNwcmV2aW91c2xvY2tiYWxhbmNlCAUAAAADcG10AAAABmFtb3VudAQAAAADVExWCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfVG9rZW5zX0xvY2tlZDoFAAAACnRvdGFsdG9rZW4JAARMAAAAAgUAAAAKdXNlcmFtb3VudAkABEwAAAACBQAAABF1c2VyZGVwb3NpdGhlaWdodAkABEwAAAACBQAAAANUTFYFAAAAA25pbAkAAAIAAAABAgAAAClsaXF1aWRpdHkgaXMgY3VycmVudGx5IHVuZGVyIG1haW50ZW5hbmNlLgkAAAIAAAABAgAAACRkQXBwIGlzIGN1cnJlbnRseSB1bmRlciBtYWludGVuYW5jZS4AAAABaQEAAAAGcmVtb3ZlAAAAAQAAAAZhbW91bnQEAAAABXBvd2VyCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAJhYwQAAAAObGlxdWlkaXR5UG93ZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAAC2xpcXVpZGl0eUFjBAAAAAdhY1dhdmVzCQEAAAARQGV4dHJOYXRpdmUoMTA1MSkAAAACBQAAAAR0aGlzBQAAAAZhV2F2ZXMEAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAJTWFpbkFzc2V0CQABmwAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABG1haW4DBQAAAAVwb3dlcgMJAQAAAAEhAAAAAQUAAAAObGlxdWlkaXR5UG93ZXIEAAAACmN1cnJlbnRLZXkJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAANY3VycmVudEFtb3VudAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAApjdXJyZW50S2V5AAAAAAAAAAAABAAAABFzd2FwaGVpZ2h0a2V5bmFtZQkAASwAAAACAgAAABJEZXBvc2l0X0hlaWdodF9PZl8FAAAACmN1cnJlbnRLZXkEAAAAE3ByZXZpb3VzbG9ja2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX1Rva2Vuc19Mb2NrZWQ6BAAAAAp0b3RhbHRva2VuCQAAZQAAAAIFAAAAE3ByZXZpb3VzbG9ja2JhbGFuY2UFAAAABmFtb3VudAQAAAAEZGlmZgkAAGUAAAACBQAAAAZoZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAEXN3YXBoZWlnaHRrZXluYW1lAwkAAGYAAAACAAAAAAAAAAAABQAAAAZhbW91bnQJAAACAAAAAQIAAAAjQ2FuJ3Qgd2l0aGRyYXcgbmVnYXRpdmUgQXhBaSBhbW91bnQEAAAACW5ld0Ftb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50BQAAAAZhbW91bnQDCQAAZgAAAAIAAAAAAAAAAAAFAAAACW5ld0Ftb3VudAkAAAIAAAABAgAAABdOb3QgZW5vdWdoIEF4QWkgYmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAKY3VycmVudEtleQUAAAAJbmV3QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABRUb3RhbF9Ub2tlbnNfTG9ja2VkOgUAAAAKdG90YWx0b2tlbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAUAAAAJTWFpbkFzc2V0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGkAAAACCQAAaAAAAAIJAABoAAAAAgUAAAAEZGlmZgUAAAAGYW1vdW50AAAAAAAAAAAEAAAAAAAAAAWgBQAAAAlNYWluQXNzZXQFAAAAA25pbAkAAAIAAAABAgAAAClsaXF1aWRpdHkgaXMgY3VycmVudGx5IHVuZGVyIG1haW50ZW5hbmNlLgkAAAIAAAABAgAAACRkQXBwIGlzIGN1cnJlbnRseSB1bmRlciBtYWludGVuYW5jZS4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmOtWEq", "height": 2096891, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Fivaacj6rrVnkwd51TrqThyUDB7p3oxRNE9moRjPJNRC Next: GmqNS7rVJTWHTzkk35inrkpwshXLTXEezfwWS9ytEKRD Diff:
OldNewDifferences
145145 let MainAsset = toBytes(getStringValue(this, main))
146146 if (power)
147147 then if (!(liquidityPower))
148- then if ((pmt.assetId != MainAsset))
149- then throw(("Invalid Asset! Kindly Deposit Only " + toBase58String(MainAsset)))
150- else {
151- let currentKey = toBase58String(i.caller.bytes)
152- let currentAmount = valueOrElse(getInteger(this, currentKey), 0)
153- let swapheightkeyname = ("Deposit_Height_Of_" + currentKey)
154- let previouslockbalance = getIntegerValue(this, "Total_Tokens_Locked:")
155- let totaltoken = (previouslockbalance - amount)
156- let diff = (height - getIntegerValue(this, swapheightkeyname))
157- if ((0 > amount))
158- then throw("Can't withdraw negative AxAi amount")
159- else {
160- let newAmount = (currentAmount - amount)
161- if ((0 > newAmount))
162- then throw("Not enough AxAi balance")
163- else [IntegerEntry(currentKey, newAmount), IntegerEntry("Total_Tokens_Locked:", totaltoken), ScriptTransfer(i.caller, amount, MainAsset), ScriptTransfer(i.caller, (((diff * amount) * 4) / 1440), MainAsset)]
164- }
165- }
148+ then {
149+ let currentKey = toBase58String(i.caller.bytes)
150+ let currentAmount = valueOrElse(getInteger(this, currentKey), 0)
151+ let swapheightkeyname = ("Deposit_Height_Of_" + currentKey)
152+ let previouslockbalance = getIntegerValue(this, "Total_Tokens_Locked:")
153+ let totaltoken = (previouslockbalance - amount)
154+ let diff = (height - getIntegerValue(this, swapheightkeyname))
155+ if ((0 > amount))
156+ then throw("Can't withdraw negative AxAi amount")
157+ else {
158+ let newAmount = (currentAmount - amount)
159+ if ((0 > newAmount))
160+ then throw("Not enough AxAi balance")
161+ else [IntegerEntry(currentKey, newAmount), IntegerEntry("Total_Tokens_Locked:", totaltoken), ScriptTransfer(i.caller, amount, MainAsset), ScriptTransfer(i.caller, (((diff * amount) * 4) / 1440), MainAsset)]
162+ }
163+ }
166164 else throw("liquidity is currently under maintenance.")
167165 else throw("dApp is currently under maintenance.")
168166 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let main = "main_asset"
55
66 let l = "lp_asset_"
77
88 let a1 = "swap_asset1_"
99
1010 let st = "address_staker_"
1111
1212 let sst = "address_pool_"
1313
1414 let swp = "address_swap_"
1515
1616 let a2 = "swap_asset2_"
1717
1818 let aa1 = "pool_1_"
1919
2020 let aa2 = "pool_2_"
2121
2222 let st1 = "staker_address"
2323
2424 let type = "type_"
2525
2626 let sa = "STAKING_AMOUNT_"
2727
2828 let la = "LEASE_AMOUNT_"
2929
3030 let ix = "ID_"
3131
3232 let rateFee = "percentage_rate_fee"
3333
3434 let D8 = 100000000
3535
3636 let D6 = 1000000
3737
3838 let contractAddress = Address(this.bytes)
3939
4040 let exchangeRate = 5
4141
4242 func getAddressIfValid (address) = toString(valueOrErrorMessage(addressFromString(address), (("Can't parse " + address) + " as address")))
4343
4444
4545 func getAssetIfValid (assetId) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(assetId))).id, (("Asset Id: " + assetId) + " is invalid.")))
4646
4747
4848 let ac = "activate"
4949
5050 let poolAc = "activate_pools"
5151
5252 let swapAc = "activate_swap"
5353
5454 let liquidityAc = "activate_liquidity"
5555
5656 let usdn = "usdn_asset"
5757
5858 let usdt = "usdt_asset"
5959
6060 let usdc = "usdc_asset"
6161
6262 let ngnn = "ngnn_asset"
6363
6464 let aWaves = "accept_waves"
6565
6666 @Callable(i)
6767 func constructor (MainAssetId,UsdnAssetId,UsdtAssetId,UsdcAssetId,NgnnAssetId,acceptWaves,percentageRate) = if ((i.caller == this))
6868 then [StringEntry(main, MainAssetId), StringEntry(usdn, UsdnAssetId), StringEntry(usdc, UsdcAssetId), StringEntry(usdt, UsdtAssetId), StringEntry(ngnn, NgnnAssetId), BooleanEntry(aWaves, acceptWaves), IntegerEntry(rateFee, percentageRate), BooleanEntry(ac, true), BooleanEntry(swapAc, false), BooleanEntry(poolAc, false), BooleanEntry(liquidityAc, false)]
6969 else throw("Only the Admin itself can invoke this function")
7070
7171
7272
7373 @Callable(i)
7474 func activate (v) = if ((i.caller == this))
7575 then [BooleanEntry(ac, v)]
7676 else throw("Only the Admin itself can invoke this function")
7777
7878
7979
8080 @Callable(i)
8181 func maintenance (pools,swap,stake) = if ((i.caller == this))
8282 then [BooleanEntry(poolAc, pools), BooleanEntry(swapAc, swap), BooleanEntry(liquidityAc, stake)]
8383 else throw("Only the Admin itself can invoke this function")
8484
8585
8686
8787 @Callable(i)
8888 func percentualRateFeeEdit (rate) = if ((i.caller == this))
8989 then [IntegerEntry(rateFee, rate)]
9090 else throw("Only the Admin itself can invoke this function")
9191
9292
9393
9494 @Callable(i)
9595 func acceptWaves (activate) = if ((i.caller == this))
9696 then [BooleanEntry(aWaves, activate)]
9797 else throw("Only the Admin itself can invoke this function")
9898
9999
100100
101101 @Callable(i)
102102 func deposit () = {
103103 let power = getBooleanValue(this, ac)
104104 let liquidityPower = getBooleanValue(this, liquidityAc)
105105 let acWaves = getBooleanValue(this, aWaves)
106106 let pmt = i.payments[0]
107107 let MainAsset = fromBase58String(getStringValue(this, main))
108108 if (power)
109109 then if (!(liquidityPower))
110110 then if ((pmt.assetId != MainAsset))
111111 then throw(("Invalid Asset! Kindly Deposit Only " + toBase58String(MainAsset)))
112112 else {
113113 let currentKey = toBase58String(i.caller.bytes)
114114 let currentAmount = match getInteger(this, currentKey) {
115115 case a: Int =>
116116 a
117117 case _ =>
118118 0
119119 }
120120 let newAmount = (currentAmount + pmt.amount)
121121 let useramount = IntegerEntry(currentKey, newAmount)
122122 let userdepositheight = IntegerEntry(("Deposit_Height_Of_" + currentKey), height)
123123 let previouslockbalance = match getInteger(this, "Total_Tokens_Locked:") {
124124 case a: Int =>
125125 a
126126 case _ =>
127127 0
128128 }
129129 let totaltoken = (previouslockbalance + pmt.amount)
130130 let TLV = IntegerEntry("Total_Tokens_Locked:", totaltoken)
131131 [useramount, userdepositheight, TLV]
132132 }
133133 else throw("liquidity is currently under maintenance.")
134134 else throw("dApp is currently under maintenance.")
135135 }
136136
137137
138138
139139 @Callable(i)
140140 func remove (amount) = {
141141 let power = getBooleanValue(this, ac)
142142 let liquidityPower = getBooleanValue(this, liquidityAc)
143143 let acWaves = getBooleanValue(this, aWaves)
144144 let pmt = i.payments[0]
145145 let MainAsset = toBytes(getStringValue(this, main))
146146 if (power)
147147 then if (!(liquidityPower))
148- then if ((pmt.assetId != MainAsset))
149- then throw(("Invalid Asset! Kindly Deposit Only " + toBase58String(MainAsset)))
150- else {
151- let currentKey = toBase58String(i.caller.bytes)
152- let currentAmount = valueOrElse(getInteger(this, currentKey), 0)
153- let swapheightkeyname = ("Deposit_Height_Of_" + currentKey)
154- let previouslockbalance = getIntegerValue(this, "Total_Tokens_Locked:")
155- let totaltoken = (previouslockbalance - amount)
156- let diff = (height - getIntegerValue(this, swapheightkeyname))
157- if ((0 > amount))
158- then throw("Can't withdraw negative AxAi amount")
159- else {
160- let newAmount = (currentAmount - amount)
161- if ((0 > newAmount))
162- then throw("Not enough AxAi balance")
163- else [IntegerEntry(currentKey, newAmount), IntegerEntry("Total_Tokens_Locked:", totaltoken), ScriptTransfer(i.caller, amount, MainAsset), ScriptTransfer(i.caller, (((diff * amount) * 4) / 1440), MainAsset)]
164- }
165- }
148+ then {
149+ let currentKey = toBase58String(i.caller.bytes)
150+ let currentAmount = valueOrElse(getInteger(this, currentKey), 0)
151+ let swapheightkeyname = ("Deposit_Height_Of_" + currentKey)
152+ let previouslockbalance = getIntegerValue(this, "Total_Tokens_Locked:")
153+ let totaltoken = (previouslockbalance - amount)
154+ let diff = (height - getIntegerValue(this, swapheightkeyname))
155+ if ((0 > amount))
156+ then throw("Can't withdraw negative AxAi amount")
157+ else {
158+ let newAmount = (currentAmount - amount)
159+ if ((0 > newAmount))
160+ then throw("Not enough AxAi balance")
161+ else [IntegerEntry(currentKey, newAmount), IntegerEntry("Total_Tokens_Locked:", totaltoken), ScriptTransfer(i.caller, amount, MainAsset), ScriptTransfer(i.caller, (((diff * amount) * 4) / 1440), MainAsset)]
162+ }
163+ }
166164 else throw("liquidity is currently under maintenance.")
167165 else throw("dApp is currently under maintenance.")
168166 }
169167
170168
171169 @Verifier(tx)
172170 func verify () = match tx {
173171 case _ =>
174172 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
175173 }
176174

github/deemru/w8io/169f3d6 
44.67 ms