tx · DRAt3X1CNpqBtnQDvXKiexoHbr5weNK4Gzn5HdkYHAMU

3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy:  -0.00500000 Waves

2023.11.29 11:31 [3930308] smart account 3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy > SELF 0.00000000 Waves

{ "type": 13, "id": "DRAt3X1CNpqBtnQDvXKiexoHbr5weNK4Gzn5HdkYHAMU", "fee": 500000, "feeAssetId": null, "timestamp": 1701246806321, "version": 1, "sender": "3P3w8TSPSRDVMLAzJcTeHnKAQsPnQgArUKy", "senderPublicKey": "BnSujow6hJrVGBci5QG71JU7GKwyCVdhyxrrM4LPrYP7", "proofs": [ "3HFYP2PpXt3ScUq3KhpTdeUefxtHd8NkaSKXJ8zYMs74BKW9KDWXvpw9Ha8gMNy9WoyKJTQx62i1Fed814cnbS8s" ], "script": "base64:BgIrCAISCwoJAQEBAQEBCAgIEgQKAggBEgMKAQgSAwoBCBIDCgEIEgMKAQgSAAwBBWFzSW50AQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BANpbnQFByRtYXRjaDAFA2ludAkAAgECGXdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQBEHdyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAJ0IAgUEdGhpcwUDa2V5CQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlCQACAQkArAICAhVhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQASY29uZmlnQWRkcmVzc1N0b3JlAgZjb25maWcADWNvbmZpZ0FkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUEdGhpcwUSY29uZmlnQWRkcmVzc1N0b3JlAidjaGlsZHJlbi5tYWluOiBjb25maWcgYWRkcmVzcyBub3QgZm91bmQCFmludmFsaWQgY29uZmlnIGFkZHJlc3MABkhFSUdIVAUGaGVpZ2h0AQdhbGxvd2VkAQJvcAkA/AcEBQ1jb25maWdBZGRyZXNzAglvcEFsbG93ZWQJAMwIAgUCb3AFA25pbAUDbmlsAApwd3JBc3NldElkCQDZBAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAgxwb3dlckFzc2V0SWQCFnB3ciBhc3NldCBpZCBub3QgZm91bmQAD3N0YWtpbmdDb250cmFjdAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ1jb25maWdBZGRyZXNzAhBjb250cmFjdF9zdGFraW5nAhNubyBzdGFraW5nX2NvbnRyYWN0AhdpbnZhbGlkIHN0YWtpbmcgYWRkcmVzcwAIbWluUG93ZXIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ1jb25maWdBZGRyZXNzCQCsAgIJAKUIAQUEdGhpcwIeX21pbl9wb3dlcl9yZXF1aXJlZF90b19wcm9qZWN0AiFubyBfbWluX3Bvd2VyX3JlcXVpcmVkX3RvX3Byb2plY3QAEGNoaWxkcmVuQ29udHJhY3QJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUNY29uZmlnQWRkcmVzcwIRY29udHJhY3RfY2hpbGRyZW4CFG5vIGNoaWxkcmVuX2NvbnRyYWN0AhhpbnZhbGlkIGNoaWxkcmVuIGFkZHJlc3MACHdhdmVzREFPCQELdmFsdWVPckVsc2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCCHdhdmVzREFPAiMzUEV3UmNZTkFVdG9GdktwQmhLb2l3YWpuWmZkb0RSNmg0aAAHZmFjdG9yeQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ1jb25maWdBZGRyZXNzAg5taW5lcnNfZmFjdG9yeQIjM1BKVm03eExQYWJtWW9oYm52ZGdHRFlITXduWnhGMngxOG0HAWkBB3Byb2plY3QJBHNraW4HbWF4U2tpbg1taW5Db21taXRtZW50CGxvY2tUaW1lC2ludmVzdG1lbnRzDm1heEludmVzdG1lbnRzEGludmVzdG1lbnRzVG9rZW4LY29tbWl0bWVudHMIdHJlYXN1cmUEAWEJAQdhbGxvd2VkAQIHcHJvamVjdAMJAAACBQFhBQFhBAR1c2VyCQClCAEIBQFpBmNhbGxlcgQFcG93ZXIJAQVhc0ludAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0Agl1c2VyUG93ZXIJAMwIAgUEdXNlcgUDbmlsBQNuaWwDCQAAAgUFcG93ZXIFBXBvd2VyAwkAZgIFCG1pblBvd2VyBQVwb3dlcgkAAgEJAKwCAgI2Tm90IGVub3VnaCBzdGFrZWQgcG93ZXIgdG8gY3JlYXRlIGEgcHJvamVjdC4gUmVxdWlyZWQgCQCkAwEFCG1pblBvd2VyBAFwCQD8BwQFEGNoaWxkcmVuQ29udHJhY3QCCnByb2plY3RGb3IJAMwIAgUEdXNlcgkAzAgCBQRza2luCQDMCAIFB21heFNraW4JAMwIAgUNbWluQ29tbWl0bWVudAkAzAgCBQhsb2NrVGltZQkAzAgCBQtpbnZlc3RtZW50cwkAzAgCBQ5tYXhJbnZlc3RtZW50cwkAzAgCBRBpbnZlc3RtZW50c1Rva2VuCQDMCAIFC2NvbW1pdG1lbnRzCQDMCAIFCHRyZWFzdXJlBQNuaWwFA25pbAMJAAACBQFwBQFwBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEGY29tbWl0AgVjaGlsZAZhbW91bnQEAWEJAQdhbGxvd2VkAQIGY29tbWl0AwkAAAIFAWEFAWEEB2FjY291bnQJAKUIAQgFAWkGY2FsbGVyBAFzCQD8BwQFD3N0YWtpbmdDb250cmFjdAILdW5zdGFrZUZyb20JAMwIAgUHYWNjb3VudAkAzAgCBQZhbW91bnQFA25pbAUDbmlsAwkAAAIFAXMFAXMEAWMJAPwHBAUQY2hpbGRyZW5Db250cmFjdAIJY29tbWl0Rm9yCQDMCAIFBWNoaWxkCQDMCAIFB2FjY291bnQFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUKcHdyQXNzZXRJZAUGYW1vdW50BQNuaWwDCQAAAgUBYwUBYwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDmNvbW1pdEZvck1pbmVyAQNmb3IDCQECIT0CCQClCAEIBQFpBmNhbGxlcgUHZmFjdG9yeQkAAgECBmRlbmllZAQBYwkA/AcEBRBjaGlsZHJlbkNvbnRyYWN0Ag5jb21taXRGb3JNaW5lcgkAzAgCBQh3YXZlc0RBTwkAzAgCBQNmb3IFA25pbAgFAWkIcGF5bWVudHMDCQAAAgUBYwUBYwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCnVuZG9Db21taXQBBWNoaWxkBAZwYXVzZWQJAQdhbGxvd2VkAQIKdW5kb0NvbW1pdAMJAAACBQZwYXVzZWQFBnBhdXNlZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEBHNraW4JAQVhc0ludAEJAPwHBAUQY2hpbGRyZW5Db250cmFjdAINdW5kb0NvbW1pdEZvcgkAzAgCBQVjaGlsZAkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAMJAAACBQRza2luBQRza2luBAFzCQD8BwQFD3N0YWtpbmdDb250cmFjdAIIc3Rha2VGb3IJAMwIAgUHYWRkcmVzcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQpwd3JBc3NldElkBQRza2luBQNuaWwDCQAAAgUBcwUBcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGNvbXBsZXRlAQVjaGlsZAQGcGF1c2VkCQEHYWxsb3dlZAECCGNvbXBsZXRlAwkAAAIFBnBhdXNlZAUGcGF1c2VkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQEc2tpbgkBBWFzSW50AQkA/AcEBRBjaGlsZHJlbkNvbnRyYWN0Agtjb21wbGV0ZUZvcgkAzAgCBQVjaGlsZAkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAMJAAACBQRza2luBQRza2luBAFzCQD8BwQFD3N0YWtpbmdDb250cmFjdAIIc3Rha2VGb3IJAMwIAgUHYWRkcmVzcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQpwd3JBc3NldElkBQRza2luBQNuaWwDCQAAAgUBcwUBcwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBGluaXQBBGNvbmYJAMwIAgkBEHdyaXRlQ29uc3RTdHJpbmcCBRJjb25maWdBZGRyZXNzU3RvcmUFBGNvbmYFA25pbAFpARR1bmRvQ29tbWl0Rm9yTnVtZXJpcwAEBXVzZXJzCQDMCAICIzNQM0p2a3lua0d1V0NhVDlXWjUxVDFtdUpkdHFyRW9neEUzCQDMCAICIzNQNjg2UGhIektwVXdXRHRCZ3Y1NHBBYzFuN0ZMeU42S3dGCQDMCAICIzNQOURnYWtNYWpNdVo3WnVaOHh5ZXdReGJKR3k2UENuaGliCQDMCAICIzNQRjJnbVoxU3BpUnJ1anhNcFJNSFFvaFRyTlpWRlNEb3R4CQDMCAICIzNQSEZBYXZ4ajJlUEpxRkI0NkgyYVJHQTdvUUw2a3oxckpKCQDMCAICIzNQSFhQZ3FQWFBNdkxnaFVSblhrOU5ndWd3NnY1QWt6ZzRXCQDMCAICIzNQSmRHRTFwZjFKalp1V2hXVTh1d2JqdVFjM0NDZEw1TWMzCQDMCAICIzNQTDg4enk5VjJ0ckNhRFV4QWRaMzlGdHJIMmZ5dzNZdzdNCQDMCAICIzNQTHl3UGlNWW13YktORUJKTHZBYmpFbmtIMW1MczU3UmpICQDMCAICIzNQTUdRc21ROHg2eGc0RGM1SHBzaVJqVm9VQmVabnpkREJOCQDMCAICIzNQUUt6elhEcmdiRHhUZUxEQ3RtTUtxalIyVWhwdlNRZTV6BQNuaWwEBWNoaWxkAiMzUDRCRDNicUFUV1JCTEpoTUwzRW5UYXNOdXhuNkF5Ym1lbQoBBHVuZG8CA2ZvbwR1c2VyBARza2luCQEFYXNJbnQBCQD8BwQFEGNoaWxkcmVuQ29udHJhY3QCDXVuZG9Db21taXRGb3IJAMwIAgUFY2hpbGQJAMwIAgUEdXNlcgUDbmlsBQNuaWwDCQAAAgUEc2tpbgUEc2tpbgQBcwkA/AcEBQ9zdGFraW5nQ29udHJhY3QCCHN0YWtlRm9yCQDMCAIFBHVzZXIFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUKcHdyQXNzZXRJZAUEc2tpbgUDbmlsAwkAAAIFAXMFAXMAAAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQBYQoAAiRsBQV1c2VycwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEEdW5kbwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTEJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAwkAAAIFAWEFAWEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgBpiwIn", "chainId": 87, "height": 3930308, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J3DCyeV2p8Y1Pn2Kt8tCPSeDCuAumyR8CYnNQBhKKJt9 Next: 9gSkGCmWygurkXGCXczXHdx64hsadwji4NbF4bQG2nGd Diff:
OldNewDifferences
137137 func init (conf) = [writeConstString(configAddressStore, conf)]
138138
139139
140+
141+@Callable(i)
142+func undoCommitForNumeris () = {
143+ let users = ["3P3JvkynkGuWCaT9WZ51T1muJdtqrEogxE3", "3P686PhHzKpUwWDtBgv54pAc1n7FLyN6KwF", "3P9DgakMajMuZ7ZuZ8xyewQxbJGy6PCnhib", "3PF2gmZ1SpiRrujxMpRMHQohTrNZVFSDotx", "3PHFAavxj2ePJqFB46H2aRGA7oQL6kz1rJJ", "3PHXPgqPXPMvLghURnXk9Ngugw6v5Akzg4W", "3PJdGE1pf1JjZuWhWU8uwbjuQc3CCdL5Mc3", "3PL88zy9V2trCaDUxAdZ39FtrH2fyw3Yw7M", "3PLywPiMYmwbKNEBJLvAbjEnkH1mLs57RjH", "3PMGQsmQ8x6xg4Dc5HpsiRjVoUBeZnzdDBN", "3PQKzzXDrgbDxTeLDCtmMKqjR2UhpvSQe5z"]
144+ let child = "3P4BD3bqATWRBLJhML3EnTasNuxn6Aybmem"
145+ func undo (foo,user) = {
146+ let skin = asInt(invoke(childrenContract, "undoCommitFor", [child, user], nil))
147+ if ((skin == skin))
148+ then {
149+ let s = invoke(stakingContract, "stakeFor", [user], [AttachedPayment(pwrAssetId, skin)])
150+ if ((s == s))
151+ then 0
152+ else throw("Strict value is not equal to itself.")
153+ }
154+ else throw("Strict value is not equal to itself.")
155+ }
156+
157+ let a = {
158+ let $l = users
159+ let $s = size($l)
160+ let $acc0 = 0
161+ func $f0_1 ($a,$i) = if (($i >= $s))
162+ then $a
163+ else undo($a, $l[$i])
164+
165+ func $f0_2 ($a,$i) = if (($i >= $s))
166+ then $a
167+ else throw("List size exceeds 11")
168+
169+ $f0_2($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)
170+ }
171+ if ((a == a))
172+ then nil
173+ else throw("Strict value is not equal to itself.")
174+ }
175+
176+
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")
3333
3434 let wavesDAO = valueOrElse(getString(configAddress, "wavesDAO"), "3PEwRcYNAUtoFvKpBhKoiwajnZfdoDR6h4h")
3535
3636 let factory = valueOrElse(getString(configAddress, "miners_factory"), "3PJVm7xLPabmYohbnvdgGDYHMwnZxF2x18m")
3737
3838 @Callable(i)
3939 func project (skin,maxSkin,minCommitment,lockTime,investments,maxInvestments,investmentsToken,commitments,treasure) = {
4040 let a = allowed("project")
4141 if ((a == a))
4242 then {
4343 let user = toString(i.caller)
4444 let power = asInt(invoke(stakingContract, "userPower", [user], nil))
4545 if ((power == power))
4646 then if ((minPower > power))
4747 then throw(("Not enough staked power to create a project. Required " + toString(minPower)))
4848 else {
4949 let p = invoke(childrenContract, "projectFor", [user, skin, maxSkin, minCommitment, lockTime, investments, maxInvestments, investmentsToken, commitments, treasure], nil)
5050 if ((p == p))
5151 then nil
5252 else throw("Strict value is not equal to itself.")
5353 }
5454 else throw("Strict value is not equal to itself.")
5555 }
5656 else throw("Strict value is not equal to itself.")
5757 }
5858
5959
6060
6161 @Callable(i)
6262 func commit (child,amount) = {
6363 let a = allowed("commit")
6464 if ((a == a))
6565 then {
6666 let account = toString(i.caller)
6767 let s = invoke(stakingContract, "unstakeFrom", [account, amount], nil)
6868 if ((s == s))
6969 then {
7070 let c = invoke(childrenContract, "commitFor", [child, account], [AttachedPayment(pwrAssetId, amount)])
7171 if ((c == c))
7272 then nil
7373 else throw("Strict value is not equal to itself.")
7474 }
7575 else throw("Strict value is not equal to itself.")
7676 }
7777 else throw("Strict value is not equal to itself.")
7878 }
7979
8080
8181
8282 @Callable(i)
8383 func commitForMiner (for) = if ((toString(i.caller) != factory))
8484 then throw("denied")
8585 else {
8686 let c = invoke(childrenContract, "commitForMiner", [wavesDAO, for], i.payments)
8787 if ((c == c))
8888 then nil
8989 else throw("Strict value is not equal to itself.")
9090 }
9191
9292
9393
9494 @Callable(i)
9595 func undoCommit (child) = {
9696 let paused = allowed("undoCommit")
9797 if ((paused == paused))
9898 then {
9999 let address = toString(i.caller)
100100 let skin = asInt(invoke(childrenContract, "undoCommitFor", [child, address], nil))
101101 if ((skin == skin))
102102 then {
103103 let s = invoke(stakingContract, "stakeFor", [address], [AttachedPayment(pwrAssetId, skin)])
104104 if ((s == s))
105105 then nil
106106 else throw("Strict value is not equal to itself.")
107107 }
108108 else throw("Strict value is not equal to itself.")
109109 }
110110 else throw("Strict value is not equal to itself.")
111111 }
112112
113113
114114
115115 @Callable(i)
116116 func complete (child) = {
117117 let paused = allowed("complete")
118118 if ((paused == paused))
119119 then {
120120 let address = toString(i.caller)
121121 let skin = asInt(invoke(childrenContract, "completeFor", [child, address], nil))
122122 if ((skin == skin))
123123 then {
124124 let s = invoke(stakingContract, "stakeFor", [address], [AttachedPayment(pwrAssetId, skin)])
125125 if ((s == s))
126126 then nil
127127 else throw("Strict value is not equal to itself.")
128128 }
129129 else throw("Strict value is not equal to itself.")
130130 }
131131 else throw("Strict value is not equal to itself.")
132132 }
133133
134134
135135
136136 @Callable(i)
137137 func init (conf) = [writeConstString(configAddressStore, conf)]
138138
139139
140+
141+@Callable(i)
142+func undoCommitForNumeris () = {
143+ let users = ["3P3JvkynkGuWCaT9WZ51T1muJdtqrEogxE3", "3P686PhHzKpUwWDtBgv54pAc1n7FLyN6KwF", "3P9DgakMajMuZ7ZuZ8xyewQxbJGy6PCnhib", "3PF2gmZ1SpiRrujxMpRMHQohTrNZVFSDotx", "3PHFAavxj2ePJqFB46H2aRGA7oQL6kz1rJJ", "3PHXPgqPXPMvLghURnXk9Ngugw6v5Akzg4W", "3PJdGE1pf1JjZuWhWU8uwbjuQc3CCdL5Mc3", "3PL88zy9V2trCaDUxAdZ39FtrH2fyw3Yw7M", "3PLywPiMYmwbKNEBJLvAbjEnkH1mLs57RjH", "3PMGQsmQ8x6xg4Dc5HpsiRjVoUBeZnzdDBN", "3PQKzzXDrgbDxTeLDCtmMKqjR2UhpvSQe5z"]
144+ let child = "3P4BD3bqATWRBLJhML3EnTasNuxn6Aybmem"
145+ func undo (foo,user) = {
146+ let skin = asInt(invoke(childrenContract, "undoCommitFor", [child, user], nil))
147+ if ((skin == skin))
148+ then {
149+ let s = invoke(stakingContract, "stakeFor", [user], [AttachedPayment(pwrAssetId, skin)])
150+ if ((s == s))
151+ then 0
152+ else throw("Strict value is not equal to itself.")
153+ }
154+ else throw("Strict value is not equal to itself.")
155+ }
156+
157+ let a = {
158+ let $l = users
159+ let $s = size($l)
160+ let $acc0 = 0
161+ func $f0_1 ($a,$i) = if (($i >= $s))
162+ then $a
163+ else undo($a, $l[$i])
164+
165+ func $f0_2 ($a,$i) = if (($i >= $s))
166+ then $a
167+ else throw("List size exceeds 11")
168+
169+ $f0_2($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)
170+ }
171+ if ((a == a))
172+ then nil
173+ else throw("Strict value is not equal to itself.")
174+ }
175+
176+

github/deemru/w8io/0e76f2f 
31.97 ms