tx · G8Wy8UHc2jGCs4qc64neJTGTBLX67dUiSrVZXGv44Njt

3PDXrrDmpgM24cNrwSZbFuaKsX1HZAH4q8U:  -0.00200000 Waves

2023.04.24 22:42 [3614650] smart account 3PDXrrDmpgM24cNrwSZbFuaKsX1HZAH4q8U > SELF 0.00000000 Waves

{ "type": 13, "id": "G8Wy8UHc2jGCs4qc64neJTGTBLX67dUiSrVZXGv44Njt", "fee": 200000, "feeAssetId": null, "timestamp": 1682365379002, "version": 1, "sender": "3PDXrrDmpgM24cNrwSZbFuaKsX1HZAH4q8U", "senderPublicKey": "9sRrmnCcE2XFoyQEW8qtmrzKcEcohoS1LB4wu6dKkejZ", "proofs": [ "wpcdhzYRtUBNBWqBeb5Ahi9yTAiv1bLXDvD35eWirLHZbYJZZLsxJx33aAvUVdksJV19NnSAhmFvz3uXRBxTMTH" ], "script": "base64:BgIMCAISAwoBCBIDCgEIAwAGY2FsbGVyCQEHQWRkcmVzcwEBGgFX8kyNpgQzcQuvv6RJxwgvOUrGQgmaEDC0AAhyZWNlaXZlcgkBB0FkZHJlc3MBARoBV88FaXOVh1gjAmchvI+JX5J6ZuikHjJ+GAEMZ2V0SW50T3JaZXJvAQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUDa2V5AAACAWkBBGluaXQBBm1hcmtldAMJAQIhPQIIBQFpBmNhbGxlcgUGY2FsbGVyCQACAQIKb25seSBhZG1pbgkAzAgCCQELU3RyaW5nRW50cnkCAgZtYXJrZXQFBm1hcmtldAUDbmlsAWkBAWwBAWEDCQECIT0CCAUBaQZjYWxsZXIFBmNhbGxlcgkAAgECCm9ubHkgYWRtaW4EBm1hcmtldAkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwIGbWFya2V0BA1tYXJrZXRBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBQZtYXJrZXQEAWQJALUJAgUBYQIBXwQDcmVzCQD8BwQFDW1hcmtldEFkZHJlc3MCCWxpcXVpZGF0ZQkAzAgCCQCRAwIFAWQAAAkAzAgCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUBZAABBQNuaWwFA25pbAMJAAACBQNyZXMFA3JlcwQOY29vcmRpbmF0b3JTdHIJARFAZXh0ck5hdGl2ZSgxMDUzKQIFDW1hcmtldEFkZHJlc3MCFGtfY29vcmRpbmF0b3JBZGRyZXNzBBJjb29yZGluYXRvckFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDmNvb3JkaW5hdG9yU3RyBA1xdW90ZUFzc2V0U3RyCQERQGV4dHJOYXRpdmUoMTA1MykCBRJjb29yZGluYXRvckFkZHJlc3MCDWtfcXVvdGVfYXNzZXQECnF1b3RlQXNzZXQJANkEAQUNcXVvdGVBc3NldFN0cgQHYmFsYW5jZQkA8AcCBQR0aGlzBQpxdW90ZUFzc2V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFCHJlY2VpdmVyBQdiYWxhbmNlBQpxdW90ZUFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICB3Byb2ZpdF8JAKQDAQgFCWxhc3RCbG9jawl0aW1lc3RhbXAFB2JhbGFuY2UJAMwIAgkBDEludGVnZXJFbnRyeQICC3RvdGFsUHJvZml0CQBkAgkBDGdldEludE9yWmVybwECC3RvdGFsUHJvZml0BQdiYWxhbmNlBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AQZhRtg==", "chainId": 87, "height": 3614650, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: E5WPPRTjL9fndJhUU1iMNcPxzPxjo6u4zGUdnen8aF68 Next: 6GB2u7jdXUG5HR4zfJJVDtnQKPwn4iWmmt6nM1c2L6Df Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let admin = Address(base58'3PBYExCMcqwN9R8aD7Wpf3yZ4WVLqFm8zRU')
4+let caller = Address(base58'3PQ23xgnf98t4qDtF5bscxdCDwgYoL7SPeK')
55
6-let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
6+let receiver = Address(base58'3PLoX5yufZz9jRahL1CVVRAXq8VpUmXBKLK')
7+
8+func getIntOrZero (key) = valueOrElse(getInteger(key), 0)
9+
710
811 @Callable(i)
9-func init (market) = if ((i.caller != admin))
10- then throw("lol")
12+func init (market) = if ((i.caller != caller))
13+ then throw("only admin")
1114 else [StringEntry("market", market)]
1215
1316
1417
1518 @Callable(i)
16-func l (a) = if ((i.caller != admin))
17- then throw("lol")
19+func l (a) = if ((i.caller != caller))
20+ then throw("only admin")
1821 else {
1922 let market = getStringValue(this, "market")
2023 let marketAddress = addressFromStringValue(market)
2225 let res = invoke(marketAddress, "liquidate", [d[0], parseIntValue(d[1])], nil)
2326 if ((res == res))
2427 then {
25- let b = assetBalance(this, xtnId)
26-[ScriptTransfer(admin, b, xtnId)]
28+ let coordinatorStr = getStringValue(marketAddress, "k_coordinatorAddress")
29+ let coordinatorAddress = addressFromStringValue(coordinatorStr)
30+ let quoteAssetStr = getStringValue(coordinatorAddress, "k_quote_asset")
31+ let quoteAsset = fromBase58String(quoteAssetStr)
32+ let balance = assetBalance(this, quoteAsset)
33+[ScriptTransfer(receiver, balance, quoteAsset), IntegerEntry(("profit_" + toString(lastBlock.timestamp)), balance), IntegerEntry("totalProfit", (getIntOrZero("totalProfit") + balance))]
2734 }
2835 else throw("Strict value is not equal to itself.")
2936 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let admin = Address(base58'3PBYExCMcqwN9R8aD7Wpf3yZ4WVLqFm8zRU')
4+let caller = Address(base58'3PQ23xgnf98t4qDtF5bscxdCDwgYoL7SPeK')
55
6-let xtnId = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
6+let receiver = Address(base58'3PLoX5yufZz9jRahL1CVVRAXq8VpUmXBKLK')
7+
8+func getIntOrZero (key) = valueOrElse(getInteger(key), 0)
9+
710
811 @Callable(i)
9-func init (market) = if ((i.caller != admin))
10- then throw("lol")
12+func init (market) = if ((i.caller != caller))
13+ then throw("only admin")
1114 else [StringEntry("market", market)]
1215
1316
1417
1518 @Callable(i)
16-func l (a) = if ((i.caller != admin))
17- then throw("lol")
19+func l (a) = if ((i.caller != caller))
20+ then throw("only admin")
1821 else {
1922 let market = getStringValue(this, "market")
2023 let marketAddress = addressFromStringValue(market)
2124 let d = split(a, "_")
2225 let res = invoke(marketAddress, "liquidate", [d[0], parseIntValue(d[1])], nil)
2326 if ((res == res))
2427 then {
25- let b = assetBalance(this, xtnId)
26-[ScriptTransfer(admin, b, xtnId)]
28+ let coordinatorStr = getStringValue(marketAddress, "k_coordinatorAddress")
29+ let coordinatorAddress = addressFromStringValue(coordinatorStr)
30+ let quoteAssetStr = getStringValue(coordinatorAddress, "k_quote_asset")
31+ let quoteAsset = fromBase58String(quoteAssetStr)
32+ let balance = assetBalance(this, quoteAsset)
33+[ScriptTransfer(receiver, balance, quoteAsset), IntegerEntry(("profit_" + toString(lastBlock.timestamp)), balance), IntegerEntry("totalProfit", (getIntOrZero("totalProfit") + balance))]
2734 }
2835 else throw("Strict value is not equal to itself.")
2936 }
3037
3138

github/deemru/w8io/3ef1775 
33.63 ms