tx · 6UzAfASQVx6Ecb3dsUB23K3RdxiobYfiwWjAXX1MSv9x

3MuS6qVvhBR6wSynFRdcE3fVqmGBjoc7Hhx:  -0.01000000 Waves

2023.07.03 18:30 [2649912] smart account 3MuS6qVvhBR6wSynFRdcE3fVqmGBjoc7Hhx > SELF 0.00000000 Waves

{ "type": 13, "id": "6UzAfASQVx6Ecb3dsUB23K3RdxiobYfiwWjAXX1MSv9x", "fee": 1000000, "feeAssetId": null, "timestamp": 1688398209666, "version": 1, "sender": "3MuS6qVvhBR6wSynFRdcE3fVqmGBjoc7Hhx", "senderPublicKey": "62CHk4MqTdq3LqeUycy7TPnpvwrjgerSa2FqAY2EafXn", "proofs": [ "3skiUfdi6RHrjxUS2yDWXhmweEtwPZh3Vv4EL8M2Zk7xG74Pmy2dq9PKoXsbwLJrNHGa2gjLbG1uQYjwnE1tkUet" ], "script": "base64:BwJVCAISBAoCCAgSBAoCCAESBAoCCAQSBAoCCAISAwoBCBIDCgEBEgMKAQESBQoDAgECEgQKAgIBEgQKAgIBEgUKAwEBARIAEgMKAQgSABIAEgMKAQgSAB4AA1NFUAICX18AEGNvbnRyYWN0RmlsZW5hbWUCDGZhY3RvcnkucmlkZQEHd3JhcEVycgEBcwkArAICCQCsAgIFEGNvbnRyYWN0RmlsZW5hbWUCAjogBQFzAQh0aHJvd0VycgEBcwkAAgEJAQd3cmFwRXJyAQUBcwEUa2V5Q2FsY3VsYXRvckFkZHJlc3MAAg4lc19fY2FsY3VsYXRvcgEXa2V5UHJveHlUcmVhc3VyeUFkZHJlc3MAAhElc19fcHJveHlUcmVhc3VyeQEPa2V5Q2hpbGRBZGRyZXNzAAIJJXNfX2NoaWxkARhrZXlCbG9ja1Byb2Nlc3NpbmdSZXdhcmQAAhklc19fYmxvY2tQcm9jZXNzaW5nUmV3YXJkARVrZXlOZXh0QmxvY2tUb1Byb2Nlc3MAAhYlc19fbmV4dEJsb2NrVG9Qcm9jZXNzAQxrZXlMcEFzc2V0SWQAAg0lc19fbHBBc3NldElkABdjYWxjdWxhdG9yQWRkcmVzc09wdGlvbgQHJG1hdGNoMAkAnQgCBQR0aGlzCQEUa2V5Q2FsY3VsYXRvckFkZHJlc3MAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkApggBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgAXY2FsY3VsYXRvckFkZHJlc3NPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUXY2FsY3VsYXRvckFkZHJlc3NPcHRpb24JAQd3cmFwRXJyAQIaaW52YWxpZCBjYWxjdWxhdG9yIGFkZHJlc3MAGnByb3h5VHJlYXN1cnlBZGRyZXNzT3B0aW9uBAckbWF0Y2gwCQCdCAIFBHRoaXMJARdrZXlQcm94eVRyZWFzdXJ5QWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABpwcm94eVRyZWFzdXJ5QWRkcmVzc09yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRpwcm94eVRyZWFzdXJ5QWRkcmVzc09wdGlvbgkBB3dyYXBFcnIBAh5pbnZhbGlkIHByb3h5IHRyZWFzdXJ5IGFkZHJlc3MBEGtleUNvbmZpZ0FkZHJlc3MAAgolc19fY29uZmlnARJrZXlDaGlsZHJlbkFkZHJlc3MAAhFjb250cmFjdF9jaGlsZHJlbgEWa2V5Vm90aW5nUmVzdWx0QWRkcmVzcwACFmNvbnRyYWN0X3ZvdGluZ19yZXN1bHQBGWtleVByb3Bvc2FsQWxsb3dCcm9hZGNhc3QCB2FkZHJlc3MEdHhJZAkArAICCQCsAgIJAKwCAgIZcHJvcG9zYWxfYWxsb3dfYnJvYWRjYXN0XwkApQgBBQdhZGRyZXNzAgFfCQDYBAEFBHR4SWQBEWtleUludmVzdGVkQnlVc2VyAgxjaGlsZEFkZHJlc3MLdXNlckFkZHJlc3MJALkJAgkAzAgCAghpbnZlc3RvcgkAzAgCCQClCAEFDGNoaWxkQWRkcmVzcwkAzAgCCQClCAEFC3VzZXJBZGRyZXNzBQNuaWwCAV8AE2NvbmZpZ0FkZHJlc3NPcHRpb24EByRtYXRjaDAJAJ0IAgUEdGhpcwkBEGtleUNvbmZpZ0FkZHJlc3MAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkApggBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgATY29uZmlnQWRkcmVzc09yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRNjb25maWdBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECFmludmFsaWQgY29uZmlnIGFkZHJlc3MAGXZvdGluZ1Jlc3VsdEFkZHJlc3NPcHRpb24EByRtYXRjaDAFE2NvbmZpZ0FkZHJlc3NPcHRpb24DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAQHJG1hdGNoMQkAnQgCBQFhCQEWa2V5Vm90aW5nUmVzdWx0QWRkcmVzcwADCQABAgUHJG1hdGNoMQIGU3RyaW5nBAFzBQckbWF0Y2gxCQCmCAEFAXMDCQABAgUHJG1hdGNoMQIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgAZdm90aW5nUmVzdWx0QWRkcmVzc09yRmFpbAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBRl2b3RpbmdSZXN1bHRBZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECHWludmFsaWQgdm90aW5nIHJlc3VsdCBhZGRyZXNzABVjaGlsZHJlbkFkZHJlc3NPcHRpb24EByRtYXRjaDAFE2NvbmZpZ0FkZHJlc3NPcHRpb24DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQBYQUHJG1hdGNoMAQHJG1hdGNoMQkAnQgCBQFhCQESa2V5Q2hpbGRyZW5BZGRyZXNzAAMJAAECBQckbWF0Y2gxAgZTdHJpbmcEAXMFByRtYXRjaDEJAKYIAQUBcwMJAAECBQckbWF0Y2gxAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yABVjaGlsZHJlbkFkZHJlc3NPckZhaWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgUVY2hpbGRyZW5BZGRyZXNzT3B0aW9uCQEHd3JhcEVycgECGGludmFsaWQgY2hpbGRyZW4gYWRkcmVzcwAPbHBBc3NldElkT3B0aW9uBAckbWF0Y2gwCQCdCAIFBHRoaXMJAQxrZXlMcEFzc2V0SWQAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkA2QQBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgAPbHBBc3NldElkT3JGYWlsCQETdmFsdWVPckVycm9yTWVzc2FnZQIFD2xwQXNzZXRJZE9wdGlvbgkBB3dyYXBFcnIBAhFpbnZhbGlkIGxwQXNzZXRJZAELb25seUFkZHJlc3MCAWkHYWRkcmVzcwMJAAACCAUBaQZjYWxsZXIFB2FkZHJlc3MGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAEIb25seVRoaXMBAWkJAQtvbmx5QWRkcmVzcwIFAWkFBHRoaXMBDm9ubHlDYWxjdWxhdG9yAQFpCQELb25seUFkZHJlc3MCBQFpBRdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbBEBaQELc3RyaW5nRW50cnkCA2tleQN2YWwDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIJAMwIAgkBC1N0cmluZ0VudHJ5AgUDa2V5BQN2YWwFA25pbAUDa2V5CQCUCgIFA25pbAUEdW5pdAFpAQxpbnRlZ2VyRW50cnkCA2tleQN2YWwDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFA2tleQUDdmFsBQNuaWwFA2tleQkAlAoCBQNuaWwFBHVuaXQBaQEMYm9vbGVhbkVudHJ5AgNrZXkDdmFsAwkBDm9ubHlDYWxjdWxhdG9yAQUBaQkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCBQNrZXkFA3ZhbAUDbmlsBQNrZXkJAJQKAgUDbmlsBQR1bml0AWkBC2JpbmFyeUVudHJ5AgNrZXkDdmFsAwkBDm9ubHlDYWxjdWxhdG9yAQUBaQkAlAoCCQDMCAIJAQtCaW5hcnlFbnRyeQIFA2tleQUDdmFsBQNuaWwFA2tleQkAlAoCBQNuaWwFBHVuaXQBaQELZGVsZXRlRW50cnkBA2tleQMJAQ5vbmx5Q2FsY3VsYXRvcgEFAWkJAJQKAgkAzAgCCQELRGVsZXRlRW50cnkBBQNrZXkFA25pbAUDa2V5CQCUCgIFA25pbAUEdW5pdAFpAQdyZWlzc3VlAQZhbW91bnQDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIJAMwIAgkBB1JlaXNzdWUDBQ9scEFzc2V0SWRPckZhaWwFBmFtb3VudAYFA25pbAUGYW1vdW50CQCUCgIFA25pbAUEdW5pdAFpAQRidXJuAQZhbW91bnQDCQEOb25seUNhbGN1bGF0b3IBBQFpCQCUCgIJAMwIAgkBBEJ1cm4CBQ9scEFzc2V0SWRPckZhaWwFBmFtb3VudAUDbmlsBQZhbW91bnQJAJQKAgUDbmlsBQR1bml0AWkBDXRyYW5zZmVyQXNzZXQDDnJlY2VwaWVudEJ5dGVzBmFtb3VudAdhc3NldElkAwkBDm9ubHlDYWxjdWxhdG9yAQUBaQkAlAoCCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQUOcmVjZXBpZW50Qnl0ZXMFBmFtb3VudAUHYXNzZXRJZAUDbmlsBQZhbW91bnQJAJQKAgUDbmlsBQR1bml0AWkBDXRyYW5zZmVyV2F2ZXMCDnJlY2VwaWVudEJ5dGVzBmFtb3VudAMJAQ5vbmx5Q2FsY3VsYXRvcgEFAWkJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFDnJlY2VwaWVudEJ5dGVzBQZhbW91bnQFBHVuaXQFA25pbAUGYW1vdW50CQCUCgIFA25pbAUEdW5pdAFpARl0cmFuc2ZlckZyb21Qcm94eVRyZWFzdXJ5Ag5yZWNpcGllbnRCeXRlcw1yZXdhcmRzQW1vdW50AwkBDm9ubHlDYWxjdWxhdG9yAQUBaQkAlAoCBQNuaWwJAPwHBAUacHJveHlUcmVhc3VyeUFkZHJlc3NPckZhaWwCDXRyYW5zZmVyV2F2ZXMJAMwIAgUOcmVjaXBpZW50Qnl0ZXMJAMwIAgUNcmV3YXJkc0Ftb3VudAUDbmlsBQNuaWwJAJQKAgUDbmlsBQR1bml0AWkBCGZpbmFsaXplAxhuZXdUcmVhc3VyeVZvbHVtZUluV2F2ZXMXcHdyTWFuYWdlcnNCb251c0luV2F2ZXMgdHJlYXN1cnlWb2x1bWVEaWZmQWxsb2NhdGlvbkNvZWYJAJQKAgUDbmlsCQD9BwQFF2NhbGN1bGF0b3JBZGRyZXNzT3JGYWlsAghmaW5hbGl6ZQkAzAgCCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIFGG5ld1RyZWFzdXJ5Vm9sdW1lSW5XYXZlcwkAzAgCBRdwd3JNYW5hZ2Vyc0JvbnVzSW5XYXZlcwkAzAgCBSB0cmVhc3VyeVZvbHVtZURpZmZBbGxvY2F0aW9uQ29lZgUDbmlsCAUBaQhwYXltZW50cwFpAQdjbGFpbUxQAAkAlAoCBQNuaWwJAP0HBAUXY2FsY3VsYXRvckFkZHJlc3NPckZhaWwCB2NsYWltTFAJAMwIAggIBQFpBmNhbGxlcgVieXRlcwUDbmlsCAUBaQhwYXltZW50cwFpAQpjbGFpbVdhdmVzAQd0eElkU3RyCQCUCgIFA25pbAkA/QcEBRdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbAIKY2xhaW1XYXZlcwkAzAgCCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAIJANkEAQUHdHhJZFN0cgUDbmlsCAUBaQhwYXltZW50cwFpAQZpbnZlc3QACQCUCgIFA25pbAkA/QcEBRdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbAIGaW52ZXN0CQDMCAIICAUBaQZjYWxsZXIFYnl0ZXMFA25pbAgFAWkIcGF5bWVudHMBaQEId2l0aGRyYXcACQCUCgIFA25pbAkA/QcEBRdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbAIId2l0aGRyYXcJAMwIAggIBQFpBmNhbGxlcgVieXRlcwUDbmlsCAUBaQhwYXltZW50cwFpAQ5jYW5jZWxXaXRoZHJhdwEHdHhJZFN0cgkAlAoCBQNuaWwJAP0HBAUXY2FsY3VsYXRvckFkZHJlc3NPckZhaWwCDmNhbmNlbFdpdGhkcmF3CQDMCAIICAUBaQZjYWxsZXIFYnl0ZXMJAMwIAgkA2QQBBQd0eElkU3RyBQNuaWwIBQFpCHBheW1lbnRzAWkBDXByb2Nlc3NCbG9ja3MACQCUCgIFA25pbAkA/QcEBRdjYWxjdWxhdG9yQWRkcmVzc09yRmFpbAINcHJvY2Vzc0Jsb2NrcwkAzAgCCAgFAWkGY2FsbGVyBWJ5dGVzBQNuaWwIBQFpCHBheW1lbnRzAQJ0eAEGdmVyaWZ5AAQKYnlQcm9wb3NhbAkBC3ZhbHVlT3JFbHNlAgkAmwgCBRl2b3RpbmdSZXN1bHRBZGRyZXNzT3JGYWlsCQEZa2V5UHJvcG9zYWxBbGxvd0Jyb2FkY2FzdAIFBHRoaXMIBQJ0eAJpZAcEB2J5T3duZXIJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkDCQECIT0CBRl2b3RpbmdSZXN1bHRBZGRyZXNzT3B0aW9uBQR1bml0AwUKYnlQcm9wb3NhbAYFB2J5T3duZXIFB2J5T3duZXL+G7Xb", "chainId": 84, "height": 2649912, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8po6AV1JjYfPx8dQvUyfngpxxLdjaUkecPFBhDgVXsvF Next: HV3fFkUaikCTs9gUWtc5M4sitXDqQq2W9fdnPuw917Ti Diff:
OldNewDifferences
1414 func keyCalculatorAddress () = "%s__calculator"
1515
1616
17-func keyTreasuryAddress () = "%s__treasury"
17+func keyProxyTreasuryAddress () = "%s__proxyTreasury"
1818
1919
2020 func keyChildAddress () = "%s__child"
4040
4141 let calculatorAddressOrFail = valueOrErrorMessage(calculatorAddressOption, wrapErr("invalid calculator address"))
4242
43-let treasuryAddressOption = match getString(this, keyTreasuryAddress()) {
43+let proxyTreasuryAddressOption = match getString(this, keyProxyTreasuryAddress()) {
4444 case s: String =>
4545 addressFromString(s)
4646 case _: Unit =>
4949 throw("Match error")
5050 }
5151
52-let treasuryAddressOrFail = valueOrErrorMessage(treasuryAddressOption, wrapErr("invalid proxy treasury address"))
52+let proxyTreasuryAddressOrFail = valueOrErrorMessage(proxyTreasuryAddressOption, wrapErr("invalid proxy treasury address"))
5353
5454 func keyConfigAddress () = "%s__config"
5555
200200
201201 @Callable(i)
202202 func transferFromProxyTreasury (recipientBytes,rewardsAmount) = if (onlyCalculator(i))
203- then $Tuple2(nil, invoke(treasuryAddressOrFail, "transferWaves", [recipientBytes, rewardsAmount], nil))
203+ then $Tuple2(nil, invoke(proxyTreasuryAddressOrFail, "transferWaves", [recipientBytes, rewardsAmount], nil))
204204 else $Tuple2(nil, unit)
205205
206206
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let SEP = "__"
55
66 let contractFilename = "factory.ride"
77
88 func wrapErr (s) = ((contractFilename + ": ") + s)
99
1010
1111 func throwErr (s) = throw(wrapErr(s))
1212
1313
1414 func keyCalculatorAddress () = "%s__calculator"
1515
1616
17-func keyTreasuryAddress () = "%s__treasury"
17+func keyProxyTreasuryAddress () = "%s__proxyTreasury"
1818
1919
2020 func keyChildAddress () = "%s__child"
2121
2222
2323 func keyBlockProcessingReward () = "%s__blockProcessingReward"
2424
2525
2626 func keyNextBlockToProcess () = "%s__nextBlockToProcess"
2727
2828
2929 func keyLpAssetId () = "%s__lpAssetId"
3030
3131
3232 let calculatorAddressOption = match getString(this, keyCalculatorAddress()) {
3333 case s: String =>
3434 addressFromString(s)
3535 case _: Unit =>
3636 unit
3737 case _ =>
3838 throw("Match error")
3939 }
4040
4141 let calculatorAddressOrFail = valueOrErrorMessage(calculatorAddressOption, wrapErr("invalid calculator address"))
4242
43-let treasuryAddressOption = match getString(this, keyTreasuryAddress()) {
43+let proxyTreasuryAddressOption = match getString(this, keyProxyTreasuryAddress()) {
4444 case s: String =>
4545 addressFromString(s)
4646 case _: Unit =>
4747 unit
4848 case _ =>
4949 throw("Match error")
5050 }
5151
52-let treasuryAddressOrFail = valueOrErrorMessage(treasuryAddressOption, wrapErr("invalid proxy treasury address"))
52+let proxyTreasuryAddressOrFail = valueOrErrorMessage(proxyTreasuryAddressOption, wrapErr("invalid proxy treasury address"))
5353
5454 func keyConfigAddress () = "%s__config"
5555
5656
5757 func keyChildrenAddress () = "contract_children"
5858
5959
6060 func keyVotingResultAddress () = "contract_voting_result"
6161
6262
6363 func keyProposalAllowBroadcast (address,txId) = ((("proposal_allow_broadcast_" + toString(address)) + "_") + toBase58String(txId))
6464
6565
6666 func keyInvestedByUser (childAddress,userAddress) = makeString(["investor", toString(childAddress), toString(userAddress)], "_")
6767
6868
6969 let configAddressOption = match getString(this, keyConfigAddress()) {
7070 case s: String =>
7171 addressFromString(s)
7272 case _: Unit =>
7373 unit
7474 case _ =>
7575 throw("Match error")
7676 }
7777
7878 let configAddressOrFail = valueOrErrorMessage(configAddressOption, wrapErr("invalid config address"))
7979
8080 let votingResultAddressOption = match configAddressOption {
8181 case a: Address =>
8282 match getString(a, keyVotingResultAddress()) {
8383 case s: String =>
8484 addressFromString(s)
8585 case _: Unit =>
8686 unit
8787 case _ =>
8888 throw("Match error")
8989 }
9090 case _: Unit =>
9191 unit
9292 case _ =>
9393 throw("Match error")
9494 }
9595
9696 let votingResultAddressOrFail = valueOrErrorMessage(votingResultAddressOption, wrapErr("invalid voting result address"))
9797
9898 let childrenAddressOption = match configAddressOption {
9999 case a: Address =>
100100 match getString(a, keyChildrenAddress()) {
101101 case s: String =>
102102 addressFromString(s)
103103 case _: Unit =>
104104 unit
105105 case _ =>
106106 throw("Match error")
107107 }
108108 case _: Unit =>
109109 unit
110110 case _ =>
111111 throw("Match error")
112112 }
113113
114114 let childrenAddressOrFail = valueOrErrorMessage(childrenAddressOption, wrapErr("invalid children address"))
115115
116116 let lpAssetIdOption = match getString(this, keyLpAssetId()) {
117117 case s: String =>
118118 fromBase58String(s)
119119 case _: Unit =>
120120 unit
121121 case _ =>
122122 throw("Match error")
123123 }
124124
125125 let lpAssetIdOrFail = valueOrErrorMessage(lpAssetIdOption, wrapErr("invalid lpAssetId"))
126126
127127 func onlyAddress (i,address) = if ((i.caller == address))
128128 then true
129129 else throwErr("permission denied")
130130
131131
132132 func onlyThis (i) = onlyAddress(i, this)
133133
134134
135135 func onlyCalculator (i) = onlyAddress(i, calculatorAddressOrFail)
136136
137137
138138 @Callable(i)
139139 func stringEntry (key,val) = if (onlyCalculator(i))
140140 then $Tuple2([StringEntry(key, val)], key)
141141 else $Tuple2(nil, unit)
142142
143143
144144
145145 @Callable(i)
146146 func integerEntry (key,val) = if (onlyCalculator(i))
147147 then $Tuple2([IntegerEntry(key, val)], key)
148148 else $Tuple2(nil, unit)
149149
150150
151151
152152 @Callable(i)
153153 func booleanEntry (key,val) = if (onlyCalculator(i))
154154 then $Tuple2([BooleanEntry(key, val)], key)
155155 else $Tuple2(nil, unit)
156156
157157
158158
159159 @Callable(i)
160160 func binaryEntry (key,val) = if (onlyCalculator(i))
161161 then $Tuple2([BinaryEntry(key, val)], key)
162162 else $Tuple2(nil, unit)
163163
164164
165165
166166 @Callable(i)
167167 func deleteEntry (key) = if (onlyCalculator(i))
168168 then $Tuple2([DeleteEntry(key)], key)
169169 else $Tuple2(nil, unit)
170170
171171
172172
173173 @Callable(i)
174174 func reissue (amount) = if (onlyCalculator(i))
175175 then $Tuple2([Reissue(lpAssetIdOrFail, amount, true)], amount)
176176 else $Tuple2(nil, unit)
177177
178178
179179
180180 @Callable(i)
181181 func burn (amount) = if (onlyCalculator(i))
182182 then $Tuple2([Burn(lpAssetIdOrFail, amount)], amount)
183183 else $Tuple2(nil, unit)
184184
185185
186186
187187 @Callable(i)
188188 func transferAsset (recepientBytes,amount,assetId) = if (onlyCalculator(i))
189189 then $Tuple2([ScriptTransfer(Address(recepientBytes), amount, assetId)], amount)
190190 else $Tuple2(nil, unit)
191191
192192
193193
194194 @Callable(i)
195195 func transferWaves (recepientBytes,amount) = if (onlyCalculator(i))
196196 then $Tuple2([ScriptTransfer(Address(recepientBytes), amount, unit)], amount)
197197 else $Tuple2(nil, unit)
198198
199199
200200
201201 @Callable(i)
202202 func transferFromProxyTreasury (recipientBytes,rewardsAmount) = if (onlyCalculator(i))
203- then $Tuple2(nil, invoke(treasuryAddressOrFail, "transferWaves", [recipientBytes, rewardsAmount], nil))
203+ then $Tuple2(nil, invoke(proxyTreasuryAddressOrFail, "transferWaves", [recipientBytes, rewardsAmount], nil))
204204 else $Tuple2(nil, unit)
205205
206206
207207
208208 @Callable(i)
209209 func finalize (newTreasuryVolumeInWaves,pwrManagersBonusInWaves,treasuryVolumeDiffAllocationCoef) = $Tuple2(nil, reentrantInvoke(calculatorAddressOrFail, "finalize", [i.caller.bytes, newTreasuryVolumeInWaves, pwrManagersBonusInWaves, treasuryVolumeDiffAllocationCoef], i.payments))
210210
211211
212212
213213 @Callable(i)
214214 func claimLP () = $Tuple2(nil, reentrantInvoke(calculatorAddressOrFail, "claimLP", [i.caller.bytes], i.payments))
215215
216216
217217
218218 @Callable(i)
219219 func claimWaves (txIdStr) = $Tuple2(nil, reentrantInvoke(calculatorAddressOrFail, "claimWaves", [i.caller.bytes, fromBase58String(txIdStr)], i.payments))
220220
221221
222222
223223 @Callable(i)
224224 func invest () = $Tuple2(nil, reentrantInvoke(calculatorAddressOrFail, "invest", [i.caller.bytes], i.payments))
225225
226226
227227
228228 @Callable(i)
229229 func withdraw () = $Tuple2(nil, reentrantInvoke(calculatorAddressOrFail, "withdraw", [i.caller.bytes], i.payments))
230230
231231
232232
233233 @Callable(i)
234234 func cancelWithdraw (txIdStr) = $Tuple2(nil, reentrantInvoke(calculatorAddressOrFail, "cancelWithdraw", [i.caller.bytes, fromBase58String(txIdStr)], i.payments))
235235
236236
237237
238238 @Callable(i)
239239 func processBlocks () = $Tuple2(nil, reentrantInvoke(calculatorAddressOrFail, "processBlocks", [i.caller.bytes], i.payments))
240240
241241
242242 @Verifier(tx)
243243 func verify () = {
244244 let byProposal = valueOrElse(getBoolean(votingResultAddressOrFail, keyProposalAllowBroadcast(this, tx.id)), false)
245245 let byOwner = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
246246 if ((votingResultAddressOption != unit))
247247 then if (byProposal)
248248 then true
249249 else byOwner
250250 else byOwner
251251 }
252252

github/deemru/w8io/3ef1775 
52.40 ms