tx · A6M5Kk84T9mDJwS4vgP3wRbvhK4wu6LcFKGJpcWf9dJV

3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy:  -0.00300000 Waves

2023.04.12 13:40 [3596859] smart account 3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy > SELF 0.00000000 Waves

{ "type": 13, "id": "A6M5Kk84T9mDJwS4vgP3wRbvhK4wu6LcFKGJpcWf9dJV", "fee": 300000, "feeAssetId": null, "timestamp": 1681296029314, "version": 1, "sender": "3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy", "senderPublicKey": "BnSujow6hJrVGBci5QG71JU7GKwyCVdhyxrrM4LPrYP7", "proofs": [ "5NbAq1jZkA3ETVzdDJay22QVAsurDBHbiGfug8PFw5ZXwgLWgvzQnUF9az2QCVRiSE36Q9vHgbTsmxxCXX6FHSCD" ], "script": "base64:BgIdCAISCQoHAQEBAQgICBIECgIIARIDCgEIEgMKAQgKAQVhc0ludAEFdmFsdWUEByRtYXRjaDAFBXZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQDaW50BQckbWF0Y2gwBQNpbnQJAAIBAhl3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50ARB3cml0ZUNvbnN0U3RyaW5nAgNrZXkFdmFsdWUDCQEBIQEJAQlpc0RlZmluZWQBCQCdCAIFBHRoaXMFA2tleQkBC1N0cmluZ0VudHJ5AgUDa2V5BQV2YWx1ZQkAAgEJAKwCAgIVYWxyZWFkeSBpbml0aWFsaXplZDogBQNrZXkAEmNvbmZpZ0FkZHJlc3NTdG9yZQIGY29uZmlnAA1jb25maWdBZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFEmNvbmZpZ0FkZHJlc3NTdG9yZQInY2hpbGRyZW4ubWFpbjogY29uZmlnIGFkZHJlc3Mgbm90IGZvdW5kAhZpbnZhbGlkIGNvbmZpZyBhZGRyZXNzAAZIRUlHSFQFBmhlaWdodAEHYWxsb3dlZAECb3AJAPwHBAUNY29uZmlnQWRkcmVzcwIJb3BBbGxvd2VkCQDMCAIFAm9wBQNuaWwFA25pbAAKcHdyQXNzZXRJZAkA2QQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUNY29uZmlnQWRkcmVzcwIMcG93ZXJBc3NldElkAhZwd3IgYXNzZXQgaWQgbm90IGZvdW5kAA9zdGFraW5nQ29udHJhY3QJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUNY29uZmlnQWRkcmVzcwIQY29udHJhY3Rfc3Rha2luZwITbm8gc3Rha2luZ19jb250cmFjdAIXaW52YWxpZCBzdGFraW5nIGFkZHJlc3MACG1pblBvd2VyCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUNY29uZmlnQWRkcmVzcwkArAICCQClCAEFBHRoaXMCHl9taW5fcG93ZXJfcmVxdWlyZWRfdG9fcHJvamVjdAIhbm8gX21pbl9wb3dlcl9yZXF1aXJlZF90b19wcm9qZWN0ABBjaGlsZHJlbkNvbnRyYWN0CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCEWNvbnRyYWN0X2NoaWxkcmVuAhRubyBjaGlsZHJlbl9jb250cmFjdAIYaW52YWxpZCBjaGlsZHJlbiBhZGRyZXNzBAFpAQdwcm9qZWN0BwRza2luDW1pbkNvbW1pdG1lbnQIbG9ja1RpbWULaW52ZXN0bWVudHMQaW52ZXN0bWVudHNUb2tlbgtjb21taXRtZW50cwh0cmVhc3VyZQQBYQkBB2FsbG93ZWQBAgdwcm9qZWN0AwkAAAIFAWEFAWEEBHVzZXIJAKUIAQgFAWkGY2FsbGVyBAVwb3dlcgkBBWFzSW50AQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCCXVzZXJQb3dlcgkAzAgCBQR1c2VyBQNuaWwFA25pbAMJAAACBQVwb3dlcgUFcG93ZXIDCQBmAgUIbWluUG93ZXIFBXBvd2VyCQACAQkArAICAjZOb3QgZW5vdWdoIHN0YWtlZCBwb3dlciB0byBjcmVhdGUgYSBwcm9qZWN0LiBSZXF1aXJlZCAJAKQDAQUIbWluUG93ZXIEAXAJAPwHBAUQY2hpbGRyZW5Db250cmFjdAIKcHJvamVjdEZvcgkAzAgCBQR1c2VyCQDMCAIFBHNraW4JAMwIAgUNbWluQ29tbWl0bWVudAkAzAgCBQhsb2NrVGltZQkAzAgCBQtpbnZlc3RtZW50cwkAzAgCBRBpbnZlc3RtZW50c1Rva2VuCQDMCAIFC2NvbW1pdG1lbnRzCQDMCAIFCHRyZWFzdXJlBQNuaWwFA25pbAMJAAACBQFwBQFwBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEGY29tbWl0AgVjaGlsZAZhbW91bnQEAWEJAQdhbGxvd2VkAQIGY29tbWl0AwkAAAIFAWEFAWEEB2FjY291bnQJAKUIAQgFAWkGY2FsbGVyBAFzCQD8BwQFD3N0YWtpbmdDb250cmFjdAILdW5zdGFrZUZyb20JAMwIAgUHYWNjb3VudAkAzAgCBQZhbW91bnQFA25pbAUDbmlsAwkAAAIFAXMFAXMEAWMJAPwHBAUQY2hpbGRyZW5Db250cmFjdAIJY29tbWl0Rm9yCQDMCAIFBWNoaWxkCQDMCAIFB2FjY291bnQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUKcHdyQXNzZXRJZAUGYW1vdW50BQNuaWwDCQAAAgUBYwUBYwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCnVuZG9Db21taXQBBWNoaWxkBAZwYXVzZWQJAQdhbGxvd2VkAQIKdW5kb0NvbW1pdAMJAAACBQZwYXVzZWQFBnBhdXNlZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEBHNraW4JAQVhc0ludAEJAPwHBAUQY2hpbGRyZW5Db250cmFjdAINdW5kb0NvbW1pdEZvcgkAzAgCBQVjaGlsZAkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAMJAAACBQRza2luBQRza2luBAFzCQD8BwQFD3N0YWtpbmdDb250cmFjdAIIc3Rha2VGb3IJAMwIAgUHYWRkcmVzcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQpwd3JBc3NldElkBQRza2luBQNuaWwDCQAAAgUBcwUBcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBGluaXQBBGNvbmYJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCBRJjb25maWdBZGRyZXNzU3RvcmUFBGNvbmYFA25pbAC0iK8K", "chainId": 87, "height": 3596859, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BWK6naMiFjVZcVb5GgNMRzD5k2xurD5hV1X67XAUMAJP Next: 7Wr1pZz8YaGD6ihF8Wc3zqWBonrj6Cn5EDGx4guvHLiX Diff:
OldNewDifferences
1616
1717 let configAddressStore = "config"
1818
19-let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "config address not found")), "invalid config address")
19+let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "children.main: config address not found")), "invalid config address")
2020
2121 let HEIGHT = height
2222
2929
3030 let minPower = valueOrErrorMessage(getInteger(configAddress, (toString(this) + "_min_power_required_to_project")), "no _min_power_required_to_project")
3131
32-let childrenContract = {
33- let str = valueOrErrorMessage(getString(configAddress, "contract_children"), "no children_contract")
34- valueOrErrorMessage(addressFromString(str), ("invalid children address " + str))
35- }
32+let childrenContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_children"), "no children_contract")), "invalid children address")
3633
3734 @Callable(i)
38-func project (skin,lockTime,investments,investmentsToken,commitments,treasure) = {
35+func project (skin,minCommitment,lockTime,investments,investmentsToken,commitments,treasure) = {
3936 let a = allowed("project")
4037 if ((a == a))
4138 then {
4542 then if ((minPower > power))
4643 then throw(("Not enough staked power to create a project. Required " + toString(minPower)))
4744 else {
48- let p = invoke(childrenContract, "projectFor", [user, skin, lockTime, investments, investmentsToken, commitments, treasure], nil)
45+ let p = invoke(childrenContract, "projectFor", [user, skin, minCommitment, lockTime, investments, investmentsToken, commitments, treasure], nil)
4946 if ((p == p))
5047 then nil
5148 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func asInt (value) = match value {
55 case int: Int =>
66 int
77 case _ =>
88 throw("wrong type, expected: Int")
99 }
1010
1111
1212 func writeConstString (key,value) = if (!(isDefined(getString(this, key))))
1313 then StringEntry(key, value)
1414 else throw(("already initialized: " + key))
1515
1616
1717 let configAddressStore = "config"
1818
19-let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "config address not found")), "invalid config address")
19+let configAddress = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, configAddressStore), "children.main: config address not found")), "invalid config address")
2020
2121 let HEIGHT = height
2222
2323 func allowed (op) = invoke(configAddress, "opAllowed", [op], nil)
2424
2525
2626 let pwrAssetId = fromBase58String(valueOrErrorMessage(getString(configAddress, "powerAssetId"), "pwr asset id not found"))
2727
2828 let stakingContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_staking"), "no staking_contract")), "invalid staking address")
2929
3030 let minPower = valueOrErrorMessage(getInteger(configAddress, (toString(this) + "_min_power_required_to_project")), "no _min_power_required_to_project")
3131
32-let childrenContract = {
33- let str = valueOrErrorMessage(getString(configAddress, "contract_children"), "no children_contract")
34- valueOrErrorMessage(addressFromString(str), ("invalid children address " + str))
35- }
32+let childrenContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_children"), "no children_contract")), "invalid children address")
3633
3734 @Callable(i)
38-func project (skin,lockTime,investments,investmentsToken,commitments,treasure) = {
35+func project (skin,minCommitment,lockTime,investments,investmentsToken,commitments,treasure) = {
3936 let a = allowed("project")
4037 if ((a == a))
4138 then {
4239 let user = toString(i.caller)
4340 let power = asInt(invoke(stakingContract, "userPower", [user], nil))
4441 if ((power == power))
4542 then if ((minPower > power))
4643 then throw(("Not enough staked power to create a project. Required " + toString(minPower)))
4744 else {
48- let p = invoke(childrenContract, "projectFor", [user, skin, lockTime, investments, investmentsToken, commitments, treasure], nil)
45+ let p = invoke(childrenContract, "projectFor", [user, skin, minCommitment, lockTime, investments, investmentsToken, commitments, treasure], nil)
4946 if ((p == p))
5047 then nil
5148 else throw("Strict value is not equal to itself.")
5249 }
5350 else throw("Strict value is not equal to itself.")
5451 }
5552 else throw("Strict value is not equal to itself.")
5653 }
5754
5855
5956
6057 @Callable(i)
6158 func commit (child,amount) = {
6259 let a = allowed("commit")
6360 if ((a == a))
6461 then {
6562 let account = toString(i.caller)
6663 let s = invoke(stakingContract, "unstakeFrom", [account, amount], nil)
6764 if ((s == s))
6865 then {
6966 let c = invoke(childrenContract, "commitFor", [child, account], [AttachedPayment(pwrAssetId, amount)])
7067 if ((c == c))
7168 then nil
7269 else throw("Strict value is not equal to itself.")
7370 }
7471 else throw("Strict value is not equal to itself.")
7572 }
7673 else throw("Strict value is not equal to itself.")
7774 }
7875
7976
8077
8178 @Callable(i)
8279 func undoCommit (child) = {
8380 let paused = allowed("undoCommit")
8481 if ((paused == paused))
8582 then {
8683 let address = toString(i.caller)
8784 let skin = asInt(invoke(childrenContract, "undoCommitFor", [child, address], nil))
8885 if ((skin == skin))
8986 then {
9087 let s = invoke(stakingContract, "stakeFor", [address], [AttachedPayment(pwrAssetId, skin)])
9188 if ((s == s))
9289 then nil
9390 else throw("Strict value is not equal to itself.")
9491 }
9592 else throw("Strict value is not equal to itself.")
9693 }
9794 else throw("Strict value is not equal to itself.")
9895 }
9996
10097
10198
10299 @Callable(i)
103100 func init (conf) = [writeConstString(configAddressStore, conf)]
104101
105102

github/deemru/w8io/3ef1775 
36.12 ms