tx · 7Wr1pZz8YaGD6ihF8Wc3zqWBonrj6Cn5EDGx4guvHLiX

3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy:  -0.00300000 Waves

2023.08.06 16:22 [3764404] smart account 3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy > SELF 0.00000000 Waves

{ "type": 13, "id": "7Wr1pZz8YaGD6ihF8Wc3zqWBonrj6Cn5EDGx4guvHLiX", "fee": 300000, "feeAssetId": null, "timestamp": 1691328261230, "version": 1, "sender": "3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy", "senderPublicKey": "BnSujow6hJrVGBci5QG71JU7GKwyCVdhyxrrM4LPrYP7", "proofs": [ "3V3KLVHcKnqUnDjXAapBniVRp8b3oshF32HYVC8vFAqYctVeZVnSgmJQqim2mgfXaWmZNPVb7iyqC1wgTVuiv74n" ], "script": "base64:BgIiCAISCQoHAQEBAQgICBIECgIIARIDCgEIEgMKAQgSAwoBCAsBBWFzSW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECGXdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQBEHdyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwUDa2V5CQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlCQACAQkArAICAhVhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQASY29uZmlnQWRkcmVzc1N0b3JlAgZjb25maWcADWNvbmZpZ0FkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUSY29uZmlnQWRkcmVzc1N0b3JlAidjaGlsZHJlbi5tYWluOiBjb25maWcgYWRkcmVzcyBub3QgZm91bmQCFmludmFsaWQgY29uZmlnIGFkZHJlc3MABkhFSUdIVAUGaGVpZ2h0AQdhbGxvd2VkAQJvcAkA/AcEBQ1jb25maWdBZGRyZXNzAglvcEFsbG93ZWQJAMwIAgUCb3AFA25pbAUDbmlsAApwd3JBc3NldElkCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAgxwb3dlckFzc2V0SWQCFnB3ciBhc3NldCBpZCBub3QgZm91bmQAD3N0YWtpbmdDb250cmFjdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAhBjb250cmFjdF9zdGFraW5nAhNubyBzdGFraW5nX2NvbnRyYWN0AhdpbnZhbGlkIHN0YWtpbmcgYWRkcmVzcwAIbWluUG93ZXIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ1jb25maWdBZGRyZXNzCQCsAgIJAKUIAQUEdGhpcwIeX21pbl9wb3dlcl9yZXF1aXJlZF90b19wcm9qZWN0AiFubyBfbWluX3Bvd2VyX3JlcXVpcmVkX3RvX3Byb2plY3QAEGNoaWxkcmVuQ29udHJhY3QJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUNY29uZmlnQWRkcmVzcwIRY29udHJhY3RfY2hpbGRyZW4CFG5vIGNoaWxkcmVuX2NvbnRyYWN0AhhpbnZhbGlkIGNoaWxkcmVuIGFkZHJlc3MACHdhdmVzREFPCQELdmFsdWVPckVsc2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCCHdhdmVzREFPAiMzUEV3UmNZTkFVdG9GdktwQmhLb2l3YWpuWmZkb0RSNmg0aAUBaQEHcHJvamVjdAcEc2tpbg1taW5Db21taXRtZW50CGxvY2tUaW1lC2ludmVzdG1lbnRzEGludmVzdG1lbnRzVG9rZW4LY29tbWl0bWVudHMIdHJlYXN1cmUEAWEJAQdhbGxvd2VkAQIHcHJvamVjdAMJAAACBQFhBQFhBAR1c2VyCQClCAEIBQFpBmNhbGxlcgQFcG93ZXIJAQVhc0ludAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0Agl1c2VyUG93ZXIJAMwIAgUEdXNlcgUDbmlsBQNuaWwDCQAAAgUFcG93ZXIFBXBvd2VyAwkAZgIFCG1pblBvd2VyBQVwb3dlcgkAAgEJAKwCAgI2Tm90IGVub3VnaCBzdGFrZWQgcG93ZXIgdG8gY3JlYXRlIGEgcHJvamVjdC4gUmVxdWlyZWQgCQCkAwEFCG1pblBvd2VyBAFwCQD8BwQFEGNoaWxkcmVuQ29udHJhY3QCCnByb2plY3RGb3IJAMwIAgUEdXNlcgkAzAgCBQRza2luCQDMCAIFDW1pbkNvbW1pdG1lbnQJAMwIAgUIbG9ja1RpbWUJAMwIAgULaW52ZXN0bWVudHMJAMwIAgUQaW52ZXN0bWVudHNUb2tlbgkAzAgCBQtjb21taXRtZW50cwkAzAgCBQh0cmVhc3VyZQUDbmlsBQNuaWwDCQAAAgUBcAUBcAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBmNvbW1pdAIFY2hpbGQGYW1vdW50BAFhCQEHYWxsb3dlZAECBmNvbW1pdAMJAAACBQFhBQFhBAdhY2NvdW50CQClCAEIBQFpBmNhbGxlcgQBcwkA/AcEBQ9zdGFraW5nQ29udHJhY3QCC3Vuc3Rha2VGcm9tCQDMCAIFB2FjY291bnQJAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQFzBQFzBAFjCQD8BwQFEGNoaWxkcmVuQ29udHJhY3QCCWNvbW1pdEZvcgkAzAgCBQVjaGlsZAkAzAgCBQdhY2NvdW50BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCnB3ckFzc2V0SWQFBmFtb3VudAUDbmlsAwkAAAIFAWMFAWMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5jb21taXRGb3JNaW5lcgEDZm9yBAFjCQD8BwQFEGNoaWxkcmVuQ29udHJhY3QCDmNvbW1pdEZvck1pbmVyCQDMCAIFCHdhdmVzREFPCQDMCAIFA2ZvcgUDbmlsCAUBaQhwYXltZW50cwMJAAACBQFjBQFjBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKdW5kb0NvbW1pdAEFY2hpbGQEBnBhdXNlZAkBB2FsbG93ZWQBAgp1bmRvQ29tbWl0AwkAAAIFBnBhdXNlZAUGcGF1c2VkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQEc2tpbgkBBWFzSW50AQkA/AcEBRBjaGlsZHJlbkNvbnRyYWN0Ag11bmRvQ29tbWl0Rm9yCQDMCAIFBWNoaWxkCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsAwkAAAIFBHNraW4FBHNraW4EAXMJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AghzdGFrZUZvcgkAzAgCBQdhZGRyZXNzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFCnB3ckFzc2V0SWQFBHNraW4FA25pbAMJAAACBQFzBQFzBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEEaW5pdAEEY29uZgkAzAgCCQEQd3JpdGVDb25zdFN0cmluZwIFEmNvbmZpZ0FkZHJlc3NTdG9yZQUEY29uZgUDbmlsAGy6vlE=", "chainId": 87, "height": 3764404, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: A6M5Kk84T9mDJwS4vgP3wRbvhK4wu6LcFKGJpcWf9dJV Next: 3oDgRTKyvFkDEiCCiaUQMBYs6Tgq5Uquf4sh85cCJSJ9 Diff:
OldNewDifferences
3030 let minPower = valueOrErrorMessage(getInteger(configAddress, (toString(this) + "_min_power_required_to_project")), "no _min_power_required_to_project")
3131
3232 let childrenContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_children"), "no children_contract")), "invalid children address")
33+
34+let wavesDAO = valueOrElse(getString(configAddress, "wavesDAO"), "3PEwRcYNAUtoFvKpBhKoiwajnZfdoDR6h4h")
3335
3436 @Callable(i)
3537 func project (skin,minCommitment,lockTime,investments,investmentsToken,commitments,treasure) = {
7678
7779
7880 @Callable(i)
81+func commitForMiner (for) = {
82+ let c = invoke(childrenContract, "commitForMiner", [wavesDAO, for], i.payments)
83+ if ((c == c))
84+ then nil
85+ else throw("Strict value is not equal to itself.")
86+ }
87+
88+
89+
90+@Callable(i)
7991 func undoCommit (child) = {
8092 let paused = allowed("undoCommit")
8193 if ((paused == paused))
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
1919 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
3232 let childrenContract = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(configAddress, "contract_children"), "no children_contract")), "invalid children address")
33+
34+let wavesDAO = valueOrElse(getString(configAddress, "wavesDAO"), "3PEwRcYNAUtoFvKpBhKoiwajnZfdoDR6h4h")
3335
3436 @Callable(i)
3537 func project (skin,minCommitment,lockTime,investments,investmentsToken,commitments,treasure) = {
3638 let a = allowed("project")
3739 if ((a == a))
3840 then {
3941 let user = toString(i.caller)
4042 let power = asInt(invoke(stakingContract, "userPower", [user], nil))
4143 if ((power == power))
4244 then if ((minPower > power))
4345 then throw(("Not enough staked power to create a project. Required " + toString(minPower)))
4446 else {
4547 let p = invoke(childrenContract, "projectFor", [user, skin, minCommitment, lockTime, investments, investmentsToken, commitments, treasure], nil)
4648 if ((p == p))
4749 then nil
4850 else throw("Strict value is not equal to itself.")
4951 }
5052 else throw("Strict value is not equal to itself.")
5153 }
5254 else throw("Strict value is not equal to itself.")
5355 }
5456
5557
5658
5759 @Callable(i)
5860 func commit (child,amount) = {
5961 let a = allowed("commit")
6062 if ((a == a))
6163 then {
6264 let account = toString(i.caller)
6365 let s = invoke(stakingContract, "unstakeFrom", [account, amount], nil)
6466 if ((s == s))
6567 then {
6668 let c = invoke(childrenContract, "commitFor", [child, account], [AttachedPayment(pwrAssetId, amount)])
6769 if ((c == c))
6870 then nil
6971 else throw("Strict value is not equal to itself.")
7072 }
7173 else throw("Strict value is not equal to itself.")
7274 }
7375 else throw("Strict value is not equal to itself.")
7476 }
7577
7678
7779
7880 @Callable(i)
81+func commitForMiner (for) = {
82+ let c = invoke(childrenContract, "commitForMiner", [wavesDAO, for], i.payments)
83+ if ((c == c))
84+ then nil
85+ else throw("Strict value is not equal to itself.")
86+ }
87+
88+
89+
90+@Callable(i)
7991 func undoCommit (child) = {
8092 let paused = allowed("undoCommit")
8193 if ((paused == paused))
8294 then {
8395 let address = toString(i.caller)
8496 let skin = asInt(invoke(childrenContract, "undoCommitFor", [child, address], nil))
8597 if ((skin == skin))
8698 then {
8799 let s = invoke(stakingContract, "stakeFor", [address], [AttachedPayment(pwrAssetId, skin)])
88100 if ((s == s))
89101 then nil
90102 else throw("Strict value is not equal to itself.")
91103 }
92104 else throw("Strict value is not equal to itself.")
93105 }
94106 else throw("Strict value is not equal to itself.")
95107 }
96108
97109
98110
99111 @Callable(i)
100112 func init (conf) = [writeConstString(configAddressStore, conf)]
101113
102114

github/deemru/w8io/3ef1775 
33.50 ms