tx · GZKWsj8YqZEwYJSfY9vkrAmf8P5tbX3PxocP6FL8hXaj

3N6LXAerq2VVAPds14fKmB72f1Whmem7pxY:  -0.00600000 Waves

2022.06.15 04:33 [2096838] smart account 3N6LXAerq2VVAPds14fKmB72f1Whmem7pxY > SELF 0.00000000 Waves

{ "type": 13, "id": "GZKWsj8YqZEwYJSfY9vkrAmf8P5tbX3PxocP6FL8hXaj", "fee": 600000, "feeAssetId": null, "timestamp": 1655256844776, "version": 2, "chainId": 84, "sender": "3N6LXAerq2VVAPds14fKmB72f1Whmem7pxY", "senderPublicKey": "fFTt4dRQEMWmxs9cA5He1tph3gmQLAM4cnpj6eqkWPR", "proofs": [ "4sZ9BbFxYsn2z6sdQFTjkXox19cjpeUpsaLxDxtZ2yN17xDmjTTCor9aS35eX3dkjo9hpU4gXq69pCwjUWyUNhHP" ], "script": "base64:AAIFAAAAAAAAACoIAhIJCgcICAgICAQBEgMKAQQSBQoDBAQEEgMKAQESAwoBBBIAEgMKAQEAAAAeAAAAAARtYWluAgAAAAptYWluX2Fzc2V0AAAAAAFsAgAAAAlscF9hc3NldF8AAAAAAmExAgAAAAxzd2FwX2Fzc2V0MV8AAAAAAnN0AgAAAA9hZGRyZXNzX3N0YWtlcl8AAAAAA3NzdAIAAAANYWRkcmVzc19wb29sXwAAAAADc3dwAgAAAA1hZGRyZXNzX3N3YXBfAAAAAAJhMgIAAAAMc3dhcF9hc3NldDJfAAAAAANhYTECAAAAB3Bvb2xfMV8AAAAAA2FhMgIAAAAHcG9vbF8yXwAAAAADc3QxAgAAAA5zdGFrZXJfYWRkcmVzcwAAAAAEdHlwZQIAAAAFdHlwZV8AAAAAAnNhAgAAAA9TVEFLSU5HX0FNT1VOVF8AAAAAAmxhAgAAAA1MRUFTRV9BTU9VTlRfAAAAAAJpeAIAAAADSURfAAAAAAdyYXRlRmVlAgAAABNwZXJjZW50YWdlX3JhdGVfZmVlAAAAAAJEOAAAAAAABfXhAAAAAAACRDYAAAAAAAAPQkAAAAAAD2NvbnRyYWN0QWRkcmVzcwkBAAAAB0FkZHJlc3MAAAABCAUAAAAEdGhpcwAAAAVieXRlcwAAAAAMZXhjaGFuZ2VSYXRlAAAAAAAAAAAFAQAAABFnZXRBZGRyZXNzSWZWYWxpZAAAAAEAAAAHYWRkcmVzcwkABCUAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQUAAAAHYWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAADENhbid0IHBhcnNlIAUAAAAHYWRkcmVzcwIAAAALIGFzIGFkZHJlc3MBAAAAD2dldEFzc2V0SWZWYWxpZAAAAAEAAAAHYXNzZXRJZAkAAlgAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEJAAJZAAAAAQUAAAAHYXNzZXRJZAAAAAJpZAkAASwAAAACCQABLAAAAAICAAAACkFzc2V0IElkOiAFAAAAB2Fzc2V0SWQCAAAADCBpcyBpbnZhbGlkLgAAAAACYWMCAAAACGFjdGl2YXRlAAAAAAZwb29sQWMCAAAADmFjdGl2YXRlX3Bvb2xzAAAAAAZzd2FwQWMCAAAADWFjdGl2YXRlX3N3YXAAAAAAC2xpcXVpZGl0eUFjAgAAABJhY3RpdmF0ZV9saXF1aWRpdHkAAAAABHVzZG4CAAAACnVzZG5fYXNzZXQAAAAABHVzZHQCAAAACnVzZHRfYXNzZXQAAAAABHVzZGMCAAAACnVzZGNfYXNzZXQAAAAABG5nbm4CAAAACm5nbm5fYXNzZXQAAAAABmFXYXZlcwIAAAAMYWNjZXB0X3dhdmVzAAAABwAAAAFpAQAAAAtjb25zdHJ1Y3RvcgAAAAcAAAALTWFpbkFzc2V0SWQAAAALVXNkbkFzc2V0SWQAAAALVXNkdEFzc2V0SWQAAAALVXNkY0Fzc2V0SWQAAAALTmdubkFzc2V0SWQAAAALYWNjZXB0V2F2ZXMAAAAOcGVyY2VudGFnZVJhdGUDCQAAAAAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAARtYWluBQAAAAtNYWluQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAR1c2RuBQAAAAtVc2RuQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAR1c2RjBQAAAAtVc2RjQXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAR1c2R0BQAAAAtVc2R0QXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAARuZ25uBQAAAAtOZ25uQXNzZXRJZAkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGYVdhdmVzBQAAAAthY2NlcHRXYXZlcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAHcmF0ZUZlZQUAAAAOcGVyY2VudGFnZVJhdGUJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAAmFjBgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGc3dhcEFjBwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAGcG9vbEFjBwkABEwAAAAC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", "height": 2096838, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 2fJgQi3tSRUvkKCu86am6U7Vc3DWauzroPQJ4EB9PtLH Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let main = "main_asset"
5+
6+let l = "lp_asset_"
7+
8+let a1 = "swap_asset1_"
9+
10+let st = "address_staker_"
11+
12+let sst = "address_pool_"
13+
14+let swp = "address_swap_"
15+
16+let a2 = "swap_asset2_"
17+
18+let aa1 = "pool_1_"
19+
20+let aa2 = "pool_2_"
21+
22+let st1 = "staker_address"
23+
24+let type = "type_"
25+
26+let sa = "STAKING_AMOUNT_"
27+
28+let la = "LEASE_AMOUNT_"
29+
30+let ix = "ID_"
31+
32+let rateFee = "percentage_rate_fee"
33+
34+let D8 = 100000000
35+
36+let D6 = 1000000
37+
38+let contractAddress = Address(this.bytes)
39+
40+let exchangeRate = 5
41+
42+func getAddressIfValid (address) = toString(valueOrErrorMessage(addressFromString(address), (("Can't parse " + address) + " as address")))
43+
44+
45+func getAssetIfValid (assetId) = toBase58String(valueOrErrorMessage(value(assetInfo(fromBase58String(assetId))).id, (("Asset Id: " + assetId) + " is invalid.")))
46+
47+
48+let ac = "activate"
49+
50+let poolAc = "activate_pools"
51+
52+let swapAc = "activate_swap"
53+
54+let liquidityAc = "activate_liquidity"
55+
56+let usdn = "usdn_asset"
57+
58+let usdt = "usdt_asset"
59+
60+let usdc = "usdc_asset"
61+
62+let ngnn = "ngnn_asset"
63+
64+let aWaves = "accept_waves"
65+
66+@Callable(i)
67+func constructor (MainAssetId,UsdnAssetId,UsdtAssetId,UsdcAssetId,NgnnAssetId,acceptWaves,percentageRate) = if ((i.caller == this))
68+ 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)]
69+ else throw("Only the Admin itself can invoke this function")
70+
71+
72+
73+@Callable(i)
74+func activate (v) = if ((i.caller == this))
75+ then [BooleanEntry(ac, v)]
76+ else throw("Only the Admin itself can invoke this function")
77+
78+
79+
80+@Callable(i)
81+func maintenance (pools,swap,stake) = if ((i.caller == this))
82+ then [BooleanEntry(poolAc, pools), BooleanEntry(swapAc, swap), BooleanEntry(liquidityAc, stake)]
83+ else throw("Only the Admin itself can invoke this function")
84+
85+
86+
87+@Callable(i)
88+func percentualRateFeeEdit (rate) = if ((i.caller == this))
89+ then [IntegerEntry(rateFee, rate)]
90+ else throw("Only the Admin itself can invoke this function")
91+
92+
93+
94+@Callable(i)
95+func acceptWaves (activate) = if ((i.caller == this))
96+ then [BooleanEntry(aWaves, activate)]
97+ else throw("Only the Admin itself can invoke this function")
98+
99+
100+
101+@Callable(i)
102+func deposit () = {
103+ let power = getBooleanValue(this, ac)
104+ let liquidityPower = getBooleanValue(this, liquidityAc)
105+ let acWaves = getBooleanValue(this, aWaves)
106+ let pmt = i.payments[0]
107+ let MainAsset = toBytes(getStringValue(this, main))
108+ if (power)
109+ then if (liquidityPower)
110+ then if ((pmt.assetId != MainAsset))
111+ then throw("Invalid Asset! Kindly Deposit Only A4tvKLB66QMmSJPXJgiajNnrtSjvqAapxTqhLzJbBNFX (AxAi).")
112+ else {
113+ let currentKey = toBase58String(i.caller.bytes)
114+ let currentAmount = match getInteger(this, currentKey) {
115+ case a: Int =>
116+ a
117+ case _ =>
118+ 0
119+ }
120+ let newAmount = (currentAmount + pmt.amount)
121+ let useramount = IntegerEntry(currentKey, newAmount)
122+ let userdepositheight = IntegerEntry(("Deposit_Height_Of_" + currentKey), height)
123+ let previouslockbalance = getIntegerValue(this, "Total_Tokens_Locked:")
124+ let totaltoken = (previouslockbalance + pmt.amount)
125+ let TLV = IntegerEntry("Total_Tokens_Locked:", totaltoken)
126+[useramount, userdepositheight, TLV]
127+ }
128+ else throw("liquidity is currently under maintenance.")
129+ else throw("dApp is currently under maintenance.")
130+ }
131+
132+
133+
134+@Callable(i)
135+func remove (amount) = {
136+ let power = getBooleanValue(this, ac)
137+ let liquidityPower = getBooleanValue(this, liquidityAc)
138+ let acWaves = getBooleanValue(this, aWaves)
139+ let pmt = i.payments[0]
140+ let MainAsset = toBytes(getStringValue(this, main))
141+ if (power)
142+ then if (liquidityPower)
143+ then if ((pmt.assetId != MainAsset))
144+ then throw(("Invalid Asset! Kindly Deposit Only " + toBase58String(MainAsset)))
145+ else {
146+ let currentKey = toBase58String(i.caller.bytes)
147+ let currentAmount = match getInteger(this, currentKey) {
148+ case a: Int =>
149+ a
150+ case _ =>
151+ 0
152+ }
153+ let newAmount = (currentAmount - (amount * D8))
154+ let swapheightkeyname = ("Deposit_Height_Of_" + currentKey)
155+ let previouslockbalance = getIntegerValue(this, "Total_Tokens_Locked:")
156+ let totaltoken = (previouslockbalance - (amount * D8))
157+ let diff = (height - getIntegerValue(this, swapheightkeyname))
158+ if ((0 > amount))
159+ then throw("Can't withdraw negative AxAi amount")
160+ else if ((0 > newAmount))
161+ then throw("Not enough AxAi balance")
162+ else [IntegerEntry(currentKey, newAmount), IntegerEntry("Total_Tokens_Locked:", totaltoken), ScriptTransfer(i.caller, (amount * D8), MainAsset), ScriptTransfer(i.caller, (((diff * amount) * 4) / 1440), MainAsset)]
163+ }
164+ else throw("liquidity is currently under maintenance.")
165+ else throw("dApp is currently under maintenance.")
166+ }
167+
168+
169+@Verifier(tx)
170+func verify () = match tx {
171+ case _ =>
172+ sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
173+}
174+

github/deemru/w8io/169f3d6 
25.51 ms