2023.09.19 17:27 [3828164] smart account 3PDETXtiaErZncMduS8h9G6aopcjT7wheqj > SELF 0.00000000 Waves

{ "type": 13, "id": "9juEfttsQu2w47yNc8qD9xxSgpLdJjoWUmWQW3iphBNJ", "fee": 500000, "feeAssetId": null, "timestamp": 1695133007456, "version": 2, "chainId": 87, "sender": "3PDETXtiaErZncMduS8h9G6aopcjT7wheqj", "senderPublicKey": "AKRGeAxnAWHSY1SsqmgYNW4LiBtkmVBqiqeRm5PgHZ18", "proofs": [ "VBiMtrjcqJ7JScrTmkasexT5V2d8v84N2oNRWcj2PnUbe1TPsEEVaJ6HGUc64Be27JFxda8ypBc6E3t59mRDHG1" ], "script": "base64:BgIpCAISAwoBCBIDCgEIEgMKAQgSAwoBARIAEgASAwoBCBIDCgEIEgMKAQEZAAlTRVBBUkFUT1ICAl9fAAhLRVlfSU5JVAIESU5JVAAMS0VZX01VTFRJU0lHAghNVUxUSVNJRwAKS0VZX1NUQVRVUwIGU1RBVFVTAAtLRVlfQ0xBSU1FUgIHQ0xBSU1FUgAQS0VZX0xBU1RfU1dBUF9BVAIMTEFTVF9TV0FQX0FUABZLRVlfV0FWRVNfREFPX0NPTlRSQUNUAhJXQVZFU19EQU9fQ09OVFJBQ1QAEUtFWV9TV0FQX0NPTlRSQUNUAg1TV0FQX0NPTlRSQUNUAA5LRVlfU1dBUF9MSU1JVAIKU1dBUF9MSU1JVAANRlVOQ19DTEFJTV9MUAIHY2xhaW1MUAAJRlVOQ19TV0FQAgRzd2FwABJPTkVfSE9VUl9JTl9CTE9DS1MAPAAMQ09NUEVOU0FUSU9OAKDCHgEQX3ZhbGlkYXRlQWRkcmVzcwEIYWRkcmVzc18EByRtYXRjaDAJAKYIAQUIYWRkcmVzc18DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAYHAQxfdmFsaWRhdGVJbnQEBHZhbF8ObG93ZXJCb3VuZGFyeV8OdXBwZXJCb3VuZGFyeV8EZXJyXwMDCQBmAgUObG93ZXJCb3VuZGFyeV8FBHZhbF8GCQBmAgUEdmFsXwUOdXBwZXJCb3VuZGFyeV8JAAIBBQRlcnJfBgEVX2xvYWRXYXZlc0RBT0NvbnRyYWN0AAQHJG1hdGNoMAkAoggBBRZLRVlfV0FWRVNfREFPX0NPTlRSQUNUAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABFV9zYXZlV2F2ZXNEQU9Db250cmFjdAEEdmFsXwkAzAgCCQELU3RyaW5nRW50cnkCBRZLRVlfV0FWRVNfREFPX0NPTlRSQUNUCQClCAEFBHZhbF8FA25pbAERX2xvYWRTd2FwQ29udHJhY3QABAckbWF0Y2gwCQCiCAEFEUtFWV9TV0FQX0NPTlRSQUNUAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABEV9zYXZlU3dhcENvbnRyYWN0AQR2YWxfCQDMCAIJAQtTdHJpbmdFbnRyeQIFEUtFWV9TV0FQX0NPTlRSQUNUCQClCAEFBHZhbF8FA25pbAEPX2xvYWRMYXN0U3dhcEF0AAQHJG1hdGNoMAkAnwgBBRBLRVlfTEFTVF9TV0FQX0FUAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAQ9fc2F2ZUxhc3RTd2FwQXQBBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIFEEtFWV9MQVNUX1NXQVBfQVQFBHZhbF8FA25pbAEOX2xvYWRTd2FwTGltaXQABAckbWF0Y2gwCQCfCAEFDktFWV9TV0FQX0xJTUlUAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAQ5fc2F2ZVN3YXBMaW1pdAEEdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgUOS0VZX1NXQVBfTElNSVQFBHZhbF8FA25pbAERX2dldFdBVkVTRExQQXNzZXQABAckbWF0Y2gwCQCdCAIJARVfbG9hZFdhdmVzREFPQ29udHJhY3QAAg0lc19fbHBBc3NldElkAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkA2QQBBQFhCQACAQIZX2dldFdBVkVTRExQQXNzZXQ6IHJldmVydAEVX2dldEF2YWlsYWJsZVdBVkVTRExQAAQHJG1hdGNoMAkAmggCCQEVX2xvYWRXYXZlc0RBT0NvbnRyYWN0AAkArAICAhElcyVzX19hdmFpbGFibGVfXwkApQgBBQR0aGlzAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAACQFpAQRpbml0AQhjbGFpbWVyXwQIbXVsdGlzaWcJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoggBBQxLRVlfTVVMVElTSUcCFWluaXQ6IG5vIG11bHRpc2lnIHNldAMJAAACBQhtdWx0aXNpZwUIbXVsdGlzaWcEBGluaXQJAQt2YWx1ZU9yRWxzZQIJAKAIAQUIS0VZX0lOSVQHBANlcnIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhdpbml0OiBwZXJtaXNzaW9uIGRlbmllZAMFBGluaXQJAAIBAhlpbml0OiBhbHJlYWR5IGluaXRpYWxpemVkAwkBASEBCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCGNsYWltZXJfCQACAQIdaW5pdDogaW52YWxpZCBjbGFpbWVyIGFkZHJlc3MFBHVuaXQDCQAAAgUDZXJyBQNlcnIJAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUIS0VZX0lOSVQGCQDMCAIJAQtTdHJpbmdFbnRyeQIFC0tFWV9DTEFJTUVSBQhjbGFpbWVyXwUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3NldE11bHRpc2lnAQltdWx0aXNpZ18EA2VycgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECHnNldE11bHRpc2lnOiBwZXJtaXNzaW9uIGRlbmllZAMJAQEhAQkBEF92YWxpZGF0ZUFkZHJlc3MBBQltdWx0aXNpZ18JAAIBAiVzZXRNdWx0aXNpZzogaW52YWxpZCBtdWx0aXNpZyBhZGRyZXNzBQR1bml0AwkAAAIFA2VycgUDZXJyCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUMS0VZX01VTFRJU0lHBQltdWx0aXNpZ18FA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQpzZXRDbGFpbWVyAQhjbGFpbWVyXwQDZXJyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIdc2V0Q2xhaW1lcjogcGVybWlzc2lvbiBkZW5pZWQDCQEBIQEJARBfdmFsaWRhdGVBZGRyZXNzAQUIY2xhaW1lcl8JAAIBAiNzZXRDbGFpbWVyOiBpbnZhbGlkIGNsYWltZXIgYWRkcmVzcwUEdW5pdAMJAAACBQNlcnIFA2VycgkAlAoCCQDMCAIJAQtTdHJpbmdFbnRyeQIFC0tFWV9DTEFJTUVSBQhjbGFpbWVyXwUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWNsYWltAQdhbW91bnRfAwkBAiE9AggFAWkGY2FsbGVyCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBQtLRVlfQ0xBSU1FUgkAAgECGGNsYWltOiBwZXJtaXNzaW9uIGRlbmllZAMDCQBnAgAABQdhbW91bnRfBgkAZgIFB2Ftb3VudF8ICQDvBwEFBHRoaXMHcmVndWxhcgkAAgECFWNsYWltOiBpbnZhbGlkIGFtb3VudAkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUHYW1vdW50XwUEdW5pdAUDbmlsBQR1bml0AWkBFGdldEF2YWlsYWJsZVdBVkVTRExQAAkAlAoCBQNuaWwJARVfZ2V0QXZhaWxhYmxlV0FWRVNETFAAAWkBFGNsYWltQW5kU3dhcFdBVkVTRExQAAQFYXNzZXQJARFfZ2V0V0FWRVNETFBBc3NldAAECmludm9jYXRpb24JAPwHBAkBFV9sb2FkV2F2ZXNEQU9Db250cmFjdAAFDUZVTkNfQ0xBSU1fTFAFA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24EC3RvdGFsQW1vdW50CQDwBwIFBHRoaXMFBWFzc2V0AwkAAAIFC3RvdGFsQW1vdW50BQt0b3RhbEFtb3VudAQJc3dhcExpbWl0CQEOX2xvYWRTd2FwTGltaXQABAxhbW91bnRUb1N3YXADCQBmAgULdG90YWxBbW91bnQFCXN3YXBMaW1pdAUJc3dhcExpbWl0BQt0b3RhbEFtb3VudAQGcmVzdWx0AwkAZgIFBmhlaWdodAkAZAIJAQ9fbG9hZExhc3RTd2FwQXQABRJPTkVfSE9VUl9JTl9CTE9DS1MJAPwHBAkBEV9sb2FkU3dhcENvbnRyYWN0AAUJRlVOQ19TV0FQCQDMCAIAAQkAzAgCAgAJAMwIAgkApQgBBQR0aGlzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBWFzc2V0BQxhbW91bnRUb1N3YXAFA25pbAkAAgECH2NsYWltQW5kU3dhcFdBVkVTRExQOiB0b28gb2Z0ZW4DCQAAAgUGcmVzdWx0BQZyZXN1bHQEByRtYXRjaDAFBnJlc3VsdAMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDADCQBmAgUBYQUMQ09NUEVOU0FUSU9OCQCUCgIJAM4IAgkBD19zYXZlTGFzdFN3YXBBdAEFBmhlaWdodAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFDENPTVBFTlNBVElPTgUEdW5pdAUDbmlsBQR1bml0CQACAQIrY2xhaW1BbmRTd2FwV0FWRVNETFA6IHRvbyBsaXR0bGUgYW1vdW50IGdvdAkAAgECIWNsYWltQW5kU3dhcFdBVkVTRExQOiBzd2FwIHJldmVydAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARNzZXRXYXZlc0RBT0NvbnRyYWN0AQhhZGRyZXNzXwQDZXJyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQImc2V0V2F2ZXNEQU9Db250cmFjdDogcGVybWlzc2lvbiBkZW5pZWQDCQEBIQEJARBfdmFsaWRhdGVBZGRyZXNzAQUIYWRkcmVzc18JAAIBAiRzZXRXYXZlc0RBT0NvbnRyYWN0OiBpbnZhbGlkIGFkZHJlc3MFBHVuaXQDCQAAAgUDZXJyBQNlcnIJAJQKAgkBFV9zYXZlV2F2ZXNEQU9Db250cmFjdAEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCGFkZHJlc3NfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD3NldFN3YXBDb250cmFjdAEIYWRkcmVzc18EA2VycgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECInNldFN3YXBDb250cmFjdDogcGVybWlzc2lvbiBkZW5pZWQDCQEBIQEJARBfdmFsaWRhdGVBZGRyZXNzAQUIYWRkcmVzc18JAAIBAiBzZXRTd2FwQ29udHJhY3Q6IGludmFsaWQgYWRkcmVzcwUEdW5pdAMJAAACBQNlcnIFA2VycgkAlAoCCQERX3NhdmVTd2FwQ29udHJhY3QBCQERQGV4dHJOYXRpdmUoMTA2MikBBQhhZGRyZXNzXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQxzZXRTd2FwTGltaXQBBmxpbWl0XwQDZXJyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIfc2V0U3dhcExpbWl0OiBwZXJtaXNzaW9uIGRlbmllZAMJAGcCAAAFBmxpbWl0XwkAAgECG3NldFN3YXBMaW1pdDogaW52YWxpZCBsaW1pdAUEdW5pdAMJAAACBQNlcnIFA2VycgkAlAoCCQEOX3NhdmVTd2FwTGltaXQBBQZsaW1pdF8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcECG11bHRpc2lnBQckbWF0Y2gwCQELdmFsdWVPckVsc2UCCQCbCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCG11bHRpc2lnCQC5CQIJAMwIAgUKS0VZX1NUQVRVUwkAzAgCCQClCAEFBHRoaXMJAMwIAgkA2AQBCAUCdHgCaWQFA25pbAUJU0VQQVJBVE9SBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleUV33H4=", "height": 3828164, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: F7rWpNHKefzE4euZX8vLeEPUrAkLrxTiC9B8RT6o5GaD Next: none Diff:
OldNewDifferences
102102 }
103103
104104
105-func _claimWAVESDLP () = {
106- let result = invoke(_loadWavesDAOContract(), FUNC_CLAIM_LP, nil, nil)
107- if ((result == result))
108- then match result {
109- case a: Int =>
110- a
111- case _ =>
112- throw("_claimWAVESDLP: revert")
113- }
114- else throw("Strict value is not equal to itself.")
115- }
116-
117-
118105 @Callable(i)
119106 func init (claimer_) = {
120107 let multisig = valueOrErrorMessage(getString(KEY_MULTISIG), "init: no multisig set")
184171 @Callable(i)
185172 func claimAndSwapWAVESDLP () = {
186173 let asset = _getWAVESDLPAsset()
187- let claimedAmount = _claimWAVESDLP()
188- if ((claimedAmount == claimedAmount))
174+ let invocation = invoke(_loadWavesDAOContract(), FUNC_CLAIM_LP, nil, nil)
175+ if ((invocation == invocation))
189176 then {
190177 let totalAmount = assetBalance(this, asset)
191178 if ((totalAmount == totalAmount))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let SEPARATOR = "__"
55
66 let KEY_INIT = "INIT"
77
88 let KEY_MULTISIG = "MULTISIG"
99
1010 let KEY_STATUS = "STATUS"
1111
1212 let KEY_CLAIMER = "CLAIMER"
1313
1414 let KEY_LAST_SWAP_AT = "LAST_SWAP_AT"
1515
1616 let KEY_WAVES_DAO_CONTRACT = "WAVES_DAO_CONTRACT"
1717
1818 let KEY_SWAP_CONTRACT = "SWAP_CONTRACT"
1919
2020 let KEY_SWAP_LIMIT = "SWAP_LIMIT"
2121
2222 let FUNC_CLAIM_LP = "claimLP"
2323
2424 let FUNC_SWAP = "swap"
2525
2626 let ONE_HOUR_IN_BLOCKS = 60
2727
2828 let COMPENSATION = 500000
2929
3030 func _validateAddress (address_) = match addressFromString(address_) {
3131 case a: Address =>
3232 true
3333 case _ =>
3434 false
3535 }
3636
3737
3838 func _validateInt (val_,lowerBoundary_,upperBoundary_,err_) = if (if ((lowerBoundary_ > val_))
3939 then true
4040 else (val_ > upperBoundary_))
4141 then throw(err_)
4242 else true
4343
4444
4545 func _loadWavesDAOContract () = match getString(KEY_WAVES_DAO_CONTRACT) {
4646 case a: String =>
4747 addressFromStringValue(a)
4848 case _ =>
4949 Address(base58'')
5050 }
5151
5252
5353 func _saveWavesDAOContract (val_) = [StringEntry(KEY_WAVES_DAO_CONTRACT, toString(val_))]
5454
5555
5656 func _loadSwapContract () = match getString(KEY_SWAP_CONTRACT) {
5757 case a: String =>
5858 addressFromStringValue(a)
5959 case _ =>
6060 Address(base58'')
6161 }
6262
6363
6464 func _saveSwapContract (val_) = [StringEntry(KEY_SWAP_CONTRACT, toString(val_))]
6565
6666
6767 func _loadLastSwapAt () = match getInteger(KEY_LAST_SWAP_AT) {
6868 case a: Int =>
6969 a
7070 case _ =>
7171 0
7272 }
7373
7474
7575 func _saveLastSwapAt (val_) = [IntegerEntry(KEY_LAST_SWAP_AT, val_)]
7676
7777
7878 func _loadSwapLimit () = match getInteger(KEY_SWAP_LIMIT) {
7979 case a: Int =>
8080 a
8181 case _ =>
8282 0
8383 }
8484
8585
8686 func _saveSwapLimit (val_) = [IntegerEntry(KEY_SWAP_LIMIT, val_)]
8787
8888
8989 func _getWAVESDLPAsset () = match getString(_loadWavesDAOContract(), "%s__lpAssetId") {
9090 case a: String =>
9191 fromBase58String(a)
9292 case _ =>
9393 throw("_getWAVESDLPAsset: revert")
9494 }
9595
9696
9797 func _getAvailableWAVESDLP () = match getInteger(_loadWavesDAOContract(), ("%s%s__available__" + toString(this))) {
9898 case a: Int =>
9999 a
100100 case _ =>
101101 0
102102 }
103103
104104
105-func _claimWAVESDLP () = {
106- let result = invoke(_loadWavesDAOContract(), FUNC_CLAIM_LP, nil, nil)
107- if ((result == result))
108- then match result {
109- case a: Int =>
110- a
111- case _ =>
112- throw("_claimWAVESDLP: revert")
113- }
114- else throw("Strict value is not equal to itself.")
115- }
116-
117-
118105 @Callable(i)
119106 func init (claimer_) = {
120107 let multisig = valueOrErrorMessage(getString(KEY_MULTISIG), "init: no multisig set")
121108 if ((multisig == multisig))
122109 then {
123110 let init = valueOrElse(getBoolean(KEY_INIT), false)
124111 let err = if ((i.caller != this))
125112 then throw("init: permission denied")
126113 else if (init)
127114 then throw("init: already initialized")
128115 else if (!(_validateAddress(claimer_)))
129116 then throw("init: invalid claimer address")
130117 else unit
131118 if ((err == err))
132119 then $Tuple2([BooleanEntry(KEY_INIT, true), StringEntry(KEY_CLAIMER, claimer_)], unit)
133120 else throw("Strict value is not equal to itself.")
134121 }
135122 else throw("Strict value is not equal to itself.")
136123 }
137124
138125
139126
140127 @Callable(i)
141128 func setMultisig (multisig_) = {
142129 let err = if ((i.caller != this))
143130 then throw("setMultisig: permission denied")
144131 else if (!(_validateAddress(multisig_)))
145132 then throw("setMultisig: invalid multisig address")
146133 else unit
147134 if ((err == err))
148135 then $Tuple2([StringEntry(KEY_MULTISIG, multisig_)], unit)
149136 else throw("Strict value is not equal to itself.")
150137 }
151138
152139
153140
154141 @Callable(i)
155142 func setClaimer (claimer_) = {
156143 let err = if ((i.caller != this))
157144 then throw("setClaimer: permission denied")
158145 else if (!(_validateAddress(claimer_)))
159146 then throw("setClaimer: invalid claimer address")
160147 else unit
161148 if ((err == err))
162149 then $Tuple2([StringEntry(KEY_CLAIMER, claimer_)], unit)
163150 else throw("Strict value is not equal to itself.")
164151 }
165152
166153
167154
168155 @Callable(i)
169156 func claim (amount_) = if ((i.caller != addressFromStringValue(getStringValue(KEY_CLAIMER))))
170157 then throw("claim: permission denied")
171158 else if (if ((0 >= amount_))
172159 then true
173160 else (amount_ > wavesBalance(this).regular))
174161 then throw("claim: invalid amount")
175162 else $Tuple2([ScriptTransfer(i.caller, amount_, unit)], unit)
176163
177164
178165
179166 @Callable(i)
180167 func getAvailableWAVESDLP () = $Tuple2(nil, _getAvailableWAVESDLP())
181168
182169
183170
184171 @Callable(i)
185172 func claimAndSwapWAVESDLP () = {
186173 let asset = _getWAVESDLPAsset()
187- let claimedAmount = _claimWAVESDLP()
188- if ((claimedAmount == claimedAmount))
174+ let invocation = invoke(_loadWavesDAOContract(), FUNC_CLAIM_LP, nil, nil)
175+ if ((invocation == invocation))
189176 then {
190177 let totalAmount = assetBalance(this, asset)
191178 if ((totalAmount == totalAmount))
192179 then {
193180 let swapLimit = _loadSwapLimit()
194181 let amountToSwap = if ((totalAmount > swapLimit))
195182 then swapLimit
196183 else totalAmount
197184 let result = if ((height > (_loadLastSwapAt() + ONE_HOUR_IN_BLOCKS)))
198185 then invoke(_loadSwapContract(), FUNC_SWAP, [1, "", toString(this)], [AttachedPayment(asset, amountToSwap)])
199186 else throw("claimAndSwapWAVESDLP: too often")
200187 if ((result == result))
201188 then match result {
202189 case a: Int =>
203190 if ((a > COMPENSATION))
204191 then $Tuple2((_saveLastSwapAt(height) ++ [ScriptTransfer(i.caller, COMPENSATION, unit)]), unit)
205192 else throw("claimAndSwapWAVESDLP: too little amount got")
206193 case _ =>
207194 throw("claimAndSwapWAVESDLP: swap revert")
208195 }
209196 else throw("Strict value is not equal to itself.")
210197 }
211198 else throw("Strict value is not equal to itself.")
212199 }
213200 else throw("Strict value is not equal to itself.")
214201 }
215202
216203
217204
218205 @Callable(i)
219206 func setWavesDAOContract (address_) = {
220207 let err = if ((i.caller != this))
221208 then throw("setWavesDAOContract: permission denied")
222209 else if (!(_validateAddress(address_)))
223210 then throw("setWavesDAOContract: invalid address")
224211 else unit
225212 if ((err == err))
226213 then $Tuple2(_saveWavesDAOContract(addressFromStringValue(address_)), unit)
227214 else throw("Strict value is not equal to itself.")
228215 }
229216
230217
231218
232219 @Callable(i)
233220 func setSwapContract (address_) = {
234221 let err = if ((i.caller != this))
235222 then throw("setSwapContract: permission denied")
236223 else if (!(_validateAddress(address_)))
237224 then throw("setSwapContract: invalid address")
238225 else unit
239226 if ((err == err))
240227 then $Tuple2(_saveSwapContract(addressFromStringValue(address_)), unit)
241228 else throw("Strict value is not equal to itself.")
242229 }
243230
244231
245232
246233 @Callable(i)
247234 func setSwapLimit (limit_) = {
248235 let err = if ((i.caller != this))
249236 then throw("setSwapLimit: permission denied")
250237 else if ((0 >= limit_))
251238 then throw("setSwapLimit: invalid limit")
252239 else unit
253240 if ((err == err))
254241 then $Tuple2(_saveSwapLimit(limit_), unit)
255242 else throw("Strict value is not equal to itself.")
256243 }
257244
258245
259246 @Verifier(tx)
260247 func verify () = match getString(KEY_MULTISIG) {
261248 case multisig: String =>
262249 valueOrElse(getBoolean(addressFromStringValue(multisig), makeString([KEY_STATUS, toString(this), toBase58String(tx.id)], SEPARATOR)), false)
263250 case _ =>
264251 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
265252 }
266253

github/deemru/w8io/786bc32 
34.35 ms