tx · 3uFfUik5hjzFHqV5j3jTKon5iuejojkJXnrKWo9aCBNy

3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS:  -0.01200000 Waves

2022.09.26 15:31 [3311561] smart account 3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS > SELF 0.00000000 Waves

{ "type": 13, "id": "3uFfUik5hjzFHqV5j3jTKon5iuejojkJXnrKWo9aCBNy", "fee": 1200000, "feeAssetId": null, "timestamp": 1664195427171, "version": 2, "chainId": 87, "sender": "3PGcRy2VFKYhusWo4j6dR8sK8Hi8gZcTopS", "senderPublicKey": "6vs9orALhZsXKNcKtzPwfM18kgyVRj7qiXM4EdQSgAaZ", "proofs": [ "4AdMT1j5Ps5cPnZBTnsWDwL76aMXPwcvcpb6EHsfGuTF1uqGZPJCnsXHYgMuWuNHZwASYpDnrPfWKFdtbiFzkw8M" ], "script": "base64:AAIFAAAAAAAAAAYIAhIAEgAAAAABAAAAAAthZG1pbnJpZ2h0cwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAARREFwcF9BZG1pbl9SaWdodHMAAAACAAAAAWkBAAAAEEJ1eVdhdmVzV2l0aFVTRE4AAAAABAAAAA5TcGVuZFVTRE5WYWx1ZQAAAAAAAvrwgAQAAAAObWluRGFwcEJhbGFuY2UAAAAAAABMS0AEAAAAEURhcHBmZWVwZXJjZW50YWdlAAAAAAAAAAAGBAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAC0FNTV9BZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzUEhhTmdvbUJrcnZFTDJRbnVKYXJRVkphNzF3anc5cWlxRwQAAAAEVVNETgEAAAAgtiYpwwT1zlORpA5LdSQvZIxRsfrfr1QpvUjSHSqyqtEEAAAACWtCYWxhbmNlQQIAAAAPQV9hc3NldF9iYWxhbmNlBAAAAA9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUEEAAAACWtCYWxhbmNlQgIAAAAPQl9hc3NldF9iYWxhbmNlBAAAAA9CX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUIEAAAAEW5ld2JhbGFuY2VvZldBVkVTCQAAawAAAAMFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAAPQV9hc3NldF9iYWxhbmNlCQAAZAAAAAIFAAAAD0JfYXNzZXRfYmFsYW5jZQUAAAAOU3BlbmRVU0ROVmFsdWUEAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQkAAGUAAAACBQAAAA9BX2Fzc2V0X2JhbGFuY2UFAAAAEW5ld2JhbGFuY2VvZldBVkVTBAAAAAdBTU1fZmVlCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAARRGFwcGZlZXBlcmNlbnRhZ2UAAAAAAAAAA+gEAAAAGGFjdHVhbG1pbkFtb3VudFRvUmVjZWl2ZQkAAGUAAAACBQAAABJtaW5BbW91bnRUb1JlY2VpdmUFAAAAB0FNTV9mZWUEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAARVU0ROBQAAAA5TcGVuZFVTRE5WYWx1ZQQAAAAQaW52b2tlVG9CdXlXQVZFUwkAA/wAAAAEBQAAAAtBTU1fQWRkcmVzcwIAAAAIZXhjaGFuZ2UJAARMAAAAAgUAAAAYYWN0dWFsbWluQW1vdW50VG9SZWNlaXZlBQAAAANuaWwJAARMAAAAAgUAAAAHcGF5bWVudAUAAAADbmlsAwkAAAAAAAACBQAAABBpbnZva2VUb0J1eVdBVkVTBQAAABBpbnZva2VUb0J1eVdBVkVTAwkBAAAAAiE9AAAAAgUAAAALYWRtaW5yaWdodHMFAAAADWNhbGxlcmFkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkkga25vdyBZb3UgYXJlIG5vdCBBbiBBZG1pbi4gT25seSAFAAAAC2FkbWlucmlnaHRzAgAAACEgaGFzIHJpZ2h0cyB0byBjaGFuZ2UgRGF5cyBSYW5nZS4DCQAAZgAAAAIFAAAADm1pbkRhcHBCYWxhbmNlCQAD8AAAAAIFAAAABHRoaXMFAAAABFVTRE4JAAACAAAAAQkAASwAAAACAgAAADVZb3UgQWNjb3VudCBpcyBTaG9ydCBpbiA1IFVTRE4gQmFsYW5jZS4gWW91IGhhdmUgb25seQkAAaQAAAABCQAD8AAAAAIFAAAABHRoaXMFAAAABFVTRE4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAcVG9rZW5zIFN3YXBwZWQgU3VjY2Vzc2Z1bGx5LgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAWQ29sbGVjdGVkX1dhdmVzX0Ftb3VudAUAAAAYYWN0dWFsbWluQW1vdW50VG9SZWNlaXZlBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAElNlbGxXYXZlc3RvR2V0VVNETgAAAAAEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAAPU3BlbmRXQVZFU1ZhbHVlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzAgAAABZDb2xsZWN0ZWRfV2F2ZXNfQW1vdW50BAAAAAtBTU1fQWRkcmVzcwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM1BIYU5nb21Ca3J2RUwyUW51SmFyUVZKYTcxd2p3OXFpcUcEAAAACWtCYWxhbmNlQQIAAAAPQV9hc3NldF9iYWxhbmNlBAAAAA9BX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUEEAAAACWtCYWxhbmNlQgIAAAAPQl9hc3NldF9iYWxhbmNlBAAAAA9CX2Fzc2V0X2JhbGFuY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAAC0FNTV9BZGRyZXNzBQAAAAlrQmFsYW5jZUIEAAAAEG5ld2JhbGFuY2VvZlVTRE4JAABrAAAAAwUAAAAPQl9hc3NldF9iYWxhbmNlBQAAAA9BX2Fzc2V0X2JhbGFuY2UJAABkAAAAAgUAAAAPQV9hc3NldF9iYWxhbmNlBQAAAA9TcGVuZFdBVkVTVmFsdWUEAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQkAAGUAAAACBQAAAA9CX2Fzc2V0X2JhbGFuY2UFAAAAEG5ld2JhbGFuY2VvZlVTRE4EAAAAC2RlcHRoZmFjdG9yCQAAawAAAAMFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQAAAAAAAAAAAQAAAAAAAAAAZAQAAAAYYWN0dWFsbWluQW1vdW50VG9SZWNlaXZlCQAAZQAAAAIFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAALZGVwdGhmYWN0b3IEAAAAB3BheW1lbnQJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAR1bml0BQAAAA9TcGVuZFdBVkVTVmFsdWUEAAAAEWludm9rZVRvU2VsbFdBVkVTCQAD/AAAAAQFAAAAC0FNTV9BZGRyZXNzAgAAAAhleGNoYW5nZQkABEwAAAACBQAAABhhY3R1YWxtaW5BbW91bnRUb1JlY2VpdmUFAAAAA25pbAkABEwAAAACBQAAAAdwYXltZW50BQAAAANuaWwDCQAAAAAAAAIFAAAAEWludm9rZVRvU2VsbFdBVkVTBQAAABFpbnZva2VUb1NlbGxXQVZFUwMJAQAAAAIhPQAAAAIFAAAAC2FkbWlucmlnaHRzBQAAAA1jYWxsZXJhZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACJJIGtub3cgWW91IGFyZSBub3QgQW4gQWRtaW4uIE9ubHkgBQAAAAthZG1pbnJpZ2h0cwIAAAAhIGhhcyByaWdodHMgdG8gY2hhbmdlIERheXMgUmFuZ2UuAwkAAGYAAAACAAAAAAAAD0JACAkAA+8AAAABBQAAAAR0aGlzAAAACWF2YWlsYWJsZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAANFlvdSBBY2NvdW50IGlzIFNob3J0IGluIFdBVkVTIEJhbGFuY2UuIFlvdSBoYXZlIG9ubHkJAAGkAAAAAQgJAAPvAAAAAQUAAAAEdGhpcwAAAAlhdmFpbGFibGUCAAAAC2luc3RlYWQgb2YgCQABpAAAAAEFAAAAD1NwZW5kV0FWRVNWYWx1ZQIAAAAGIFdBVkVTAwkAAGYAAAACAAAAAAAATEtABQAAABhhY3R1YWxtaW5BbW91bnRUb1JlY2VpdmUJAAACAAAAAQIAAAAjWW91IGNhbid0IHJlY2VpdmUgbGVzcyB0aGFuIDUgVVNETi4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAHbWVzc2FnZQIAAAAcVG9rZW5zIFN3YXBwZWQgU3VjY2Vzc2Z1bGx5LgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAVQ29sbGVjdGVkX1VTRE5fQW1vdW50BQAAABhhY3R1YWxtaW5BbW91bnRUb1JlY2VpdmUFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tlec0DDSc=", "height": 3311561, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DAiJmjX8fCJ8avq37d9PrA9mcHk4bsxTWCnGmg3szdPt Next: BC2mxe2cPsX79MwM7mTc2KypHaHpGdvVSEnFEMEtiwCJ Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-
4+let adminrights = getStringValue(this, "DApp_Admin_Rights")
55
66 @Callable(i)
77 func BuyWavesWithUSDN () = {
8- let SpendUSDNValue = 5000000
8+ let SpendUSDNValue = 50000000
9+ let minDappBalance = 5000000
10+ let Dappfeepercentage = 6
11+ let calleraddress = toBase58String(i.caller.bytes)
912 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
1013 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1114 let kBalanceA = "A_asset_balance"
1417 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
1518 let newbalanceofWAVES = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + SpendUSDNValue))
1619 let minAmountToReceive = (A_asset_balance - newbalanceofWAVES)
17- let depthfactor = fraction(minAmountToReceive, 1, 100)
18- let actualminAmountToReceive = (minAmountToReceive - depthfactor)
20+ let AMM_fee = fraction(minAmountToReceive, Dappfeepercentage, 1000)
21+ let actualminAmountToReceive = (minAmountToReceive - AMM_fee)
1922 let payment = AttachedPayment(USDN, SpendUSDNValue)
2023 let invokeToBuyWAVES = invoke(AMM_Address, "exchange", [actualminAmountToReceive], [payment])
2124 if ((invokeToBuyWAVES == invokeToBuyWAVES))
22- then if ((5000000 > assetBalance(this, USDN)))
23- then throw(("You Account is Short in 5 USDN Balance. You have only" + toString(assetBalance(this, USDN))))
24- else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_Waves_Amount", actualminAmountToReceive)]
25+ then if ((adminrights != calleraddress))
26+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
27+ else if ((minDappBalance > assetBalance(this, USDN)))
28+ then throw(("You Account is Short in 5 USDN Balance. You have only" + toString(assetBalance(this, USDN))))
29+ else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_Waves_Amount", actualminAmountToReceive)]
2530 else throw("Strict value is not equal to itself.")
2631 }
2732
2934
3035 @Callable(i)
3136 func SellWavestoGetUSDN () = {
37+ let calleraddress = toBase58String(i.caller.bytes)
3238 let SpendWAVESValue = getIntegerValue(this, "Collected_Waves_Amount")
3339 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
34- let WAVES = base58''
3540 let kBalanceA = "A_asset_balance"
3641 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
3742 let kBalanceB = "B_asset_balance"
4348 let payment = AttachedPayment(unit, SpendWAVESValue)
4449 let invokeToSellWAVES = invoke(AMM_Address, "exchange", [actualminAmountToReceive], [payment])
4550 if ((invokeToSellWAVES == invokeToSellWAVES))
46- then if ((1000000 > wavesBalance(this).available))
47- then throw((((("You Account is Short in WAVES Balance. You have only" + toString(wavesBalance(this).available)) + "instead of ") + toString(SpendWAVESValue)) + " WAVES"))
48- else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_USDN_Amount", actualminAmountToReceive)]
51+ then if ((adminrights != calleraddress))
52+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
53+ else if ((1000000 > wavesBalance(this).available))
54+ then throw((((("You Account is Short in WAVES Balance. You have only" + toString(wavesBalance(this).available)) + "instead of ") + toString(SpendWAVESValue)) + " WAVES"))
55+ else if ((5000000 > actualminAmountToReceive))
56+ then throw("You can't receive less than 5 USDN.")
57+ else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_USDN_Amount", actualminAmountToReceive)]
4958 else throw("Strict value is not equal to itself.")
5059 }
5160
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-
4+let adminrights = getStringValue(this, "DApp_Admin_Rights")
55
66 @Callable(i)
77 func BuyWavesWithUSDN () = {
8- let SpendUSDNValue = 5000000
8+ let SpendUSDNValue = 50000000
9+ let minDappBalance = 5000000
10+ let Dappfeepercentage = 6
11+ let calleraddress = toBase58String(i.caller.bytes)
912 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
1013 let USDN = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
1114 let kBalanceA = "A_asset_balance"
1215 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
1316 let kBalanceB = "B_asset_balance"
1417 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
1518 let newbalanceofWAVES = fraction(B_asset_balance, A_asset_balance, (B_asset_balance + SpendUSDNValue))
1619 let minAmountToReceive = (A_asset_balance - newbalanceofWAVES)
17- let depthfactor = fraction(minAmountToReceive, 1, 100)
18- let actualminAmountToReceive = (minAmountToReceive - depthfactor)
20+ let AMM_fee = fraction(minAmountToReceive, Dappfeepercentage, 1000)
21+ let actualminAmountToReceive = (minAmountToReceive - AMM_fee)
1922 let payment = AttachedPayment(USDN, SpendUSDNValue)
2023 let invokeToBuyWAVES = invoke(AMM_Address, "exchange", [actualminAmountToReceive], [payment])
2124 if ((invokeToBuyWAVES == invokeToBuyWAVES))
22- then if ((5000000 > assetBalance(this, USDN)))
23- then throw(("You Account is Short in 5 USDN Balance. You have only" + toString(assetBalance(this, USDN))))
24- else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_Waves_Amount", actualminAmountToReceive)]
25+ then if ((adminrights != calleraddress))
26+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
27+ else if ((minDappBalance > assetBalance(this, USDN)))
28+ then throw(("You Account is Short in 5 USDN Balance. You have only" + toString(assetBalance(this, USDN))))
29+ else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_Waves_Amount", actualminAmountToReceive)]
2530 else throw("Strict value is not equal to itself.")
2631 }
2732
2833
2934
3035 @Callable(i)
3136 func SellWavestoGetUSDN () = {
37+ let calleraddress = toBase58String(i.caller.bytes)
3238 let SpendWAVESValue = getIntegerValue(this, "Collected_Waves_Amount")
3339 let AMM_Address = addressFromStringValue("3PHaNgomBkrvEL2QnuJarQVJa71wjw9qiqG")
34- let WAVES = base58''
3540 let kBalanceA = "A_asset_balance"
3641 let A_asset_balance = getIntegerValue(AMM_Address, kBalanceA)
3742 let kBalanceB = "B_asset_balance"
3843 let B_asset_balance = getIntegerValue(AMM_Address, kBalanceB)
3944 let newbalanceofUSDN = fraction(B_asset_balance, A_asset_balance, (A_asset_balance + SpendWAVESValue))
4045 let minAmountToReceive = (B_asset_balance - newbalanceofUSDN)
4146 let depthfactor = fraction(minAmountToReceive, 1, 100)
4247 let actualminAmountToReceive = (minAmountToReceive - depthfactor)
4348 let payment = AttachedPayment(unit, SpendWAVESValue)
4449 let invokeToSellWAVES = invoke(AMM_Address, "exchange", [actualminAmountToReceive], [payment])
4550 if ((invokeToSellWAVES == invokeToSellWAVES))
46- then if ((1000000 > wavesBalance(this).available))
47- then throw((((("You Account is Short in WAVES Balance. You have only" + toString(wavesBalance(this).available)) + "instead of ") + toString(SpendWAVESValue)) + " WAVES"))
48- else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_USDN_Amount", actualminAmountToReceive)]
51+ then if ((adminrights != calleraddress))
52+ then throw((("I know You are not An Admin. Only " + adminrights) + " has rights to change Days Range."))
53+ else if ((1000000 > wavesBalance(this).available))
54+ then throw((((("You Account is Short in WAVES Balance. You have only" + toString(wavesBalance(this).available)) + "instead of ") + toString(SpendWAVESValue)) + " WAVES"))
55+ else if ((5000000 > actualminAmountToReceive))
56+ then throw("You can't receive less than 5 USDN.")
57+ else [StringEntry("message", "Tokens Swapped Successfully."), IntegerEntry("Collected_USDN_Amount", actualminAmountToReceive)]
4958 else throw("Strict value is not equal to itself.")
5059 }
5160
5261
5362 @Verifier(tx)
5463 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5564

github/deemru/w8io/6500d08 
290.22 ms