tx · 88Lj9m516sL6q9XjwTdRAJwuVZhuCKUZ8XuYpDoX6EWD 3PCVGdMYSN7wBz3h9iN292KmcN8YPT73rQ6: -0.01000000 Waves 2023.09.23 17:46 [3833971] smart account 3PCVGdMYSN7wBz3h9iN292KmcN8YPT73rQ6 > SELF 0.00000000 Waves
{ "type": 13, "id": "88Lj9m516sL6q9XjwTdRAJwuVZhuCKUZ8XuYpDoX6EWD", "fee": 1000000, "feeAssetId": null, "timestamp": 1695480387069, "version": 2, "chainId": 87, "sender": "3PCVGdMYSN7wBz3h9iN292KmcN8YPT73rQ6", "senderPublicKey": "2oKshKbXJwo6oWfHpgCT31SbuB4Nm3DYeBm9PtHnzuxf", "proofs": [ "55b6NoQo6Ew4WdP3Cm6rq7NGPvjZ4BKJHNyDg6Tp2dMhgA1VVN2NZ6LBr8GcHwwbru8JUaX5UjpXcm8psKw5LaBg" ], "script": "base64:AAIFAAAAAAAAAA4IAhIAEgMKAQESAwoBAQAAAAQAAAAAEWxwX2FkZHJlc3NfcHVia2V5AQAAACAaub6/PxsR/IKPPkxgyw8ZFXMz8TNz2yPmHdLv+nWWZAAAAAAgbWFzc3RyYW5zZmVyX3doaXRlbGlzdGVkX2FkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAEWxwX2FkZHJlc3NfcHVia2V5AAAAABRscF9kZXBvc2l0b3JfYWRkcmVzcwEAAAAgc5/tVGYWTQcRPBIwmqOHZb8aTD2/yfJ8Jejlr1KqBgkAAAAAFGxwX3doaXRlbGlzdF9hZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAABRscF9kZXBvc2l0b3JfYWRkcmVzcwAAAAMAAAABaQEAAAAQQWRkUG9vbExpcXVpZGl0eQAAAAAEAAAADWNhbGxlcmFkZHJlc3MJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwQAAAADcG10AwkAAAAAAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAACQAAAgAAAAECAAAASU5vIHBheW1lbnQgYXR0YWNoZWQsIFBsZWFzZSBBdHRhY2ggb25seSBXaGl0ZWxpc3RlZCBUb2tlbnMgaW4gcGF5bWVudFsxXS4EAAAAIVByZXZpb3VzRnVuZHNBZGRlZFRvUG9vbGJ5Q29tcGFueQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAA5Ub3RhbF9MUF9BZGRlZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAB5Ub3RhbEZ1bmRzQWRkZWRUb1Bvb2xieUNvbXBhbnkJAABkAAAAAgUAAAAhUHJldmlvdXNGdW5kc0FkZGVkVG9Qb29sYnlDb21wYW55CAUAAAADcG10AAAABmFtb3VudAQAAAAVUHJldmlvdXNQb29sTGlxdWlkaXR5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX1Bvb2xfTGlxdWlkaXR5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAElRvdGFsUG9vbExpcXVpZGl0eQkAAGQAAAACBQAAABVQcmV2aW91c1Bvb2xMaXF1aWRpdHkIBQAAAANwbXQAAAAGYW1vdW50BAAAABhQcmV2aW91c0xQRGVwb3NpdENvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAASTFBfRGVwb3NpdF9Db3VudGVyAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFVRvdGFsTFBEZXBvc2l0Q291bnRlcgkAAGQAAAACBQAAABhQcmV2aW91c0xQRGVwb3NpdENvdW50ZXIAAAAAAAAAAAEDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAFGxwX3doaXRlbGlzdF9hZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACVUaGlzIEFkZHJlc3MgaXMgbm90IEF1dGhvcml6ZWQuIE9ubHkgCQAEJQAAAAEFAAAAFGxwX3doaXRlbGlzdF9hZGRyZXNzAgAAACIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuAwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAkAAAIAAAABAgAAAC5Pbmx5IFdBVkVTIGlzIGFsbG93ZWQgdG8gZGVwb3NpdCBhdCB0aGUgbW9tZW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQUAAAASVG90YWxQb29sTGlxdWlkaXR5CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJMUF9EZXBvc2l0X0NvdW50ZXIFAAAAFVRvdGFsTFBEZXBvc2l0Q291bnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAOVG90YWxfTFBfQWRkZWQFAAAAHlRvdGFsRnVuZHNBZGRlZFRvUG9vbGJ5Q29tcGFueQUAAAADbmlsAAAAAWkBAAAAD1VwZGF0ZUxQQmFsYW5jZQAAAAEAAAAWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAQAAAAUcmVhZF9hY2NvdW50X2JhbGFuY2UICQAD7wAAAAEFAAAABHRoaXMAAAAHcmVndWxhcgQAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX1Bvb2xfTGlxdWlkaXR5AgAAACRObyBJbml0aWFsIFBvb2wgTGlxdWlkaXR5IHdhcyBGb3VuZC4EAAAAFXJlY2VpdmVkX29yZGVyX2Ftb3VudAkAAGUAAAACBQAAABRyZWFkX2FjY291bnRfYmFsYW5jZQUAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQQAAAAUdXBkYXRlZF9wb29sX2JhbGFuY2UJAABkAAAAAgkAAGUAAAACBQAAABlyZWFkX3RvdGFsX3Bvb2xfbGlxdWlkaXR5BQAAABZQYWlkTWFzc1RyYW5zZmVyQW1vdW50BQAAABVyZWNlaXZlZF9vcmRlcl9hbW91bnQEAAAAG1ByZXZpb3VzTWFzc1RyYW5zZmVyQ291bnRlcgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAABVNYXNzX1RyYW5zZmVyX0NvdW50ZXIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAYVG90YWxNYXNzVHJhbnNmZXJDb3VudGVyCQAAZAAAAAIFAAAAG1ByZXZpb3VzTWFzc1RyYW5zZmVyQ291bnRlcgAAAAAAAAAAAQQAAAAYUHJldmlvdXNNYXNzVHJhbnNmZXJTZW5kBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAGFRvdGFsX01hc3NfVHJhbnNmZXJfU2VuZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVUb3RhbE1hc3NUcmFuc2ZlclNlbmQJAABkAAAAAgUAAAAYUHJldmlvdXNNYXNzVHJhbnNmZXJTZW5kBQAAABZQYWlkTWFzc1RyYW5zZmVyQW1vdW50AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAACBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAlVGhpcyBBZGRyZXNzIGlzIG5vdCBBdXRob3JpemVkLiBPbmx5IAkABCUAAAABBQAAACBtYXNzdHJhbnNmZXJfd2hpdGVsaXN0ZWRfYWRkcmVzcwIAAAAiIGlzIEF1dGhvcml6ZWQgQWRkcmVzcyB0byBTaWduIGl0LgMJAABmAAAAAgUAAAAWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAUAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQkAAAIAAAABAgAAAENQbGFjZWQgTWFzcyBUcmFuc2ZlciBBbW91bnQgU2l6ZSBpcyBtb3JlIHRoYW4gVG90YWwgUG9vbCBMaXF1aWRpdHkuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABRUb3RhbF9Qb29sX0xpcXVpZGl0eQUAAAAUdXBkYXRlZF9wb29sX2JhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAFU1hc3NfVHJhbnNmZXJfQ291bnRlcgUAAAAYVG90YWxNYXNzVHJhbnNmZXJDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABhUb3RhbF9NYXNzX1RyYW5zZmVyX1NlbmQFAAAAFVRvdGFsTWFzc1RyYW5zZmVyU2VuZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABpAAAAAEFAAAAGFRvdGFsTWFzc1RyYW5zZmVyQ291bnRlcgIAAAATX01hc3NfVHJhbnNmZXJfU2VuZAUAAAAWUGFpZE1hc3NUcmFuc2ZlckFtb3VudAUAAAADbmlsAAAAAWkBAAAAEVdpdGhkcmF3TFBCYWxhbmNlAAAAAQAAAA5XaXRoZHJhd0Ftb3VudAQAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMCAAAAFFRvdGFsX1Bvb2xfTGlxdWlkaXR5AgAAACRObyBJbml0aWFsIFBvb2wgTGlxdWlkaXR5IHdhcyBGb3VuZC4EAAAAFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQAAZQAAAAIFAAAAGXJlYWRfdG90YWxfcG9vbF9saXF1aWRpdHkFAAAADldpdGhkcmF3QW1vdW50BAAAABlQcmV2aW91c0xQV2l0aGRyYXdDb3VudGVyBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAE0xQX1dpdGhkcmF3X0NvdW50ZXIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAWVG90YWxMUFdpdGhkcmF3Q291bnRlcgkAAGQAAAACBQAAABlQcmV2aW91c0xQV2l0aGRyYXdDb3VudGVyAAAAAAAAAAABBAAAABJQcmV2aW91c0xQV2l0aGRyYXcEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAARVG90YWxfTFBfV2l0aGRyYXcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAPVG90YWxMUFdpdGhkcmF3CQAAZAAAAAIFAAAAElByZXZpb3VzTFBXaXRoZHJhdwUAAAAOV2l0aGRyYXdBbW91bnQDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAFGxwX3doaXRlbGlzdF9hZGRyZXNzCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACVUaGlzIEFkZHJlc3MgaXMgbm90IEF1dGhvcml6ZWQuIE9ubHkgCQAEJQAAAAEFAAAAFGxwX3doaXRlbGlzdF9hZGRyZXNzAgAAACIgaXMgQXV0aG9yaXplZCBBZGRyZXNzIHRvIFNpZ24gaXQuAwkAAGYAAAACBQAAAA5XaXRoZHJhd0Ftb3VudAUAAAAZcmVhZF90b3RhbF9wb29sX2xpcXVpZGl0eQkAAAIAAAABAgAAAD5QbGFjZWQgV2l0aGRyYXcgQW1vdW50IFNpemUgaXMgbW9yZSB0aGFuIFRvdGFsIFBvb2wgTGlxdWlkaXR5LgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAUVG90YWxfUG9vbF9MaXF1aWRpdHkFAAAAFHVwZGF0ZWRfcG9vbF9iYWxhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABNMUF9XaXRoZHJhd19Db3VudGVyBQAAABZUb3RhbExQV2l0aGRyYXdDb3VudGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABFUb3RhbF9MUF9XaXRoZHJhdwUAAAAPVG90YWxMUFdpdGhkcmF3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAGkAAAAAQUAAAAWVG90YWxMUFdpdGhkcmF3Q291bnRlcgIAAAAMX0xQX1dpdGhkcmF3BQAAAA5XaXRoZHJhd0Ftb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAABRscF93aGl0ZWxpc3RfYWRkcmVzcwUAAAAOV2l0aGRyYXdBbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFT3JkZXIGAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXmM/K5z", "height": 3833971, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 5 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let lp_address_pubkey = base58'2oKshKbXJwo6oWfHpgCT31SbuB4Nm3DYeBm9PtHnzuxf' | |
5 | + | ||
6 | + | let masstransfer_whitelisted_address = addressFromPublicKey(lp_address_pubkey) | |
7 | + | ||
8 | + | let lp_depositor_address = base58'8nMKtAL4pKPzbBw3bpa3RUAmYujRSGJgyLuPASiwgkcx' | |
9 | + | ||
10 | + | let lp_whitelist_address = addressFromPublicKey(lp_depositor_address) | |
11 | + | ||
12 | + | @Callable(i) | |
13 | + | func AddPoolLiquidity () = { | |
14 | + | let calleraddress = toBase58String(i.caller.bytes) | |
15 | + | let pmt = if ((size(i.payments) == 1)) | |
16 | + | then i.payments[0] | |
17 | + | else throw("No payment attached, Please Attach only Whitelisted Tokens in payment[1].") | |
18 | + | let PreviousFundsAddedToPoolbyCompany = match getInteger(this, "Total_LP_Added") { | |
19 | + | case a: Int => | |
20 | + | a | |
21 | + | case _ => | |
22 | + | 0 | |
23 | + | } | |
24 | + | let TotalFundsAddedToPoolbyCompany = (PreviousFundsAddedToPoolbyCompany + pmt.amount) | |
25 | + | let PreviousPoolLiquidity = match getInteger(this, "Total_Pool_Liquidity") { | |
26 | + | case a: Int => | |
27 | + | a | |
28 | + | case _ => | |
29 | + | 0 | |
30 | + | } | |
31 | + | let TotalPoolLiquidity = (PreviousPoolLiquidity + pmt.amount) | |
32 | + | let PreviousLPDepositCounter = match getInteger(this, "LP_Deposit_Counter") { | |
33 | + | case a: Int => | |
34 | + | a | |
35 | + | case _ => | |
36 | + | 0 | |
37 | + | } | |
38 | + | let TotalLPDepositCounter = (PreviousLPDepositCounter + 1) | |
39 | + | if ((i.caller != lp_whitelist_address)) | |
40 | + | then throw((("This Address is not Authorized. Only " + toString(lp_whitelist_address)) + " is Authorized Address to Sign it.")) | |
41 | + | else if (isDefined(pmt.assetId)) | |
42 | + | then throw("Only WAVES is allowed to deposit at the moment") | |
43 | + | else [IntegerEntry("Total_Pool_Liquidity", TotalPoolLiquidity), IntegerEntry("LP_Deposit_Counter", TotalLPDepositCounter), IntegerEntry("Total_LP_Added", TotalFundsAddedToPoolbyCompany)] | |
44 | + | } | |
45 | + | ||
46 | + | ||
47 | + | ||
48 | + | @Callable(i) | |
49 | + | func UpdateLPBalance (PaidMassTransferAmount) = { | |
50 | + | let read_account_balance = wavesBalance(this).regular | |
51 | + | let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.") | |
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) | |
54 | + | let PreviousMassTransferCounter = match getInteger(this, "Mass_Transfer_Counter") { | |
55 | + | case a: Int => | |
56 | + | a | |
57 | + | case _ => | |
58 | + | 0 | |
59 | + | } | |
60 | + | let TotalMassTransferCounter = (PreviousMassTransferCounter + 1) | |
61 | + | let PreviousMassTransferSend = match getInteger(this, "Total_Mass_Transfer_Send") { | |
62 | + | case a: Int => | |
63 | + | a | |
64 | + | case _ => | |
65 | + | 0 | |
66 | + | } | |
67 | + | let TotalMassTransferSend = (PreviousMassTransferSend + PaidMassTransferAmount) | |
68 | + | if ((i.caller != masstransfer_whitelisted_address)) | |
69 | + | then throw((("This Address is not Authorized. Only " + toString(masstransfer_whitelisted_address)) + " is Authorized Address to Sign it.")) | |
70 | + | else if ((PaidMassTransferAmount > read_total_pool_liquidity)) | |
71 | + | then throw("Placed Mass Transfer Amount Size is more than Total Pool Liquidity.") | |
72 | + | else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("Mass_Transfer_Counter", TotalMassTransferCounter), IntegerEntry("Total_Mass_Transfer_Send", TotalMassTransferSend), IntegerEntry((toString(TotalMassTransferCounter) + "_Mass_Transfer_Send"), PaidMassTransferAmount)] | |
73 | + | } | |
74 | + | ||
75 | + | ||
76 | + | ||
77 | + | @Callable(i) | |
78 | + | func WithdrawLPBalance (WithdrawAmount) = { | |
79 | + | let read_total_pool_liquidity = valueOrErrorMessage(getInteger(this, "Total_Pool_Liquidity"), "No Initial Pool Liquidity was Found.") | |
80 | + | let updated_pool_balance = (read_total_pool_liquidity - WithdrawAmount) | |
81 | + | let PreviousLPWithdrawCounter = match getInteger(this, "LP_Withdraw_Counter") { | |
82 | + | case a: Int => | |
83 | + | a | |
84 | + | case _ => | |
85 | + | 0 | |
86 | + | } | |
87 | + | let TotalLPWithdrawCounter = (PreviousLPWithdrawCounter + 1) | |
88 | + | let PreviousLPWithdraw = match getInteger(this, "Total_LP_Withdraw") { | |
89 | + | case a: Int => | |
90 | + | a | |
91 | + | case _ => | |
92 | + | 0 | |
93 | + | } | |
94 | + | let TotalLPWithdraw = (PreviousLPWithdraw + WithdrawAmount) | |
95 | + | if ((i.caller != lp_whitelist_address)) | |
96 | + | then throw((("This Address is not Authorized. Only " + toString(lp_whitelist_address)) + " is Authorized Address to Sign it.")) | |
97 | + | else if ((WithdrawAmount > read_total_pool_liquidity)) | |
98 | + | then throw("Placed Withdraw Amount Size is more than Total Pool Liquidity.") | |
99 | + | else [IntegerEntry("Total_Pool_Liquidity", updated_pool_balance), IntegerEntry("LP_Withdraw_Counter", TotalLPWithdrawCounter), IntegerEntry("Total_LP_Withdraw", TotalLPWithdraw), IntegerEntry((toString(TotalLPWithdrawCounter) + "_LP_Withdraw"), WithdrawAmount), ScriptTransfer(lp_whitelist_address, WithdrawAmount, unit)] | |
100 | + | } | |
101 | + | ||
102 | + | ||
103 | + | @Verifier(tx) | |
104 | + | func verify () = match tx { | |
105 | + | case t: Order|ExchangeTransaction|TransferTransaction => | |
106 | + | false | |
107 | + | case _ => | |
108 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
109 | + | } | |
110 | + |
github/deemru/w8io/3ef1775 22.54 ms ◑