tx · GLCyqiub9bagxgFqpkEbYMuXGWcMURgUX3WoQi5Asxh2

3P9DaReo3xvAQ5wzEzkF3Qbxm4fmxkoB1ik:  -0.00500000 Waves

2024.03.27 10:31 [4102080] smart account 3P9DaReo3xvAQ5wzEzkF3Qbxm4fmxkoB1ik > SELF 0.00000000 Waves

{ "type": 13, "id": "GLCyqiub9bagxgFqpkEbYMuXGWcMURgUX3WoQi5Asxh2", "fee": 500000, "feeAssetId": null, "timestamp": 1711524699658, "version": 2, "chainId": 87, "sender": "3P9DaReo3xvAQ5wzEzkF3Qbxm4fmxkoB1ik", "senderPublicKey": "5Zt1wYPgfh4zJWozYGoGxuudhP7Zh8H1HJTfVzqpJ8LF", "proofs": [ "2nm3e93dZZkpt2HUKpAEnTSecW86bGpW1yxSZFfFyqqBy1GXYfACYKvy8bk8sBmERvc6wQcQKt8L1KCdjbS63hcz" ], "script": "base64:BgIECAISACMAA1NFUAICX18ADUNPTlRSQUNUX05BTUUCEnd4ZGFvX2Z1bmRpbmcucmlkZQAGU0NBTEU4AIDC1y8ABVdBVkVTAgVXQVZFUwEHd3JhcEVycgEBcwkArAICCQCsAgIFDUNPTlRSQUNUX05BTUUCAjogBQFzAQh0aHJvd0VycgEBcwkAAgEJAQd3cmFwRXJyAQUBcwEPYXNzZXRJZFRvU3RyaW5nAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJANgEAQUBYgMJAAECBQckbWF0Y2gwAgRVbml0BQVXQVZFUwkAAgECC01hdGNoIGVycm9yAQ9zdHJpbmdUb0Fzc2V0SWQBDWFzc2V0SWRTdHJpbmcDCQAAAgUNYXNzZXRJZFN0cmluZwUFV0FWRVMFBHVuaXQJANkEAQUNYXNzZXRJZFN0cmluZwEWa2V5TWFpblRyZWFzdXJ5QWRkcmVzcwAJALkJAgkAzAgCAgIlcwkAzAgCAhNtYWluVHJlYXN1cnlBZGRyZXNzBQNuaWwFA1NFUAEXa2V5V2F2ZXNVU0RUUG9vbEFkZHJlc3MACQC5CQIJAMwIAgICJXMJAMwIAgIUV2F2ZXNVU0RUUG9vbEFkZHJlc3MFA25pbAUDU0VQAQ9rZXlXWERBT0FkZHJlc3MACQC5CQIJAMwIAgICJXMJAMwIAgIUV1hEQU9jb250cmFjdEFkZHJlc3MFA25pbAUDU0VQAQ9rZXlXWERBT2Fzc2V0SWQACQC5CQIJAMwIAgICJXMJAMwIAgIMV1hEQU9hc3NldElkBQNuaWwFA1NFUAEOa2V5VVNEVGFzc2V0SWQACQC5CQIJAMwIAgICJXMJAMwIAgILVVNEVGFzc2V0SWQFA25pbAUDU0VQARNrZXlQcm9jZXNzRmVlQW1vdW50AAkAuQkCCQDMCAICAiVzCQDMCAICEHByb2Nlc3NGZWVBbW91bnQFA25pbAUDU0VQAQprZXlIaXN0b3J5AgZhY3Rpb24EdHhJZAkAuQkCCQDMCAICBCVzJXMJAMwIAgUGYWN0aW9uCQDMCAIFBHR4SWQFA25pbAUDU0VQARRmb3JtYXRQcm9jZXNzSGlzdG9yeQMSY2xhaW1lZFdhdmVzQW1vdW50D3NlbmRXWERBT2Ftb3VudBBwcm9jZXNzRmVlQW1vdW50CQC5CQIJAMwIAgIGJWQlZCVkCQDMCAIJAKQDAQUSY2xhaW1lZFdhdmVzQW1vdW50CQDMCAIJAKQDAQUPc2VuZFdYREFPYW1vdW50CQDMCAIJAKQDAQUQcHJvY2Vzc0ZlZUFtb3VudAUDbmlsBQNTRVAAGW1haW5UcmVhc3VyeUFkZHJlc3NTdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJARZrZXlNYWluVHJlYXN1cnlBZGRyZXNzAAAZbWFpblRyZWFzdXJ5QWRkcmVzc09yRmFpbAkBEUBleHRyTmF0aXZlKDEwNjIpAQUZbWFpblRyZWFzdXJ5QWRkcmVzc1N0cmluZwAad2F2ZXNVU0RUcG9vbEFkZHJlc3NTdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJARdrZXlXYXZlc1VTRFRQb29sQWRkcmVzcwAAGndhdmVzVVNEVHBvb2xBZGRyZXNzT3JGYWlsCQERQGV4dHJOYXRpdmUoMTA2MikBBRp3YXZlc1VTRFRwb29sQWRkcmVzc1N0cmluZwASd3hkYW9BZGRyZXNzU3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQEPa2V5V1hEQU9BZGRyZXNzAAASd3hkYW9BZGRyZXNzT3JGYWlsCQERQGV4dHJOYXRpdmUoMTA2MikBBRJ3eGRhb0FkZHJlc3NTdHJpbmcBDXN0cmluZ1RvQXNzZXQBDWFzc2V0SWRTdHJpbmcDCQAAAgUNYXNzZXRJZFN0cmluZwUFV0FWRVMFBHVuaXQJANkEAQUNYXNzZXRJZFN0cmluZwENYXNzZXRUb1N0cmluZwEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWIFBVdBVkVTAQpnZXRCYWxhbmNlAgdhZGRyZXNzDWFzc2V0SWRTdHJpbmcEB2Fzc2V0SWQJAQ1zdHJpbmdUb0Fzc2V0AQUNYXNzZXRJZFN0cmluZwQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDwBwIFB2FkZHJlc3MFAWIICQDvBwEFB2FkZHJlc3MJYXZhaWxhYmxlABBwcm9jZXNzRmVlQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARNrZXlQcm9jZXNzRmVlQW1vdW50AACgwh4AEXVzZHRBc3NldElkU3RyaW5nCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzCQEOa2V5VVNEVGFzc2V0SWQAABJ3eGRhb0Fzc2V0SWRTdHJpbmcJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAQ9rZXlXWERBT2Fzc2V0SWQAAAx3eGRhb0Fzc2V0SWQJAQ1zdHJpbmdUb0Fzc2V0AQUSd3hkYW9Bc3NldElkU3RyaW5nARZjbGFpbVdhdmVzRnJvbVRyZWFzdXJ5AAQPb2xkV2F2ZXNCYWxhbmNlCQEKZ2V0QmFsYW5jZQIFBHRoaXMFBVdBVkVTAwkAAAIFD29sZFdhdmVzQmFsYW5jZQUPb2xkV2F2ZXNCYWxhbmNlBA5nZXRXYXZlc0ludm9rZQkA/AcEBRltYWluVHJlYXN1cnlBZGRyZXNzT3JGYWlsAgVDbGFpbQUDbmlsBQNuaWwDCQAAAgUOZ2V0V2F2ZXNJbnZva2UFDmdldFdhdmVzSW52b2tlBA9uZXdXYXZlc0JhbGFuY2UJAQpnZXRCYWxhbmNlAgUEdGhpcwUFV0FWRVMDCQAAAgUPbmV3V2F2ZXNCYWxhbmNlBQ9uZXdXYXZlc0JhbGFuY2UJAGUCBQ9uZXdXYXZlc0JhbGFuY2UFD29sZFdhdmVzQmFsYW5jZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEOZ2V0UG9vbEJhbGFuY2UCC3Bvb2xBZGRyZXNzDWFzc2V0SWRTdHJpbmcEDGludm9rZVJlc3VsdAkA/AcEBQtwb29sQWRkcmVzcwIcZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWQkAzAgCBQ1hc3NldElkU3RyaW5nBQNuaWwFA25pbAQHJG1hdGNoMAUMaW52b2tlUmVzdWx0AwkAAQIFByRtYXRjaDACA0ludAQHYmFsYW5jZQUHJG1hdGNoMAUHYmFsYW5jZQkBCHRocm93RXJyAQItZ2V0QWNjQmFsYW5jZVdyYXBwZXJSRUFET05MWSB1bmV4cGVjdGVkIHZhbHVlARFnZXRXYXZlc1VTRFRQcmljZQAEEHBvb2xXYXZlc0JhbGFuY2UJAQ5nZXRQb29sQmFsYW5jZQIFGndhdmVzVVNEVHBvb2xBZGRyZXNzT3JGYWlsBQVXQVZFUwQPcG9vbFVzZHRCYWxhbmNlCQEOZ2V0UG9vbEJhbGFuY2UCBRp3YXZlc1VTRFRwb29sQWRkcmVzc09yRmFpbAURdXNkdEFzc2V0SWRTdHJpbmcEAmNoCQDMCAIDCQBmAgUQcG9vbFdhdmVzQmFsYW5jZQAABgkBCHRocm93RXJyAQI2V0FWRVMvVVNEVCBwb29sIFdhdmVzIGJhbGFuY2Ugc2hvdWxkIGJlIGdyZWF0ZXIgdGhhdCAwCQDMCAIDCQBmAgUPcG9vbFVzZHRCYWxhbmNlAAAGCQEIdGhyb3dFcnIBAjVXQVZFUy9VU0RUIHBvb2wgVVNEVCBiYWxhbmNlIHNob3VsZCBiZSBncmVhdGVyIHRoYXQgMAUDbmlsAwkAAAIFAmNoBQJjaAkAawMFD3Bvb2xVc2R0QmFsYW5jZQUGU0NBTEU4BRBwb29sV2F2ZXNCYWxhbmNlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARFnZXRXWERBT1VzZHRQcmljZQAEC3ByaWNlSW52b2tlCQD8BwQFEnd4ZGFvQWRkcmVzc09yRmFpbAIEY2FsbAkAzAgCAgVwcmljZQkAzAgCBQNuaWwFA25pbAUDbmlsBAxpbnZva2VSZXN1bHQEByRtYXRjaDAFC3ByaWNlSW52b2tlAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQBcgUHJG1hdGNoMAQHJG1hdGNoMQkAkQMCBQFyAAADCQABAgUHJG1hdGNoMQIDSW50BAFpBQckbWF0Y2gxBQFpBQR1bml0BQR1bml0BAp3eERBT3ByaWNlCQETdmFsdWVPckVycm9yTWVzc2FnZQIFDGludm9rZVJlc3VsdAkBB3dyYXBFcnIBAiRVbmV4cGVjdGVkIFdYREFPIFByaWNlIGludm9rZSByZXN1bHQEAmNoCQDMCAIDCQBmAgUKd3hEQU9wcmljZQAABgkBCHRocm93RXJyAQIkV1hEQU8gcHJpY2Ugc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwBQNuaWwDCQAAAgUCY2gFAmNoBQp3eERBT3ByaWNlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARJnZXRXYXZlc1dYREFPUHJpY2UABA53YXZlc1VzZHRQcmljZQkBEWdldFdhdmVzVVNEVFByaWNlAAQOd3hkYW9Vc2R0UHJpY2UJARFnZXRXWERBT1VzZHRQcmljZQAJAGsDBQ53YXZlc1VzZHRQcmljZQUGU0NBTEU4BQ53eGRhb1VzZHRQcmljZQEPY2FsY1dYREFPYW1vdW50AQt3YXZlc0Ftb3VudAQFcHJpY2UJARJnZXRXYXZlc1dYREFPUHJpY2UABAt3eERBT2Ftb3VudAMJAGcCAAAFBXByaWNlCQEIdGhyb3dFcnIBAh5wcmljZSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAJAGsDBQt3YXZlc0Ftb3VudAUFcHJpY2UFBlNDQUxFOAULd3hEQU9hbW91bnQBAWkBB3Byb2Nlc3MABAt3YXZlc0Ftb3VudAkBFmNsYWltV2F2ZXNGcm9tVHJlYXN1cnkAAwkAAAIFC3dhdmVzQW1vdW50BQt3YXZlc0Ftb3VudAQPc3dhcFdhdmVzQW1vdW50CQBlAgULd2F2ZXNBbW91bnQFEHByb2Nlc3NGZWVBbW91bnQDCQAAAgUPc3dhcFdhdmVzQW1vdW50BQ9zd2FwV2F2ZXNBbW91bnQED3d4REFPc2VuZEFtb3VudAkBD2NhbGNXWERBT2Ftb3VudAEFD3N3YXBXYXZlc0Ftb3VudAMJAAACBQ93eERBT3NlbmRBbW91bnQFD3d4REFPc2VuZEFtb3VudAQCY2gJAMwIAgMJAGYCBQ9zd2FwV2F2ZXNBbW91bnQAAAYJAQh0aHJvd0VycgECOmNsYWltZWQgd2F2ZXMgYW1vdW50IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gcHJvY2Vzc2luZyBmZWUJAMwIAgMJAGYCBQ93eERBT3NlbmRBbW91bnQAAAYJAQh0aHJvd0VycgECKldYREFPIHNlbmQgYW1vdW50IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMAUDbmlsAwkAAAIFAmNoBQJjaAQQcHJvY2Vzc2luZ0NhbGxlcggFAWkMb3JpZ2luQ2FsbGVyCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFEHByb2Nlc3NpbmdDYWxsZXIFEHByb2Nlc3NGZWVBbW91bnQJAQ1zdHJpbmdUb0Fzc2V0AQUFV0FWRVMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUZbWFpblRyZWFzdXJ5QWRkcmVzc09yRmFpbAUPd3hEQU9zZW5kQW1vdW50BQx3eGRhb0Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleUhpc3RvcnkCAgdwcm9jZXNzCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJARRmb3JtYXRQcm9jZXNzSGlzdG9yeQMFC3dhdmVzQW1vdW50BQ93eERBT3NlbmRBbW91bnQFEHByb2Nlc3NGZWVBbW91bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgDj4d6w", "height": 4102080, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BppQSjskGs7uykaWUFPUJeQyuraVAVMo2LWRku1C8uM4 Next: none Diff:
OldNewDifferences
164164 }
165165
166166
167-func getWXDAOPrice () = SCALE8
167+func getWavesWXDAOPrice () = {
168+ let wavesUsdtPrice = getWavesUSDTPrice()
169+ let wxdaoUsdtPrice = getWXDAOUsdtPrice()
170+ fraction(wavesUsdtPrice, SCALE8, wxdaoUsdtPrice)
171+ }
168172
169173
170174 func calcWXDAOamount (wavesAmount) = {
171- let price = getWXDAOPrice()
175+ let price = getWavesWXDAOPrice()
172176 let wxDAOamount = if ((0 >= price))
173177 then throwErr("price should be greater than 0")
174178 else fraction(wavesAmount, price, SCALE8)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let SEP = "__"
55
66 let CONTRACT_NAME = "wxdao_funding.ride"
77
88 let SCALE8 = 100000000
99
1010 let WAVES = "WAVES"
1111
1212 func wrapErr (s) = ((CONTRACT_NAME + ": ") + s)
1313
1414
1515 func throwErr (s) = throw(wrapErr(s))
1616
1717
1818 func assetIdToString (assetId) = match assetId {
1919 case b: ByteVector =>
2020 toBase58String(b)
2121 case _: Unit =>
2222 WAVES
2323 case _ =>
2424 throw("Match error")
2525 }
2626
2727
2828 func stringToAssetId (assetIdString) = if ((assetIdString == WAVES))
2929 then unit
3030 else fromBase58String(assetIdString)
3131
3232
3333 func keyMainTreasuryAddress () = makeString(["%s", "mainTreasuryAddress"], SEP)
3434
3535
3636 func keyWavesUSDTPoolAddress () = makeString(["%s", "WavesUSDTPoolAddress"], SEP)
3737
3838
3939 func keyWXDAOAddress () = makeString(["%s", "WXDAOcontractAddress"], SEP)
4040
4141
4242 func keyWXDAOassetId () = makeString(["%s", "WXDAOassetId"], SEP)
4343
4444
4545 func keyUSDTassetId () = makeString(["%s", "USDTassetId"], SEP)
4646
4747
4848 func keyProcessFeeAmount () = makeString(["%s", "processFeeAmount"], SEP)
4949
5050
5151 func keyHistory (action,txId) = makeString(["%s%s", action, txId], SEP)
5252
5353
5454 func formatProcessHistory (claimedWavesAmount,sendWXDAOamount,processFeeAmount) = makeString(["%d%d%d", toString(claimedWavesAmount), toString(sendWXDAOamount), toString(processFeeAmount)], SEP)
5555
5656
5757 let mainTreasuryAddressString = getStringValue(this, keyMainTreasuryAddress())
5858
5959 let mainTreasuryAddressOrFail = addressFromStringValue(mainTreasuryAddressString)
6060
6161 let wavesUSDTpoolAddressString = getStringValue(this, keyWavesUSDTPoolAddress())
6262
6363 let wavesUSDTpoolAddressOrFail = addressFromStringValue(wavesUSDTpoolAddressString)
6464
6565 let wxdaoAddressString = getStringValue(this, keyWXDAOAddress())
6666
6767 let wxdaoAddressOrFail = addressFromStringValue(wxdaoAddressString)
6868
6969 func stringToAsset (assetIdString) = if ((assetIdString == WAVES))
7070 then unit
7171 else fromBase58String(assetIdString)
7272
7373
7474 func assetToString (assetId) = match assetId {
7575 case b: ByteVector =>
7676 toBase58String(b)
7777 case _ =>
7878 WAVES
7979 }
8080
8181
8282 func getBalance (address,assetIdString) = {
8383 let assetId = stringToAsset(assetIdString)
8484 match assetId {
8585 case b: ByteVector =>
8686 assetBalance(address, b)
8787 case _ =>
8888 wavesBalance(address).available
8989 }
9090 }
9191
9292
9393 let processFeeAmount = valueOrElse(getInteger(this, keyProcessFeeAmount()), 500000)
9494
9595 let usdtAssetIdString = getStringValue(this, keyUSDTassetId())
9696
9797 let wxdaoAssetIdString = getStringValue(this, keyWXDAOassetId())
9898
9999 let wxdaoAssetId = stringToAsset(wxdaoAssetIdString)
100100
101101 func claimWavesFromTreasury () = {
102102 let oldWavesBalance = getBalance(this, WAVES)
103103 if ((oldWavesBalance == oldWavesBalance))
104104 then {
105105 let getWavesInvoke = invoke(mainTreasuryAddressOrFail, "Claim", nil, nil)
106106 if ((getWavesInvoke == getWavesInvoke))
107107 then {
108108 let newWavesBalance = getBalance(this, WAVES)
109109 if ((newWavesBalance == newWavesBalance))
110110 then (newWavesBalance - oldWavesBalance)
111111 else throw("Strict value is not equal to itself.")
112112 }
113113 else throw("Strict value is not equal to itself.")
114114 }
115115 else throw("Strict value is not equal to itself.")
116116 }
117117
118118
119119 func getPoolBalance (poolAddress,assetIdString) = {
120120 let invokeResult = invoke(poolAddress, "getAccBalanceWrapperREADONLY", [assetIdString], nil)
121121 match invokeResult {
122122 case balance: Int =>
123123 balance
124124 case _ =>
125125 throwErr("getAccBalanceWrapperREADONLY unexpected value")
126126 }
127127 }
128128
129129
130130 func getWavesUSDTPrice () = {
131131 let poolWavesBalance = getPoolBalance(wavesUSDTpoolAddressOrFail, WAVES)
132132 let poolUsdtBalance = getPoolBalance(wavesUSDTpoolAddressOrFail, usdtAssetIdString)
133133 let ch = [if ((poolWavesBalance > 0))
134134 then true
135135 else throwErr("WAVES/USDT pool Waves balance should be greater that 0"), if ((poolUsdtBalance > 0))
136136 then true
137137 else throwErr("WAVES/USDT pool USDT balance should be greater that 0")]
138138 if ((ch == ch))
139139 then fraction(poolUsdtBalance, SCALE8, poolWavesBalance)
140140 else throw("Strict value is not equal to itself.")
141141 }
142142
143143
144144 func getWXDAOUsdtPrice () = {
145145 let priceInvoke = invoke(wxdaoAddressOrFail, "call", ["price", nil], nil)
146146 let invokeResult = match priceInvoke {
147147 case r: List[Any] =>
148148 match r[0] {
149149 case i: Int =>
150150 i
151151 case _ =>
152152 unit
153153 }
154154 case _ =>
155155 unit
156156 }
157157 let wxDAOprice = valueOrErrorMessage(invokeResult, wrapErr("Unexpected WXDAO Price invoke result"))
158158 let ch = [if ((wxDAOprice > 0))
159159 then true
160160 else throwErr("WXDAO price should be greater than 0")]
161161 if ((ch == ch))
162162 then wxDAOprice
163163 else throw("Strict value is not equal to itself.")
164164 }
165165
166166
167-func getWXDAOPrice () = SCALE8
167+func getWavesWXDAOPrice () = {
168+ let wavesUsdtPrice = getWavesUSDTPrice()
169+ let wxdaoUsdtPrice = getWXDAOUsdtPrice()
170+ fraction(wavesUsdtPrice, SCALE8, wxdaoUsdtPrice)
171+ }
168172
169173
170174 func calcWXDAOamount (wavesAmount) = {
171- let price = getWXDAOPrice()
175+ let price = getWavesWXDAOPrice()
172176 let wxDAOamount = if ((0 >= price))
173177 then throwErr("price should be greater than 0")
174178 else fraction(wavesAmount, price, SCALE8)
175179 wxDAOamount
176180 }
177181
178182
179183 @Callable(i)
180184 func process () = {
181185 let wavesAmount = claimWavesFromTreasury()
182186 if ((wavesAmount == wavesAmount))
183187 then {
184188 let swapWavesAmount = (wavesAmount - processFeeAmount)
185189 if ((swapWavesAmount == swapWavesAmount))
186190 then {
187191 let wxDAOsendAmount = calcWXDAOamount(swapWavesAmount)
188192 if ((wxDAOsendAmount == wxDAOsendAmount))
189193 then {
190194 let ch = [if ((swapWavesAmount > 0))
191195 then true
192196 else throwErr("claimed waves amount should be greater than processing fee"), if ((wxDAOsendAmount > 0))
193197 then true
194198 else throwErr("WXDAO send amount should be greater than 0")]
195199 if ((ch == ch))
196200 then {
197201 let processingCaller = i.originCaller
198202 [ScriptTransfer(processingCaller, processFeeAmount, stringToAsset(WAVES)), ScriptTransfer(mainTreasuryAddressOrFail, wxDAOsendAmount, wxdaoAssetId), StringEntry(keyHistory("process", toBase58String(i.transactionId)), formatProcessHistory(wavesAmount, wxDAOsendAmount, processFeeAmount))]
199203 }
200204 else throw("Strict value is not equal to itself.")
201205 }
202206 else throw("Strict value is not equal to itself.")
203207 }
204208 else throw("Strict value is not equal to itself.")
205209 }
206210 else throw("Strict value is not equal to itself.")
207211 }
208212
209213

github/deemru/w8io/6500d08 
27.47 ms