tx · 7F9Sgwj9XH5WWYviHVsfPJNme6QFUbJgAdcYfc67PdqH 3Mx8raFsQfjh2JBeT8MN1Jv5sTvGkx5PDDS: -0.01000000 Waves 2023.08.28 15:44 [2730534] smart account 3Mx8raFsQfjh2JBeT8MN1Jv5sTvGkx5PDDS > SELF 0.00000000 Waves
{ "type": 13, "id": "7F9Sgwj9XH5WWYviHVsfPJNme6QFUbJgAdcYfc67PdqH", "fee": 1000000, "feeAssetId": null, "timestamp": 1693226626545, "version": 2, "chainId": 84, "sender": "3Mx8raFsQfjh2JBeT8MN1Jv5sTvGkx5PDDS", "senderPublicKey": "HmWR8GbhBF4LAodJ9xNgR7PpWF79RuCrhPWJWxqdB1KL", "proofs": [ "41KJzJFUSSiNotN6pCx67gEUtHyQxPv9zKukudP8XVEhhDea5BA8MPrrmACs1TLMqGW6Btf9Mtfh48gbvprFFEKp" ], "script": "base64:AAIFAAAAAAAAAAkIAhIAEgMKAQEAAAAEAAAAABFscF9hZGRyZXNzX3B1YmtleQEAAAAg+SHOoR+6ay5qXj57vjRzml+/6VMYqCQMV4ukn2GjgTcAAAAAIG1hc3N0cmFuc2Zlcl93aGl0ZWxpc3RlZF9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABFscF9hZGRyZXNzX3B1YmtleQAAAAAUbHBfZGVwb3NpdG9yX2FkZHJlc3MBAAAAIOOt17LUijbWojwDE5tgFkw1Y8cwIr3jselcewpp7rwjAAAAABRscF93aGl0ZWxpc3RfYWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAUbHBfZGVwb3NpdG9yX2FkZHJlc3MAAAACAAAAAWkBAAAAEEFkZFBvb2xMaXF1aWRpdHkAAAAABAAAAA1jYWxsZXJhZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAAA3BtdAMJAAAAAAAAAgkAAZAAAAABCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAkAAAIAAAABAgAAAElObyBwYXltZW50IGF0dGFjaGVkLCBQbGVhc2UgQXR0YWNoIG9ubHkgV2hpdGVsaXN0ZWQgVG9rZW5zIGluIHBheW1lbnRbMV0uBAAAACFQcmV2aW91c0Z1bmRzQWRkZWRUb1Bvb2xieUNvbXBhbnkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAOVG90YWxfTFBfQWRkZWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAeVG90YWxGdW5kc0FkZGVkVG9Qb29sYnlDb21wYW55CQAAZAAAAAIFAAAAIVByZXZpb3VzRnVuZHNBZGRlZFRvUG9vbGJ5Q29tcGFueQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAFVByZXZpb3VzUG9vbExpcXVpZGl0eQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABJUb3RhbFBvb2xMaXF1aWRpdHkJAABkAAAAAgUAAAAVUHJldmlvdXNQb29sTGlxdWlkaXR5CAUAAAADcG10AAAABmFtb3VudAQAAAAYUHJldmlvdXNMUERlcG9zaXRDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAEkxQX0RlcG9zaXRfQ291bnRlcgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVUb3RhbExQRGVwb3NpdENvdW50ZXIJAABkAAAAAgUAAAAYUHJldmlvdXNMUERlcG9zaXRDb3VudGVyAAAAAAAAAAABAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAABRscF93aGl0ZWxpc3RfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAABRscF93aGl0ZWxpc3RfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAQAAAAlpc0RlZmluZWQAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAuT25seSBXQVZFUyBpcyBhbGxvd2VkIHRvIGRlcG9zaXQgYXQgdGhlIG1vbWVudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkFAAAAElRvdGFsUG9vbExpcXVpZGl0eQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASTFBfRGVwb3NpdF9Db3VudGVyBQAAABVUb3RhbExQRGVwb3NpdENvdW50ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADlRvdGFsX0xQX0FkZGVkBQAAAB5Ub3RhbEZ1bmRzQWRkZWRUb1Bvb2xieUNvbXBhbnkFAAAAA25pbAAAAAFpAQAAAA9VcGRhdGVMUEJhbGFuY2UAAAABAAAAFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQEAAAAFHJlYWRfYWNjb3VudF9iYWxhbmNlCAkAA+8AAAABBQAAAAR0aGlzAAAAB3JlZ3VsYXIEAAAAGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQIAAAAkTm8gSW5pdGlhbCBQb29sIExpcXVpZGl0eSB3YXMgRm91bmQuBAAAABVyZWNlaXZlZF9vcmRlcl9hbW91bnQJAABlAAAAAgUAAAAUcmVhZF9hY2NvdW50X2JhbGFuY2UFAAAAGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkEAAAAFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQAAZAAAAAIJAABlAAAAAgUAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQUAAAAWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAUAAAAVcmVjZWl2ZWRfb3JkZXJfYW1vdW50BAAAABtQcmV2aW91c01hc3NUcmFuc2ZlckNvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAVTWFzc19UcmFuc2Zlcl9Db3VudGVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAGFRvdGFsTWFzc1RyYW5zZmVyQ291bnRlcgkAAGQAAAACBQAAABtQcmV2aW91c01hc3NUcmFuc2ZlckNvdW50ZXIAAAAAAAAAAAEEAAAAGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABhUb3RhbF9NYXNzX1RyYW5zZmVyX1NlbmQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVG90YWxNYXNzVHJhbnNmZXJTZW5kCQAAZAAAAAIFAAAAGFByZXZpb3VzTWFzc1RyYW5zZmVyU2VuZAUAAAAWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAJVRoaXMgQWRkcmVzcyBpcyBub3QgQXV0aG9yaXplZC4gT25seSAJAAQlAAAAAQUAAAAgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MCAAAAIiBpcyBBdXRob3JpemVkIEFkZHJlc3MgdG8gU2lnbiBpdC4JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFFRvdGFsX1Bvb2xfTGlxdWlkaXR5BQAAABR1cGRhdGVkX3Bvb2xfYmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAYVG90YWxfTWFzc19UcmFuc2Zlcl9TZW5kBQAAABVUb3RhbE1hc3NUcmFuc2ZlclNlbmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAABhUb3RhbE1hc3NUcmFuc2ZlckNvdW50ZXICAAAAE19NYXNzX1RyYW5zZmVyX1NlbmQFAAAAFlBhaWRNYXNzVHJhbnNmZXJBbW91bnQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFT3JkZXIGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkkWuw5", "height": 2730534, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DQXGBkeZ6AAPVNei6XKABde14saaAGJ3Tz55YxsWw4LT Next: F4zqxUGZ554ec6aZMQhghSuG9q1qRrUzqSdpXn1HdY13 Diff:
Old | New | Differences | |
---|---|---|---|
47 | 47 | ||
48 | 48 | @Callable(i) | |
49 | 49 | func UpdateLPBalance (PaidMassTransferAmount) = { | |
50 | + | let read_account_balance = wavesBalance(this).regular | |
50 | 51 | let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.") | |
51 | - | let updated_pool_balance = (read_total_pool_liquidity - PaidMassTransferAmount) | |
52 | + | let received_order_amount = (read_account_balance - read_total_pool_liquidity) | |
53 | + | let updated_pool_balance = ((read_total_pool_liquidity - PaidMassTransferAmount) + received_order_amount) | |
52 | 54 | let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") { | |
53 | 55 | case a: Int => | |
54 | 56 | a |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let lp_address_pubkey = base58'HmWR8GbhBF4LAodJ9xNgR7PpWF79RuCrhPWJWxqdB1KL' | |
5 | 5 | ||
6 | 6 | let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey) | |
7 | 7 | ||
8 | 8 | let lp_depositor_address = base58'GKmJ6BchUgQfwKp4mp5eX8Y9xLioYRm6e1gDfFgdAcCr' | |
9 | 9 | ||
10 | 10 | let lp_whitelist_address = addressFromPublicKey(lp_depositor_address) | |
11 | 11 | ||
12 | 12 | @Callable(i) | |
13 | 13 | func AddPoolLiquidity () = { | |
14 | 14 | let calleraddress = toBase58String(i.caller.bytes) | |
15 | 15 | let pmt = if ((size(i.payments) == 1)) | |
16 | 16 | then i.payments[0] | |
17 | 17 | else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].") | |
18 | 18 | let PreviousFundsAddedToPoolbyCompany = match getInteger(this, "Total_LP_Added") { | |
19 | 19 | case a: Int => | |
20 | 20 | a | |
21 | 21 | case _ => | |
22 | 22 | 0 | |
23 | 23 | } | |
24 | 24 | let TotalFundsAddedToPoolbyCompany = (PreviousFundsAddedToPoolbyCompany + pmt.amount) | |
25 | 25 | let PreviousPoolLiquidity = match getInteger(this, "Total_Pool_Liquidity") { | |
26 | 26 | case a: Int => | |
27 | 27 | a | |
28 | 28 | case _ => | |
29 | 29 | 0 | |
30 | 30 | } | |
31 | 31 | let TotalPoolLiquidity = (PreviousPoolLiquidity + pmt.amount) | |
32 | 32 | let PreviousLPDepositCounter = match getInteger(this, "LP_Deposit_Counter") { | |
33 | 33 | case a: Int => | |
34 | 34 | a | |
35 | 35 | case _ => | |
36 | 36 | 0 | |
37 | 37 | } | |
38 | 38 | let TotalLPDepositCounter = (PreviousLPDepositCounter + 1) | |
39 | 39 | if ((i.caller != lp_whitelist_address)) | |
40 | 40 | then throw((("This Address is not Authorized. Only " + toString(lp_whitelist_address)) + " is Authorized Address to Sign it.")) | |
41 | 41 | else if (isDefined(pmt.assetId)) | |
42 | 42 | then throw("Only WAVES is allowed to deposit at the moment") | |
43 | 43 | else [IntegerEntry("Total_Pool_Liquidity", TotalPoolLiquidity), IntegerEntry("LP_Deposit_Counter", TotalLPDepositCounter), IntegerEntry("Total_LP_Added", TotalFundsAddedToPoolbyCompany)] | |
44 | 44 | } | |
45 | 45 | ||
46 | 46 | ||
47 | 47 | ||
48 | 48 | @Callable(i) | |
49 | 49 | func UpdateLPBalance (PaidMassTransferAmount) = { | |
50 | + | let read_account_balance = wavesBalance(this).regular | |
50 | 51 | let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.") | |
51 | - | let updated_pool_balance = (read_total_pool_liquidity - PaidMassTransferAmount) | |
52 | + | let received_order_amount = (read_account_balance - read_total_pool_liquidity) | |
53 | + | let updated_pool_balance = ((read_total_pool_liquidity - PaidMassTransferAmount) + received_order_amount) | |
52 | 54 | let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") { | |
53 | 55 | case a: Int => | |
54 | 56 | a | |
55 | 57 | case _ => | |
56 | 58 | 0 | |
57 | 59 | } | |
58 | 60 | let TotalMassTransferCounter = (PreviousMassTransferCounter + 1) | |
59 | 61 | let PreviousMassTransferSend = match getInteger(this, "Total_Mass_Transfer_Send") { | |
60 | 62 | case a: Int => | |
61 | 63 | a | |
62 | 64 | case _ => | |
63 | 65 | 0 | |
64 | 66 | } | |
65 | 67 | let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount) | |
66 | 68 | if ((i.caller != masstransfer_whitelisted_address)) | |
67 | 69 | then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it.")) | |
68 | 70 | else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("Total_Mass_Transfer_Send", TotalMassTransferSend), IntegerEntry((toString(TotalMassTransferCounter) + "_Mass_Transfer_Send"), PaidMassTransferAmount)] | |
69 | 71 | } | |
70 | 72 | ||
71 | 73 | ||
72 | 74 | @Verifier(tx) | |
73 | 75 | func verify () = match tx { | |
74 | 76 | case t: Order|ExchangeTransaction|TransferTransaction => | |
75 | 77 | false | |
76 | 78 | case _ => | |
77 | 79 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
78 | 80 | } | |
79 | 81 |
github/deemru/w8io/026f985 28.12 ms ◑