tx · 63ac1YREq7HwiS18HhGHwEZuN1huwLzDSkkKPTw3Ybs1

3PC63UyjuKYohBwBA2gaUEu4LXr6HB8acrm:  -0.00800000 Waves

2023.02.07 21:44 [3505138] smart account 3PC63UyjuKYohBwBA2gaUEu4LXr6HB8acrm > SELF 0.00000000 Waves

{ "type": 13, "id": "63ac1YREq7HwiS18HhGHwEZuN1huwLzDSkkKPTw3Ybs1", "fee": 800000, "feeAssetId": null, "timestamp": 1675795526558, "version": 2, "chainId": 87, "sender": "3PC63UyjuKYohBwBA2gaUEu4LXr6HB8acrm", "senderPublicKey": "3h1iv2Yfaw1ryKh5jRMeTicLYmFqYU6Au1uJxRrSUC9L", "proofs": [ "29gKWajbp8P7mKPPS9HniQLeLVwh64AVyJWvj8EBbKh12A1Tj2ByMYWSSYJxycvUFRY1NNgDeWht1TnDG5y6t9Ca" ], "script": "base64:BgIPCAISAwoBCBIGCgQEBAQIEQANa19pbml0aWFsaXplZAINa19pbml0aWFsaXplZAAUa19jb29yZGluYXRvckFkZHJlc3MCFGtfY29vcmRpbmF0b3JBZGRyZXNzABFrX3N0YWtpbmdfYWRkcmVzcwIRa19zdGFraW5nX2FkZHJlc3MAEWtfZmFybWluZ19hZGRyZXNzAhFrX2Zhcm1pbmdfYWRkcmVzcwAPa192YXVsdF9hZGRyZXNzAg9rX3ZhdWx0X2FkZHJlc3MAEmtfZ292ZXJuYW5jZV9hc3NldAILa19nb3ZfYXNzZXQADWtfcXVvdGVfYXNzZXQCDWtfcXVvdGVfYXNzZXQAD2tfYWRtaW5fYWRkcmVzcwIPa19hZG1pbl9hZGRyZXNzAQlzdHJUb0xpc3QBBF9zdHIDCQAAAgUEX3N0cgIABQNuaWwJALUJAgUEX3N0cgIBLAELY29vcmRpbmF0b3IACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUUa19jb29yZGluYXRvckFkZHJlc3MCE0Nvb3JkaW5hdG9yIG5vdCBzZXQBDGFkbWluQWRkcmVzcwAJAKYIAQkBEUBleHRyTmF0aXZlKDEwNTMpAgkBC2Nvb3JkaW5hdG9yAAUPa19hZG1pbl9hZGRyZXNzAQ9nb3Zlcm5hbmNlQXNzZXQACQDZBAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIJAQtjb29yZGluYXRvcgAFEmtfZ292ZXJuYW5jZV9hc3NldAEKcXVvdGVBc3NldAAJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgkBC2Nvb3JkaW5hdG9yAAUNa19xdW90ZV9hc3NldAEOc3Rha2luZ0FkZHJlc3MACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBEUBleHRyTmF0aXZlKDEwNTMpAgkBC2Nvb3JkaW5hdG9yAAURa19zdGFraW5nX2FkZHJlc3MCD1N0YWtpbmcgbm90IHNldAEOZmFybWluZ0FkZHJlc3MACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBEUBleHRyTmF0aXZlKDEwNTMpAgkBC2Nvb3JkaW5hdG9yAAURa19mYXJtaW5nX2FkZHJlc3MCD0Zhcm1pbmcgbm90IHNldAEMdmF1bHRBZGRyZXNzAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARFAZXh0ck5hdGl2ZSgxMDUzKQIJAQtjb29yZGluYXRvcgAFD2tfdmF1bHRfYWRkcmVzcwINVmF1bHQgbm90IHNldAELaW5pdGlhbGl6ZWQACQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFDWtfaW5pdGlhbGl6ZWQHAgFpAQppbml0aWFsaXplAQxfY29vcmRpbmF0b3IDAwkBC2luaXRpYWxpemVkAAYJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECFFVuYWJsZSB0byBpbml0aWFsaXplCQDMCAIJAQtTdHJpbmdFbnRyeQIFFGtfY29vcmRpbmF0b3JBZGRyZXNzCQClCAEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDF9jb29yZGluYXRvcgkAzAgCCQEMQm9vbGVhbkVudHJ5AgUNa19pbml0aWFsaXplZAYFA25pbAFpARNwZXJmb3JtSG91c2VrZWVwaW5nBAZfdmF1bHQIX2Zhcm1pbmcIX3N0YWtpbmcLX3BheUZ1bmRpbmcEE2RvQWNrUmV3YXJkc1N0YWtpbmcDBQhfc3Rha2luZwkA/AcECQEOc3Rha2luZ0FkZHJlc3MAAgphY2tSZXdhcmRzBQNuaWwFA25pbAUDbmlsAwkAAAIFE2RvQWNrUmV3YXJkc1N0YWtpbmcFE2RvQWNrUmV3YXJkc1N0YWtpbmcEE2RvQWNrUmV3YXJkc0Zhcm1pbmcDBQhfZmFybWluZwkA/AcECQEOZmFybWluZ0FkZHJlc3MAAgphY2tSZXdhcmRzBQNuaWwFA25pbAUDbmlsAwkAAAIFE2RvQWNrUmV3YXJkc0Zhcm1pbmcFE2RvQWNrUmV3YXJkc0Zhcm1pbmcEEWRvQWNrUmV3YXJkc1ZhdWx0AwUGX3ZhdWx0CQD8BwQJAQx2YXVsdEFkZHJlc3MAAgphY2tSZXdhcmRzBQNuaWwFA25pbAUDbmlsAwkAAAIFEWRvQWNrUmV3YXJkc1ZhdWx0BRFkb0Fja1Jld2FyZHNWYXVsdAQEYW1tcwkBCXN0clRvTGlzdAEFC19wYXlGdW5kaW5nCgEHY29tcHV0ZQIEX2FjYwRfYW1tBAxkb1BheUZ1bmRpbmcJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUEX2FtbQIKcGF5RnVuZGluZwUDbmlsBQNuaWwDCQAAAgUMZG9QYXlGdW5kaW5nBQxkb1BheUZ1bmRpbmcFBF9hY2MJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4KAAIkbAUEYW1tcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHY29tcHV0ZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQOY29vcmRpbmF0b3JTdHIJAJ0IAgUEdGhpcwUUa19jb29yZGluYXRvckFkZHJlc3MDCQEJaXNEZWZpbmVkAQUOY29vcmRpbmF0b3JTdHIEBWFkbWluCQCdCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEFDmNvb3JkaW5hdG9yU3RyBQ9rX2FkbWluX2FkZHJlc3MDCQEJaXNEZWZpbmVkAQUFYWRtaW4JAQt2YWx1ZU9yRWxzZQIJAJsIAgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQUFYWRtaW4JAKwCAgkArAICCQCsAgICB3N0YXR1c18JAKUIAQUEdGhpcwIBXwkA2AQBCAUCdHgCaWQHCQACAQIudW5hYmxlIHRvIHZlcmlmeTogYWRtaW4gbm90IHNldCBpbiBjb29yZGluYXRvcgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleUjbaMg=", "height": 3505138, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2HgwdxZSeApFuBkMquE1E6DgR8rZBnuF356Smo21vmUb Next: GdxZUNveJHrcz9ayuw36PrqzjWf9ivi5JQjdRGLbh7bf Diff:
OldNewDifferences
5656
5757
5858 @Callable(i)
59-func performHousekeeping (_payFunding) = {
60- let doAckRewardsStaking = invoke(stakingAddress(), "ackRewards", nil, nil)
59+func performHousekeeping (_vault,_farming,_staking,_payFunding) = {
60+ let doAckRewardsStaking = if (_staking)
61+ then invoke(stakingAddress(), "ackRewards", nil, nil)
62+ else nil
6163 if ((doAckRewardsStaking == doAckRewardsStaking))
6264 then {
63- let doAckRewardsFarming = invoke(farmingAddress(), "ackRewards", nil, nil)
65+ let doAckRewardsFarming = if (_farming)
66+ then invoke(farmingAddress(), "ackRewards", nil, nil)
67+ else nil
6468 if ((doAckRewardsFarming == doAckRewardsFarming))
6569 then {
66- let doAckRewardsVault = invoke(vaultAddress(), "ackRewards", nil, nil)
70+ let doAckRewardsVault = if (_vault)
71+ then invoke(vaultAddress(), "ackRewards", nil, nil)
72+ else nil
6773 if ((doAckRewardsVault == doAckRewardsVault))
6874 then {
6975 let amms = strToList(_payFunding)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let k_initialized = "k_initialized"
55
66 let k_coordinatorAddress = "k_coordinatorAddress"
77
88 let k_staking_address = "k_staking_address"
99
1010 let k_farming_address = "k_farming_address"
1111
1212 let k_vault_address = "k_vault_address"
1313
1414 let k_governance_asset = "k_gov_asset"
1515
1616 let k_quote_asset = "k_quote_asset"
1717
1818 let k_admin_address = "k_admin_address"
1919
2020 func strToList (_str) = if ((_str == ""))
2121 then nil
2222 else split(_str, ",")
2323
2424
2525 func coordinator () = valueOrErrorMessage(addressFromString(getStringValue(this, k_coordinatorAddress)), "Coordinator not set")
2626
2727
2828 func adminAddress () = addressFromString(getStringValue(coordinator(), k_admin_address))
2929
3030
3131 func governanceAsset () = fromBase58String(getStringValue(coordinator(), k_governance_asset))
3232
3333
3434 func quoteAsset () = fromBase58String(getStringValue(coordinator(), k_quote_asset))
3535
3636
3737 func stakingAddress () = valueOrErrorMessage(addressFromString(getStringValue(coordinator(), k_staking_address)), "Staking not set")
3838
3939
4040 func farmingAddress () = valueOrErrorMessage(addressFromString(getStringValue(coordinator(), k_farming_address)), "Farming not set")
4141
4242
4343 func vaultAddress () = valueOrErrorMessage(addressFromString(getStringValue(coordinator(), k_vault_address)), "Vault not set")
4444
4545
4646 func initialized () = valueOrElse(getBoolean(this, k_initialized), false)
4747
4848
4949 @Callable(i)
5050 func initialize (_coordinator) = if (if (initialized())
5151 then true
5252 else (i.caller != this))
5353 then throw("Unable to initialize")
5454 else [StringEntry(k_coordinatorAddress, toString(addressFromStringValue(_coordinator))), BooleanEntry(k_initialized, true)]
5555
5656
5757
5858 @Callable(i)
59-func performHousekeeping (_payFunding) = {
60- let doAckRewardsStaking = invoke(stakingAddress(), "ackRewards", nil, nil)
59+func performHousekeeping (_vault,_farming,_staking,_payFunding) = {
60+ let doAckRewardsStaking = if (_staking)
61+ then invoke(stakingAddress(), "ackRewards", nil, nil)
62+ else nil
6163 if ((doAckRewardsStaking == doAckRewardsStaking))
6264 then {
63- let doAckRewardsFarming = invoke(farmingAddress(), "ackRewards", nil, nil)
65+ let doAckRewardsFarming = if (_farming)
66+ then invoke(farmingAddress(), "ackRewards", nil, nil)
67+ else nil
6468 if ((doAckRewardsFarming == doAckRewardsFarming))
6569 then {
66- let doAckRewardsVault = invoke(vaultAddress(), "ackRewards", nil, nil)
70+ let doAckRewardsVault = if (_vault)
71+ then invoke(vaultAddress(), "ackRewards", nil, nil)
72+ else nil
6773 if ((doAckRewardsVault == doAckRewardsVault))
6874 then {
6975 let amms = strToList(_payFunding)
7076 func compute (_acc,_amm) = {
7177 let doPayFunding = invoke(addressFromStringValue(_amm), "payFunding", nil, nil)
7278 if ((doPayFunding == doPayFunding))
7379 then _acc
7480 else throw("Strict value is not equal to itself.")
7581 }
7682
7783 let $l = amms
7884 let $s = size($l)
7985 let $acc0 = nil
8086 func $f0_1 ($a,$i) = if (($i >= $s))
8187 then $a
8288 else compute($a, $l[$i])
8389
8490 func $f0_2 ($a,$i) = if (($i >= $s))
8591 then $a
8692 else throw("List size exceeds 20")
8793
8894 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
8995 }
9096 else throw("Strict value is not equal to itself.")
9197 }
9298 else throw("Strict value is not equal to itself.")
9399 }
94100 else throw("Strict value is not equal to itself.")
95101 }
96102
97103
98104 @Verifier(tx)
99105 func verify () = {
100106 let coordinatorStr = getString(this, k_coordinatorAddress)
101107 if (isDefined(coordinatorStr))
102108 then {
103109 let admin = getString(addressFromStringValue(value(coordinatorStr)), k_admin_address)
104110 if (isDefined(admin))
105111 then valueOrElse(getBoolean(addressFromStringValue(value(admin)), ((("status_" + toString(this)) + "_") + toBase58String(tx.id))), false)
106112 else throw("unable to verify: admin not set in coordinator")
107113 }
108114 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
109115 }
110116

github/deemru/w8io/3ef1775 
34.26 ms