diff --git a/.novax/abis/tester-contract.abi.json b/.novax/abis/tester-contract.abi.json index a1a0951..c9432e5 100644 --- a/.novax/abis/tester-contract.abi.json +++ b/.novax/abis/tester-contract.abi.json @@ -1,16 +1,16 @@ { "buildInfo": { "rustc": { - "version": "1.78.0", - "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", - "commitDate": "2024-04-29", + "version": "1.79.0", + "commitHash": "129f3b9964af4d4a709d1383930ade12dfe7c081", + "commitDate": "2024-06-10", "channel": "Stable", - "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" + "short": "rustc 1.79.0 (129f3b996 2024-06-10)" }, "contractCrate": { "name": "tester-contract", - "version": "0.0.0", - "gitVersion": "0.1.6-17-gaeef5de" + "version": "0.1.7-beta.1", + "gitVersion": "0.1.7-beta.1-1-g8eb6db8" }, "framework": { "name": "multiversx-sc", @@ -593,6 +593,21 @@ } ] }, + { + "name": "returnStructWithTupleField", + "mutability": "mutable", + "inputs": [ + { + "name": "arg", + "type": "CustomStructWithTupleField" + } + ], + "outputs": [ + { + "type": "CustomStructWithTupleField" + } + ] + }, { "name": "callAnotherContractReturnTwoU64", "mutability": "mutable", @@ -781,6 +796,15 @@ } ] }, + "CustomStructWithTupleField": { + "type": "struct", + "fields": [ + { + "name": "tuple", + "type": "tuple" + } + ] + }, "TestEnumProperties": { "type": "enum", "variants": [ diff --git a/abi-build/src/generator/impl_abi_types.rs b/abi-build/src/generator/impl_abi_types.rs index b238bd6..e887503 100644 --- a/abi-build/src/generator/impl_abi_types.rs +++ b/abi-build/src/generator/impl_abi_types.rs @@ -517,6 +517,10 @@ fn is_enum_fieldless(variants: &AbiTypeVariants) -> bool { fn should_struct_derive_managed_vec_item(abi_fields: &AbiTypeFields, all_abi_types: &AbiTypes) -> bool { for field in abi_fields { + if field.r#type.0.starts_with("tuple<") { + return false + } + let Some(abi_type) = all_abi_types.get(&field.r#type.0) else { continue }; let should_derive = match abi_type.r#type { AbiPossibleType::Enum => { diff --git a/tester/contract/output/tester-contract.abi.json b/tester/contract/output/tester-contract.abi.json index a1a0951..c9432e5 100644 --- a/tester/contract/output/tester-contract.abi.json +++ b/tester/contract/output/tester-contract.abi.json @@ -1,16 +1,16 @@ { "buildInfo": { "rustc": { - "version": "1.78.0", - "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", - "commitDate": "2024-04-29", + "version": "1.79.0", + "commitHash": "129f3b9964af4d4a709d1383930ade12dfe7c081", + "commitDate": "2024-06-10", "channel": "Stable", - "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" + "short": "rustc 1.79.0 (129f3b996 2024-06-10)" }, "contractCrate": { "name": "tester-contract", - "version": "0.0.0", - "gitVersion": "0.1.6-17-gaeef5de" + "version": "0.1.7-beta.1", + "gitVersion": "0.1.7-beta.1-1-g8eb6db8" }, "framework": { "name": "multiversx-sc", @@ -593,6 +593,21 @@ } ] }, + { + "name": "returnStructWithTupleField", + "mutability": "mutable", + "inputs": [ + { + "name": "arg", + "type": "CustomStructWithTupleField" + } + ], + "outputs": [ + { + "type": "CustomStructWithTupleField" + } + ] + }, { "name": "callAnotherContractReturnTwoU64", "mutability": "mutable", @@ -781,6 +796,15 @@ } ] }, + "CustomStructWithTupleField": { + "type": "struct", + "fields": [ + { + "name": "tuple", + "type": "tuple" + } + ] + }, "TestEnumProperties": { "type": "enum", "variants": [ diff --git a/tester/contract/output/tester-contract.mxsc.json b/tester/contract/output/tester-contract.mxsc.json index e8b4341..f4ff9d4 100644 --- a/tester/contract/output/tester-contract.mxsc.json +++ b/tester/contract/output/tester-contract.mxsc.json @@ -1,15 +1,15 @@ { "buildInfo": { "rustc": { - "version": "1.78.0", - "commitHash": "9b00956e56009bab2aa15d7bff10916599e3d6d6", - "commitDate": "2024-04-29", + "version": "1.79.0", + "commitHash": "129f3b9964af4d4a709d1383930ade12dfe7c081", + "commitDate": "2024-06-10", "channel": "Stable", - "short": "rustc 1.78.0 (9b00956e5 2024-04-29)" + "short": "rustc 1.79.0 (129f3b996 2024-06-10)" }, "contractCrate": { "name": "tester-contract", - "version": "0.0.0" + "version": "0.1.7-beta.1" }, "framework": { "name": "multiversx-sc", @@ -593,6 +593,21 @@ } ] }, + { + "name": "returnStructWithTupleField", + "mutability": "mutable", + "inputs": [ + { + "name": "arg", + "type": "CustomStructWithTupleField" + } + ], + "outputs": [ + { + "type": "CustomStructWithTupleField" + } + ] + }, { "name": "callAnotherContractReturnTwoU64", "mutability": "mutable", @@ -781,6 +796,15 @@ } ] }, + "CustomStructWithTupleField": { + "type": "struct", + "fields": [ + { + "name": "tuple", + "type": "tuple" + } + ] + }, "TestEnumProperties": { "type": "enum", "variants": [ @@ -838,8 +862,8 @@ } } }, - "size": 11942, - "code": "0061736d01000000018e011760000060027f7f0060017f017f60017f0060027f7f017f6000017f60037f7f7f017f60037f7f7f0060047f7f7f7f017f60047f7f7f7f0060027f7e0060017f017e60017e0060037f7f7f017e60057f7f7f7e7f0060017e017f600b7f7f7e7f7f7f7f7f7f7f7f006000017e60067e7f7f7f7f7f017f60027e7f0060027f7e017f60027e7e0060057f7f7f7f7f0002ee072903656e760b7369676e616c4572726f72000103656e760e626967496e74536574496e743634000a03656e760a6d4275666665724e6577000503656e760d6d427566666572417070656e64000403656e760d6d42756666657246696e697368000203656e76106d4275666665724765744c656e677468000203656e76106d616e61676564534341646472657373000303656e7618626967496e7447657445787465726e616c42616c616e6365000103656e760f6d4275666665724765744279746573000403656e761c626967496e744765744553445445787465726e616c42616c616e6365000e03656e7609626967496e744e6577000f03656e76176d616e6167656447657445534454546f6b656e44617461001003656e760f6d4275666665725365744279746573000603656e76126d427566666572476574417267756d656e74000403656e76126d427566666572417070656e644279746573000603656e76126d616e616765645369676e616c4572726f72000303656e761b736d616c6c496e74476574556e7369676e6564417267756d656e74000b03656e7619626967496e74476574556e7369676e6564417267756d656e74000103656e7617626967496e744765745369676e6564417267756d656e74000103656e7611676574417267756d656e744c656e677468000203656e760f6765744e756d417267756d656e7473000503656e7616736d616c6c496e7446696e697368556e7369676e6564000c03656e7614736d616c6c496e7446696e6973685369676e6564000c03656e76186d616e616765644765744f726967696e616c547848617368000303656e7609626967496e744d756c000703656e7609626967496e74416464000703656e76196d42756666657246726f6d426967496e74556e7369676e6564000403656e76176d427566666572546f426967496e74556e7369676e6564000403656e7609626967496e74506f77000703656e76146d427566666572436f707942797465536c696365000803656e76126d42756666657253746f726167654c6f6164000403656e76136d42756666657253746f7261676553746f7265000403656e760e636865636b4e6f5061796d656e74000003656e7614626967496e7446696e697368556e7369676e6564000303656e760d6d616e6167656443616c6c6572000303656e7612626967496e7446696e6973685369676e6564000303656e760a6765744761734c656674001103656e761b6d616e61676564457865637574654f6e44657374436f6e74657874001203656e760f636c65616e52657475726e44617461000003656e76136d42756666657247657442797465536c696365000803656e76106d616e616765644173796e6343616c6c00090387018501090002050201020b02010113010504030302020206020514030708090205060101060d070202020401030300000102031503010101030307050506010803060909020401020a0802010207010101061602050d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105030100030616037f01418080080b7f004184d3080b7f004190d3080b07f40a38066d656d6f7279020004696e6974007c0667657453756d007d03616464007e1372657475726e4e667450726f70657274696573007f1772657475726e4e6674456e756d50726f706572746965730080011d72657475726e4e6674456e756d4669656c647350726f706572746965730081011572657475726e46756e6769626c6542616c616e63650082011872657475726e4e6f6e46756e6769626c6542616c616e6365008301156e6f4172674e6f52657475726e456e64706f696e740084010c72657475726e43616c6c65720085011372657475726e4d616e616765644275666665720086011572657475726e436f6e7472616374416464726573730087010d72657475726e42696775696e740088010872657475726e55380089010972657475726e553136008a010972657475726e553332008b010972657475726e553634008c010c72657475726e553332566563008d010c72657475726e553634566563008e010f72657475726e427566666572566563008f011072657475726e42696775696e745665630090010c72657475726e54776f5536340091011072657475726e54776f427566666572730092012272657475726e4f6e654275666665724f6e65553634416e644f6e6542696775696e740093011472657475726e446f75626c654f665536344172670094011872657475726e446f75626c654f6642696775696e744172670095011772657475726e417070656e6465644275666665724172670096011772657475726e53756d54776f42696775696e74417267730097011b72657475726e436f6e6361744d756c7469427566666572417267730098011572657475726e53756d4d756c7469553634417267730099011972657475726e53756d4d756c746942696775696e7441726773009a011272657475726e437573746f6d537472756374009b011572657475726e437573746f6d537472756374417267009c012272657475726e437573746f6d53747275637457697468537472756374416e64566563009d012572657475726e437573746f6d53747275637457697468537472756374416e64566563417267009e011072657475726e437573746f6d456e756d009f011372657475726e437573746f6d456e756d41726700a0011f72657475726e4669727374437573746f6d456e756d576974684669656c647300a1012072657475726e5365636f6e64437573746f6d456e756d576974684669656c647300a2011d72657475726e437573746f6d456e756d576974684669656c647341726700a3011772657475726e4f7074696f6e616c56616c7565426f6f6c00a4011a72657475726e4f7074696f6e616c56616c7565426f6f6c41726700a5011372657475726e4d756c746956616c756554776f00a6010f72657475726e426967496e7441726700a7011f63616c6c416e6f74686572436f6e747261637452657475726e54776f55363400a8012e6173796e6343616c6c416e6f74686572436f6e747261637452657475726e54776f5536344e6f43616c6c6261636b00a901396173796e6343616c6c416e6f74686572436f6e747261637452657475726e54776f5536345769746852657475726e696e6743616c6c6261636b00aa013c6173796e6343616c6c416e6f74686572436f6e747261637452657475726e54776f553634576974684e6f6e52657475726e696e6743616c6c6261636b00ab010863616c6c4261636b00ac0107757067726164650084011f72657475726e4669727374437573746f6d456e756d5769746856616c75657300a1012072657475726e5365636f6e64437573746f6d456e756d5769746856616c75657300a2011d72657475726e437573746f6d456e756d5769746856616c75657341726700a3010a5f5f646174615f656e6403010b5f5f686561705f6261736503020adb4385011b00200120034b0440102a000b20002001360204200020023602000b0b0041948408410e1000000b1301017f102c22012000ad42ff0183100120010b1901017f41a4840841a4840828020041016b220036020020000b0f01017f10022201200010031a20010b2902017f017e2001102f210220011030210320002001103136020c20002002360208200020033703000b5801047f230041106b220124002000106a2102200141086a200028020820002802002203200210682001280208410147044041dd8308410341d88108410f1044000b200128020c2000200220036a360200200141106a24000b820102017e017f230041106b22022400200242003703082000200241086a4108104c20022903082101200241106a2400200142388620014280fe0383422886842001428080fc0783421886200142808080f80f834208868484200142088842808080f80f832001421888428080fc07838420014228884280fe038320014238888484840b08002000102f103b0b1d00200028020820011033200029030020011034200028020c200110350b5001027f230041106b22022400200220001005220341187420034180fe03714108747220034108764180fe03712003411876727236020c20012002410c6a410410732001200010031a200241106a24000b7701017f230041106b220224002002200042388620004280fe0383422886842000428080fc0783421886200042808080f80f834208868484200042088842808080f80f832000421888428080fc07838420004228884280fe038320004238888484843703082001200241086a41081073200241106a24000b0a002000103e200110330b0a0041948408410010370b1101017f102c220220002001100c1a20020b0700200010041a0b3101027f4100103a220210052101200041003a00102000200136020c2000200236020820002001360204200041003602000b0d002000102c2200100d1a20000b0d002000102c2200101b1a20000b0e00200041e781084120103d103b0b5a01037f230041106b2203240020002001200210672104200341086a20002802082000280200220520041068200328020841014704402001200241d88108410f1069000b200328020c2000200420056a360200200341106a24000b0f01017f102c22012000101a1a20010b0c01017f102c2200100620000b4c01037f103f2103102c2102200041feffffff074604402003104141c4d2082002100720020f0b20001005210420031041200041e4d20810081a41c4d20841e4d208200420012002100920020b0b00200041c4d20810081a0bad0101077f230041106b220324002001200242064200100a220210022204100222051002220610022207100222014200100a220810022209100b20011005450440200141cd80084120100c1a0b200341003b010e200441002003410e6a410210431a200041013a001c200020023602002000200936021820002008360214200020013602102000200736020c2000200636020820002005360204200020032d000e4100473a001d200341106a24000b0f00200020012003200210274100470b2e01017f41ed800841171037220420002001100e1a2004418481084103100e1a200420022003100e1a2004100f000b2e01017f104621010340200028020041c0d2082802004e4504402001200041f083084104104710480c010b0b20010b1301017f102c2200419484084100100c1a20000b0c00200020012002104a103a0b4601017f230041106b220224002002200141187420014180fe03714108747220014108764180fe03712001411876727236020c20002002410c6a4104100e1a200241106a24000bbf0102027e037f200141a183084106104a1010220242808080801054044002402002a7220641ebde0147410020061b450440200141a183084106104b22034280808080708321022003a72104200141a183084106104b21030c010b027e200128020041c0d2082802004e0440410121051046210442000c010b41012105200141a1830841061047210442000b21020b200020033703102000200636020420002005360200200020022004ad843703080f0b41a18308410641a68008410e1044000b2f01017f2000280200220341c0d2082802004e0440200120024187810841111044000b2000200341016a36020020030b0c00200020012002104a10100b3100200041086a200028020020012002106f044041dd8308410341d88108410f1044000b2000200028020020026a3602000b2a01027f2000106a210110462102037f2001047f200220001030106e200141016b21010c010520020b0b0b2a01027f2000106a210110462102037f2001047f20022000102f1048200141016b21010c010520020b0b0b0c002000102c2200101120000b2101017f4100103a220210054120470440200020014187820841101044000b20020b1400200020014d04400f0b4198810841121000000b1900200041c0d2082802004e04400f0b4198810841121000000b1400101420004604400f0b41aa810841191000000b190041c0d20828020041004e04400f0b4187810841111000000b0b0041c0d20810143602000b1f01017f2001105721022000410036020820002002360204200020013602000b0900200010054102760b2701017f10362101200028020820011033200029030020011034200028020c20011035200110380b0a0020001015200110150b6001027f20002802002102103621010240200245044041002001105b2000280204200110332000290310200110342000280208200110350c010b41012001105b20002802042001105c200041086a2001105d200041106a200110320b200110380b2601017f230041106b22022400200220003a000f20012002410f6a41011073200241106a24000baf0102017e047f230041106b22032400200010054103762001107420001005210503402005200441086a2206490440200341106a2400052003420037030820002004200341086a410810651a2003290308220242388620024280fe0383422886842002428080fc0783421886200242808080f80f834208868484200242088842808080f80f832002421888428080fc07838420024228884280fe0383200242388884848420011034200621040c010b0b0b5b01027f230041206b220224002000280200220310572001107420022003100536021c20024100360218200220003602140340200241086a200241146a107520022802080440200228020c200110330c0105200241206a24000b0b0b1700200041ff017141024704402000ad42ff018310160b0b2401017f1036210120002802102001105c200041146a2001105d200020011032200110380b0d0020001061200120021028000b0a0041764200100141760b1b01027f102c2200101741c38108410a10372201200010031a20010b5201037f2002200028022046047f02402002450d00034020002d0000220420012d00002205460440200041016a2100200141016a2101200241016b22020d010c020b0b200420056b21030b20030541010b450b9c0101057f230041306b22022400200241286a22034200370300200241206a22044200370300200241186a2205420037030020024200370310200241086a200110052206200241106a41201029200141002002280208200228020c10651a2000200636022020002002290310370000200041086a2005290300370000200041106a2004290300370000200041186a2003290300370000200241306a24000b0c00200020012002200310430b4b01047f106241948408410010372101200028020021032000280204220420011074200120032004100e1a200041086a2001105d2001101f1a200028020c200028021020002802141060000b5201017f230041106b220324002003410036020c20002003410c6a4104200120021078200328020c2100200341106a2400200041187420004180fe03714108747220004108764180fe0371200041187672720b1f0020012002200310022201101d21022000200136020420002002453602000b1600200020011037220020022003100e1a2000100f000b4e01017f230041106b220124002001410036020c20002001410c6a4104104c200128020c2100200141106a2400200041187420004180fe03714108747220004108764180fe0371200041187672720b0c00200020002001101820000b0a0020002000200110190b1801017f102c2101417242121001200120004172101c20010b7801017f230041106b220224002002200142388620014280fe0383422886842001428080fc0783421886200142808080f80f834208868484200142088842808080f80f832001421888428080fc07838420014228884280fe038320014238888484843703082000200241086a4108100e1a200241106a24000b850401077f230041106b2206240002400240027f024020002d000845044020002802002204100522054190ce004b0d0141bcd2082d00000d0141b8d208200536020041bcd20841013a0000200641086a200541a884084190ce001029200441002006280208200628020c10651a20002d0008044041b8d208410036020041bcd20841003a00000b200041013a00080b4101200120036a220041b8d2082802004b0d011a20002001490d0220004190ce004b0d03200141a884086a2100200341104f04402002410020026b41037122046a210520040440200021010340200220012d00003a0000200141016a2101200241016a22022005490d000b0b2005200320046b2203417c7122076a21020240200020046a22044103710440200741004c0d012004410374220141187121082004417c71220941046a2100410020016b411871210a2009280200210103402005200120087620002802002201200a7472360200200041046a2100200541046a22052002490d000b0c010b200741004c0d0020042100034020052000280200360200200041046a2100200541046a22052002490d000b0b20034103712103200420076a21000b20030440200220036a21010340200220002d00003a0000200041016a2100200241016a22022001490d000b0b41000c010b200041003a0008200420012002200310650b200641106a24000f0b102a000b102a000b0d002000102c2200101e1a20000b0b0020002001103e101f1a0b080020001070103b0b0b00200020012002100e1a0b4501017f230041106b220224002002200041187420004180fe03714108747220004108764180fe03712000411876727236020c20012002410c6a41041073200241106a24000b8a0101047f230041106b220324002001280204220241046a220420012802084b047f41000520012802002003410036020c28020020022003410c6a410410651a200328020c210220012004360204200241187420024180fe03714108747220024108764180fe037120024118767272210241010b21012000200236020420002001360200200341106a24000b4a01017f20012802002102200141feffffff07360200200241feffffff07460440418d800841191000000b41ae8308410c103721012000104636020420002001360200200020023602080b7b01027f230041106b22032400200028020821042003410036020c200028020020044102742003410c6a41041065450440200328020c21012000200441016a360208200141187420014180fe03714108747220014108764180fe037120014118767272102d200341106a24000f0b200120024187810841111044000b2f00200041086a200028020020012002106f04402003200441d88108410f1069000b2000200028020020026a3602000b3101017f230041106b22012400200141003a000f20002001410f6a410141e781084120107820012d000f200141106a24000b0a00418e8408410310370bab0102017e027f230041106b22042400200020012002107721002004420037030820001005220541094f04402001200241a68008410e1044000b20004100200420056b41106a200510431a20042903082103200441106a2400200342388620034280fe0383422886842003428080fc0783421886200342808080f80f834208868484200342088842808080f80f832003421888428080fc07838420034228884280fe038320034238888484840b1601017f1020410110534100104f2100107a200010710b0e00102041001053107a107210210b2201037f1020410110534100104f2100107a2201107222022000106c2001200210710bc00101037f230041406a2200240010204100105341c88308410a103721012000410c6a103f200110422000280218102d220210052101200041003a003c2000200136023820002002360234200020013602302000410036022c2000412c6a220241e781084120103d21012002103c21022000280230200028022c46044020002d003c044041b8d208410036020041bcd20841003a00000b200110362201103320022001103520011038200041406b24000f0b41e78108412041a68008410e1069000b9b0202037f017e230041406a2200240010204100105341c88308410a103721012000410c6a103f200110420240024002402000280218102d220110050440200110052102200041003a003c2000200236023820002001360234200020023602302000410036022c410121010240024002402000412c6a107941ff01710e020201000b41e78108412041808008410d1069000b2000412c6a220141e781084120103dad2001103cad422086842103410021010b2000280230200028022c470d0320002d003c044041b8d208410036020041bcd20841003a00000b2001450d010b420010150c010b410110362201105b2003a7200110332003422088a720011035200110380b200041406b24000f0b41e78108412041a68008410e1069000be20101047f230041406a2200240010204100105341c88308410a103721012000410c6a103f200110422000280218102d220210052101200041003a003c2000200136023820002002360234200020013602302000410036022c02402000412c6a107941ff01714504402000412c6a220141e781084120103d2001103c21032000280230200028022c470d0120002d003c044041b8d208410036020041bcd20841003a00000b410010362201105b2001103320032001103520011038200041406b24000f0b41e78108412041808008410d1069000b41e78108412041a68008410e1069000b160010204100105341d28308410b10374200104010210b160010204100105341c88308410a10374206104010210b08001020410010530b1501017f102041001053102c22001022200010041a0b130010204100105341c483084104103710041a0b130010204101105341e083084110105010041a0b1000102041001053410a102b106d10210b0c00102041001053420310150b0d0010204100105342f40310150b0e0010204100105342c09a0c10150b10001020410010534280b4c4c32110150b1f01017f10204100105310462200410a1048200041c09a0c1048200010041a0b2101017f10204100105310462200420a106e20004280b4c4c321106e200010041a0b7f01037f230041206b220024001020410010531046220141ba8308410510371048200141bf8308410510371048200020013602101036210220002001100536021c200041003602182000200041106a3602140340200041086a200041146a107520002802080440200028020c200210330c010b0b20021038200041206a24000b9a0101067f230041106b2201240010204100105310462202410a102b106d10482002410a102b106d4102102b106b1048103621032002100521040340200041046a220520044b4504402001410036020c200220002001410c6a410410431a200128020c220041187420004180fe03714108747220004108764180fe03712000411876727220031035200521000c010b0b20031038200141106a24000b1200102041001053420a4280b4c4c32110590b2401027f10204100105341ba83084105103741bf830841051037210110041a200110041a0b2901027f10204100105341ba830841051037410a102b106d210110041a4280b4c4c3211015200110210b11001020410110534100101042018610150b1a01017f1020410110534100104f21004102102b2000106b10210b2001017f1020410110534100103a220041c483084104103710031a200010041a0b1c01017f1020410210534100104f220020004101104f1019200010210b6201037f230041106b220024001020105510542000410036020020001045210220002802001052104621012000200210560340200028020820002802044f4504402001200041f4830841081077102d10031a0c010b0b200110041a200041106a24000b5d02027f017e230041106b2200240010201055105420004100360200200010452101200028020010522000200110560340200028020820002802044f450440200041f483084108107b20027c21020c010b0b20021015200041106a24000b6401037f230041106b220024001020105510542000410036020020001045210220002802001052102c2201420010012000200210560340200028020820002802044f4504402001200041f4830841081077103b106c0c010b0b20011021200041106a24000b4501027f230041106b2200240010204100105341c483084104103721012000410a102b106d36020c20004280b4c4c3213703002000200136020820001058200041106a24000b9c0102047f017e230041106b22002400102041011053230041206b220124002001410c6a220210392002102f210320021030210420021031210202402001280210200128020c46044020012d001c044041b8d208410036020041bcd20841003a00000b2000200236020c2000200336020820002004370300200141206a24000c010b41dd8308410341a68008410e1044000b20001058200041106a24000b860101057f230041206b2200240010204100105341c48308410410372103410a102b106d210410462201420a106e20014280b4c4c321106e1046220241ba8308410510371048200241bf83084105103710482000200236021c20002001360218200020043602142000200336021020004280b4c4c321370308200041086a105f200041206a24000bd00101067f230041206b22032400102041011053200341086a2101230041406a220024002000411c6a220210392002104d21042002104e2105200041306a2002102e02402000280220200028021c460440200041106a2202200041386a2903003703002000200029033037030820002d002c044041b8d208410036020041bcd20841003a00000b200120002903083703002001200536021420012004360210200141086a2002290300370300200041406b24000c010b41dd8308410341a68008410e1044000b2001105f200341206a24000b0c00102041001053420110150b5f02017f017e102041011053027f024002404100101304404100101022014280025a0d012001a7220041ff017141034f0d020b20000c020b41dd8308410341a68008410e1044000b41dd8308410341808008410d1044000bad42ff018310150b5001037f230041206b2200240010204100105341c48308410410372101410a102b106d210220004280b4c4c3213703102000200136020420002002360208200041003602002000105a200041206a24000b8a0101057f230041206b2200240010204100105341c48308410410372103410a102b106d210410462201420a106e20014280b4c4c321106e1046220241ba8308410510371048200241bf83084105103710482000200436021c2000200336021820004280b4c4c3213703102000200236020820002001360204200041013602002000105a200041206a24000b940202057f027e230041206b22012400102041011053230041306b220024002000410c6a22021039200041003a00202002200041206a4101104c024002400240024020002d00200e020102000b41dd8308410341808008410d1044000b2000410c6a2202102f21042002103021062002103121020c010b2000410c6a2203104d21042003104e2102200041206a2003102e2000290328210520002903202106410121030b02402000280210200028020c46044020002d001c044041b8d208410036020041bcd20841003a00000b2001200537031820012006370310200120023602082001200436020420012003360200200041306a24000c010b41dd8308410341a68008410e1044000b2001105a200141206a24000b0c001020410010534101105e0b7d02037f017e230041106b220024001020105510542000410036020c2000410c6a220228020041c0d20828020048047f02400240200241dd83084103104a1010220342015804402003a741016b0d020c010b41dd8308410341fc830841121044000b410121010b20010541020b200028020c1052105e200041106a24000bab0102037f047e230041306b220024001020105510542000410036020c200041106a21012000410c6a220228020041c0d2082802004e047e420105200241dd83084103104b2103200241dd83084103104b2104200241dd83084103104b210542000b210620012005370318200120043703102001200337030820012006370300200028020c105220002903105004402000290328200029032020002903181015101510150b200041306a24000b1601017f1020410110534100102c22001012200010230b900102037f017e230041206b22002400102041011053200041a7830841071050360210200041046a200041106a1076102421032000280208210120002802042102200342a08d067d2003200342a08d06561b200028020c106120022001102c220110251a1026200041146a220220011056200241cd8108410b107b200041146a41cd8108410b107b1059200041206a24000b5701017f230041206b22002400102041011053200041a783084107105036021c200041106a2000411c6a10762000200028021836020c20002000290210370204200041046a2200280208200028020020002802041060000b0b0041e88208411c10ad010b0b0041848308411d10ad010bda0302057f027e230041f0006b2200240002400240024010622204107022011005450d002001102d220310052101200041003a00402000200136023c200020033602382000200136023420004100360230200041306a220141b480084119103d2102200141b48008411910672101104621030340200104402003200041306a41b480084119103d1048200141016b21010c010b0b20002802342000280230470d0120002d0040044041b8d208410036020041bcd20841003a00000b416c419484084100100c1a2004416c101f1a2000410c6a20021064200028022c450d00200041306a200210642000280250450d000240200041306a41e88208411c1063450440200041306a41848308411d10630d014197820841361000000b1055105420004100360254200041d8006a2201200041d4006a10492000280254105220002903682105200029036020002802582001200310561055200028025c200028026010510d03200510590c010b1055105420004100360254200041d8006a2201200041d4006a10492000280254105220002903682105200029036020002802582001200310561055200028025c200028026010510d02200510590b200041f0006a24000f0b41b48008411941a68008410e1069000b41cd8208411b1000000b7601067f230041206b22022400102041011053200241a783084107105036021c200241046a22032002411c6a1076200228020c21042002280204210520022802082106104621072002200636021820022005360214200220043602102002200736020c200220013602082002200036020420031066000b0b9d040300418080080b4d696e76616c69642076616c7565726563697069656e742061646472657373206e6f7420736574696e70757420746f6f206c6f6e6773657269616c697a6572206465636f6465206572726f723a200041ed80080bb503617267756d656e74206465636f6465206572726f722028293a20746f6f2066657720617267756d656e7473746f6f206d616e7920617267756d656e747377726f6e67206e756d626572206f6620617267756d656e747343425f434c4f5355524573796e6320726573756c74696e70757420746f6f2073686f72746572726f72206465636f64696e67204553445420617474726962757465733a20626164206172726179206c656e6774686e6f2063616c6c6261636b2066756e6374696f6e20776974682074686174206e616d652065786973747320696e20636f6e74726163746173796e632063616c6c20726573756c74206973206e6f74206f6b63616c6c6261636b5f746861745f72657475726e735f726573756c7463616c6c6261636b5f746861745f72657475726e735f6e6f7468696e67726573756c746164647265737372657475726e54776f55363474657374317465737432746573744e46542d616263646566544553542d616263646566617267636f6e74726163745f61646472657373617267737661722061726773696e707574206f7574206f662072616e676573756d00000070616e6963206f636375727265640041a484080b049cffffff", + "size": 12113, + "code": "0061736d01000000018e011760000060027f7f0060017f017f60017f0060027f7f017f6000017f60037f7f7f017f60037f7f7f0060047f7f7f7f017f60047f7f7f7f0060027f7e0060017f017e60017e0060037f7f7f017e60057f7f7f7e7f0060017e017f600b7f7f7e7f7f7f7f7f7f7f7f006000017e60067e7f7f7f7f7f017f60027e7f0060027f7e017f60027e7e0060057f7f7f7f7f0002ee072903656e760b7369676e616c4572726f72000103656e760e626967496e74536574496e743634000a03656e760a6d4275666665724e6577000503656e760d6d427566666572417070656e64000403656e760d6d42756666657246696e697368000203656e76106d4275666665724765744c656e677468000203656e76106d616e61676564534341646472657373000303656e7618626967496e7447657445787465726e616c42616c616e6365000103656e760f6d4275666665724765744279746573000403656e761c626967496e744765744553445445787465726e616c42616c616e6365000e03656e7609626967496e744e6577000f03656e76176d616e6167656447657445534454546f6b656e44617461001003656e760f6d4275666665725365744279746573000603656e76126d427566666572476574417267756d656e74000403656e76126d427566666572417070656e644279746573000603656e76126d616e616765645369676e616c4572726f72000303656e761b736d616c6c496e74476574556e7369676e6564417267756d656e74000b03656e7619626967496e74476574556e7369676e6564417267756d656e74000103656e7611676574417267756d656e744c656e677468000203656e7617626967496e744765745369676e6564417267756d656e74000103656e760f6765744e756d417267756d656e7473000503656e7616736d616c6c496e7446696e697368556e7369676e6564000c03656e7614736d616c6c496e7446696e6973685369676e6564000c03656e76186d616e616765644765744f726967696e616c547848617368000303656e7609626967496e744d756c000703656e7609626967496e74416464000703656e76196d42756666657246726f6d426967496e74556e7369676e6564000403656e76176d427566666572546f426967496e74556e7369676e6564000403656e7609626967496e74506f77000703656e76146d427566666572436f707942797465536c696365000803656e76126d42756666657253746f726167654c6f6164000403656e76136d42756666657253746f7261676553746f7265000403656e760e636865636b4e6f5061796d656e74000003656e7614626967496e7446696e697368556e7369676e6564000303656e760d6d616e6167656443616c6c6572000303656e7612626967496e7446696e6973685369676e6564000303656e760a6765744761734c656674001103656e761b6d616e61676564457865637574654f6e44657374436f6e74657874001203656e760f636c65616e52657475726e44617461000003656e76136d42756666657247657442797465536c696365000803656e76106d616e616765644173796e6343616c6c00090388018601090002050201020b020101130105040303020202060205140307080901060d05060201020407020203010300000102030301010301150307050506010803060909020401020a0802010207010101061602050d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105030100030616037f01418080080b7f004180d3080b7f004180d3080b07920b39066d656d6f7279020004696e6974007c0667657453756d007d03616464007e1372657475726e4e667450726f70657274696573007f1772657475726e4e6674456e756d50726f706572746965730080011d72657475726e4e6674456e756d4669656c647350726f706572746965730081011572657475726e46756e6769626c6542616c616e63650082011872657475726e4e6f6e46756e6769626c6542616c616e6365008301156e6f4172674e6f52657475726e456e64706f696e740084010c72657475726e43616c6c65720085011372657475726e4d616e616765644275666665720086011572657475726e436f6e7472616374416464726573730087010d72657475726e42696775696e740088010872657475726e55380089010972657475726e553136008a010972657475726e553332008b010972657475726e553634008c010c72657475726e553332566563008d010c72657475726e553634566563008e010f72657475726e427566666572566563008f011072657475726e42696775696e745665630090010c72657475726e54776f5536340091011072657475726e54776f427566666572730092012272657475726e4f6e654275666665724f6e65553634416e644f6e6542696775696e740093011472657475726e446f75626c654f665536344172670094011872657475726e446f75626c654f6642696775696e744172670095011772657475726e417070656e6465644275666665724172670096011772657475726e53756d54776f42696775696e74417267730097011b72657475726e436f6e6361744d756c7469427566666572417267730098011572657475726e53756d4d756c7469553634417267730099011972657475726e53756d4d756c746942696775696e7441726773009a011272657475726e437573746f6d537472756374009b011572657475726e437573746f6d537472756374417267009c012272657475726e437573746f6d53747275637457697468537472756374416e64566563009d012572657475726e437573746f6d53747275637457697468537472756374416e64566563417267009e011072657475726e437573746f6d456e756d009f011372657475726e437573746f6d456e756d41726700a0011f72657475726e4669727374437573746f6d456e756d576974684669656c647300a1012072657475726e5365636f6e64437573746f6d456e756d576974684669656c647300a2011d72657475726e437573746f6d456e756d576974684669656c647341726700a3011772657475726e4f7074696f6e616c56616c7565426f6f6c00a4011a72657475726e4f7074696f6e616c56616c7565426f6f6c41726700a5011372657475726e4d756c746956616c756554776f00a6010f72657475726e426967496e7441726700a7011a72657475726e537472756374576974685475706c654669656c6400a8011f63616c6c416e6f74686572436f6e747261637452657475726e54776f55363400a9012e6173796e6343616c6c416e6f74686572436f6e747261637452657475726e54776f5536344e6f43616c6c6261636b00aa01396173796e6343616c6c416e6f74686572436f6e747261637452657475726e54776f5536345769746852657475726e696e6743616c6c6261636b00ab013c6173796e6343616c6c416e6f74686572436f6e747261637452657475726e54776f553634576974684e6f6e52657475726e696e6743616c6c6261636b00ac010863616c6c4261636b00ad0107757067726164650084011f72657475726e4669727374437573746f6d456e756d5769746856616c75657300a1012072657475726e5365636f6e64437573746f6d456e756d5769746856616c75657300a2011d72657475726e437573746f6d456e756d5769746856616c75657341726700a3010a5f5f646174615f656e6403010b5f5f686561705f6261736503020aea4486011b00200120034b0440102a000b20002001360204200020023602000b0b0041918408410e1000000b1301017f102c22012000ad42ff0183100120010b1901017f41a0840841a0840828020041016b220036020020000b0f01017f10022201200010031a20010b2902017f017e2001102f210220011030210320002001103136020c20002002360208200020033703000b5801047f230041106b220124002000106a2102200141086a200028020820002802002203200210682001280208410147044041dd8308410341d88108410f1044000b200128020c2000200220036a360200200141106a24000b820102017e017f230041106b22022400200242003703082000200241086a4108104e20022903082101200241106a2400200142388620014280fe0383422886842001428080fc0783421886200142808080f80f834208868484200142088842808080f80f832001421888428080fc07838420014228884280fe038320014238888484840b08002000102f103b0b1d00200028020820011033200029030020011034200028020c200110350b5001027f230041106b22022400200220001005220341187420034180fe03714108747220034108764180fe03712003411876727236020c20012002410c6a410410732001200010031a200241106a24000b7701017f230041106b220224002002200042388620004280fe0383422886842000428080fc0783421886200042808080f80f834208868484200042088842808080f80f832000421888428080fc07838420004228884280fe038320004238888484843703082001200241086a41081073200241106a24000b0a002000103e200110330b08004101410010370b1101017f102c220220002001100c1a20020b0700200010041a0b3101027f4100103a220210052101200041003a00102000200136020c2000200236020820002001360204200041003602000b0d002000102c2200100d1a20000b0d002000102c2200101b1a20000b0e00200041e781084120103d103b0b5a01037f230041106b2203240020002001200210672104200341086a20002802082000280200220520041068200328020841014704402001200241d88108410f1069000b200328020c2000200420056a360200200341106a24000b0f01017f102c22012000101a1a20010b0c01017f102c2200100620000b4c01037f103f2103102c2102200041feffffff074604402003104141c0d2082002100720020f0b20001005210420031041200041e0d20810081a41c0d20841e0d208200420012002100920020b0b00200041c0d20810081a0bad0101077f230041106b220324002001200242064200100a220210022204100222051002220610022207100222014200100a220810022209100b20011005450440200141cd80084120100c1a0b200341003b010e200441002003410e6a410210431a200041013a001c200020023602002000200936021820002008360214200020013602102000200736020c2000200636020820002005360204200020032d000e4100473a001d200341106a24000b0f00200020012003200210274100470b2e01017f41ed800841171037220420002001100e1a2004418481084103100e1a200420022003100e1a2004100f000bbf0102027e037f200141a18308410610461010220242808080801054044002402002a7220641ebde0147410020061b450440200141a183084106104722034280808080708321022003a72104200141a183084106104721030c010b027e200128020041bcd2082802004e0440410121051048210442000c010b41012105200141a1830841061049210442000b21020b200020033703102000200636020420002005360200200020022004ad843703080f0b41a18308410641a68008410e1044000b2f01017f2000280200220341bcd2082802004e0440200120024187810841111044000b2000200341016a36020020030b0c00200020012002104610100b1101017f102c220041014100100c1a20000b0c002000200120021046103a0b2e01017f104821010340200028020041bcd2082802004e4504402001200041f0830841041049104b0c010b0b20010b4601017f230041106b220224002002200141187420014180fe03714108747220014108764180fe03712001411876727236020c20002002410c6a4104100e1a200241106a24000b0c002000102c2200101120000b2101017f4100103a220210054120470440200020014187820841101044000b20020b3100200041086a200028020020012002106f044041dd8308410341d88108410f1044000b2000200028020020026a3602000b2a01027f2000106a210110482102037f2001047f200220001030106e200141016b21010c010520020b0b0b2a01027f2000106a210110482102037f2001047f20022000102f104b200141016b21010c010520020b0b0b1900200041bcd2082802004e04400f0b4198810841121000000b1400200020014d04400f0b4198810841121000000b1400101420004604400f0b41aa810841191000000b190041bcd20828020041004e04400f0b4187810841111000000b0b0041bcd20810143602000b1f01017f2001105721022000410036020820002002360204200020013602000b0900200010054102760b2701017f10362101200028020820011033200029030020011034200028020c20011035200110380b2401017f1036210120002802102001105a200041146a2001105b200020011032200110380baf0102017e047f230041106b22032400200010054103762001107420001005210503402005200441086a2206490440200341106a2400052003420037030820002004200341086a410810651a2003290308220242388620024280fe0383422886842002428080fc0783421886200242808080f80f834208868484200242088842808080f80f832002421888428080fc07838420024228884280fe0383200242388884848420011034200621040c010b0b0b5b01027f230041206b220224002000280200220310572001107420022003100536021c20024100360218200220003602140340200241086a200241146a107520022802080440200228020c200110330c0105200241206a24000b0b0b6001027f20002802002102103621010240200245044041002001105d2000280204200110332000290310200110342000280208200110350c010b41012001105d20002802042001105a200041086a2001105b200041106a200110320b200110380b2601017f230041106b22022400200220003a000f20012002410f6a41011073200241106a24000b0a0020001015200110150b1700200041ff017141024704402000ad42ff018310160b0b0d0020001061200120021028000b0a0041764200100141760b1b01027f102c2200101741c38108410a10372201200010031a20010b5201037f2002200028022046047f02402002450d00034020002d0000220420012d00002205460440200041016a2100200141016a2101200241016b22020d010c020b0b200420056b21030b20030541010b450b9c0101057f230041306b22022400200241286a22034200370300200241206a22044200370300200241186a2205420037030020024200370310200241086a200110052206200241106a41201029200141002002280208200228020c10651a20002006360220200041186a2003290300370000200041106a2004290300370000200041086a200529030037000020002002290310370000200241306a24000b0c00200020012002200310430b4901047f10624101410010372101200028020021032000280204220420011074200120032004100e1a200041086a2001105b2001101f1a200028020c200028021020002802141060000b5201017f230041106b220324002003410036020c20002003410c6a4104200120021078200328020c2100200341106a2400200041187420004180fe03714108747220004108764180fe0371200041187672720b1f0020012002200310022201101d21022000200136020420002002453602000b1600200020011037220020022003100e1a2000100f000b4e01017f230041106b220124002001410036020c20002001410c6a4104104e200128020c2100200141106a2400200041187420004180fe03714108747220004108764180fe0371200041187672720b0c00200020002001101820000b0a0020002000200110190b1801017f102c2101417242121001200120004172101c20010b7801017f230041106b220224002002200142388620014280fe0383422886842001428080fc0783421886200142808080f80f834208868484200142088842808080f80f832001421888428080fc07838420014228884280fe038320014238888484843703082000200241086a4108100e1a200241106a24000b850401077f230041106b2206240002400240027f024020002d000845044020002802002204100522054190ce004b0d0141b8d2082d00000d0141b4d208200536020041b8d20841013a0000200641086a200541a484084190ce001029200441002006280208200628020c10651a20002d0008044041b4d208410036020041b8d20841003a00000b200041013a00080b4101200120036a220041b4d2082802004b0d011a20002001490d0220004190ce004b0d03200141a484086a2100200341104f04402002410020026b41037122046a210520040440200021010340200220012d00003a0000200141016a2101200241016a22022005490d000b0b2005200320046b2203417c7122076a21020240200020046a22044103710440200741004c0d012004410374220141187121082004417c71220941046a2100410020016b411871210a2009280200210103402005200120087620002802002201200a7472360200200041046a2100200541046a22052002490d000b0c010b200741004c0d0020042100034020052000280200360200200041046a2100200541046a22052002490d000b0b20034103712103200420076a21000b20030440200220036a21010340200220002d00003a0000200041016a2100200241016a22022001490d000b0b41000c010b200041003a0008200420012002200310650b200641106a24000f0b102a000b102a000b0d002000102c2200101e1a20000b0b0020002001103e101f1a0b080020001070103b0b0b00200020012002100e1a0b4501017f230041106b220224002002200041187420004180fe03714108747220004108764180fe03712000411876727236020c20012002410c6a41041073200241106a24000b8a0101047f230041106b220324002001280204220241046a220420012802084b047f41000520012802002003410036020c28020020022003410c6a410410651a200328020c210220012004360204200241187420024180fe03714108747220024108764180fe037120024118767272210241010b21012000200236020420002001360200200341106a24000b4a01017f20012802002102200141feffffff07360200200241feffffff07460440418d800841191000000b41ae8308410c103721012000104836020420002001360200200020023602080b7b01027f230041106b22032400200028020821042003410036020c200028020020044102742003410c6a41041065450440200328020c21012000200441016a360208200141187420014180fe03714108747220014108764180fe037120014118767272102d200341106a24000f0b200120024187810841111044000b2f00200041086a200028020020012002106f04402003200441d88108410f1069000b2000200028020020026a3602000b3101017f230041106b22012400200141003a000f20002001410f6a410141e781084120107820012d000f200141106a24000b0a00418e8408410310370bab0102017e027f230041106b22042400200020012002107721002004420037030820001005220541094f04402001200241a68008410e1044000b20004100200420056b41106a200510431a20042903082103200441106a2400200342388620034280fe0383422886842003428080fc0783421886200342808080f80f834208868484200342088842808080f80f832003421888428080fc07838420034228884280fe038320034238888484840b1601017f1020410110534100104c2100107a200010710b0e00102041001053107a107210210b2201037f1020410110534100104c2100107a2201107222022000106c2001200210710bc00101037f230041406a2200240010204100105341c88308410a103721012000410c6a103f200110422000280218102d220210052101200041003a003c2000200136023820002002360234200020013602302000410036022c2000412c6a220241e781084120103d21012002103c21022000280230200028022c46044020002d003c044041b4d208410036020041b8d20841003a00000b200110362201103320022001103520011038200041406b24000f0b41e78108412041a68008410e1069000b9b0202037f017e230041406a2200240010204100105341c88308410a103721012000410c6a103f200110420240024002402000280218102d220110050440200110052102200041003a003c2000200236023820002001360234200020023602302000410036022c410121010240024002402000412c6a107941ff01710e020201000b41e78108412041808008410d1069000b2000412c6a220141e781084120103dad2001103cad422086842103410021010b2000280230200028022c470d0320002d003c044041b4d208410036020041b8d20841003a00000b2001450d010b420010150c010b410110362201105d2003a7200110332003422088a720011035200110380b200041406b24000f0b41e78108412041a68008410e1069000be20101047f230041406a2200240010204100105341c88308410a103721012000410c6a103f200110422000280218102d220210052101200041003a003c2000200136023820002002360234200020013602302000410036022c02402000412c6a107941ff01714504402000412c6a220141e781084120103d2001103c21032000280230200028022c470d0120002d003c044041b4d208410036020041b8d20841003a00000b410010362201105d2001103320032001103520011038200041406b24000f0b41e78108412041808008410d1069000b41e78108412041a68008410e1069000b160010204100105341d28308410b10374200104010210b160010204100105341c88308410a10374206104010210b08001020410010530b1501017f102041001053102c22001022200010041a0b130010204100105341c483084104103710041a0b130010204101105341e083084110104d10041a0b1000102041001053410a102b106d10210b0c00102041001053420310150b0d0010204100105342f40310150b0e0010204100105342c09a0c10150b10001020410010534280b4c4c32110150b1f01017f10204100105310482200410a104b200041c09a0c104b200010041a0b2101017f10204100105310482200420a106e20004280b4c4c321106e200010041a0b7f01037f230041206b220024001020410010531048220141ba830841051037104b200141bf830841051037104b200020013602101036210220002001100536021c200041003602182000200041106a3602140340200041086a200041146a107520002802080440200028020c200210330c010b0b20021038200041206a24000b9a0101067f230041106b2201240010204100105310482202410a102b106d104b2002410a102b106d4102102b106b104b103621032002100521040340200041046a220520044b4504402001410036020c200220002001410c6a410410431a200128020c220041187420004180fe03714108747220004108764180fe03712000411876727220031035200521000c010b0b20031038200141106a24000b1200102041001053420a4280b4c4c321105e0b2401027f10204100105341ba83084105103741bf830841051037210110041a200110041a0b2901027f10204100105341ba830841051037410a102b106d210110041a4280b4c4c3211015200110210b11001020410110534100101042018610150b1a01017f1020410110534100104c21004102102b2000106b10210b2001017f1020410110534100103a220041c483084104103710031a200010041a0b1c01017f1020410210534100104c220020004101104c1019200010210b6a01047f230041106b2200240010201055105420004100360204200041046a2202104a210320002802041051104821012002200310560340200028020c20002802084f4504402001200041046a41f4830841081077102d10031a0c010b0b200110041a200041106a24000b6502037f017e230041106b2200240010201055105420004100360204200041046a2201104a2102200028020410512001200210560340200028020c20002802084f450440200041046a41f483084108107b20037c21030c010b0b20031015200041106a24000b6c01047f230041106b2200240010201055105420004100360204200041046a2202104a210320002802041051102c2201420010012002200310560340200028020c20002802084f4504402001200041046a41f4830841081077103b106c0c010b0b20011021200041106a24000b4501027f230041106b2200240010204100105341c483084104103721012000410a102b106d36020c20004280b4c4c3213703002000200136020820001058200041106a24000b9c0102047f017e230041106b22002400102041011053230041206b220124002001410c6a220210392002102f210320021030210420021031210202402001280210200128020c46044020012d001c044041b4d208410036020041b8d20841003a00000b2000200236020c2000200336020820002004370300200141206a24000c010b41dd8308410341a68008410e1044000b20001058200041106a24000b860101057f230041206b2200240010204100105341c48308410410372103410a102b106d210410482201420a106e20014280b4c4c321106e1048220241ba830841051037104b200241bf830841051037104b2000200236021c20002001360218200020043602142000200336021020004280b4c4c321370308200041086a1059200041206a24000bd00101067f230041206b22032400102041011053200341086a2101230041406a220024002000411c6a220210392002104f2104200210502105200041306a2002102e02402000280220200028021c460440200041106a2202200041386a2903003703002000200029033037030820002d002c044041b4d208410036020041b8d20841003a00000b200120002903083703002001200536021420012004360210200141086a2002290300370300200041406b24000c010b41dd8308410341a68008410e1044000b20011059200341206a24000b0c00102041001053420110150b5f02017f017e102041011053027f024002404100101204404100101022014280025a0d012001a7220041ff017141034f0d020b20000c020b41dd8308410341a68008410e1044000b41dd8308410341808008410d1044000bad42ff018310150b5001037f230041206b2200240010204100105341c48308410410372101410a102b106d210220004280b4c4c3213703102000200136020420002002360208200041003602002000105c200041206a24000b8a0101057f230041206b2200240010204100105341c48308410410372103410a102b106d210410482201420a106e20014280b4c4c321106e1048220241ba830841051037104b200241bf830841051037104b2000200436021c2000200336021820004280b4c4c3213703102000200236020820002001360204200041013602002000105c200041206a24000b940202057f027e230041206b22012400102041011053230041306b220024002000410c6a22021039200041003a00202002200041206a4101104e024002400240024020002d00200e020102000b41dd8308410341808008410d1044000b2000410c6a2202102f21042002103021062002103121020c010b2000410c6a2203104f2104200310502102200041206a2003102e2000290328210520002903202106410121030b02402000280210200028020c46044020002d001c044041b4d208410036020041b8d20841003a00000b2001200537031820012006370310200120023602082001200436020420012003360200200041306a24000c010b41dd8308410341a68008410e1044000b2001105c200141206a24000b0c001020410010534101105f0b7d02037f017e230041106b220024001020105510542000410036020c2000410c6a220228020041bcd20828020048047f02400240200241dd8308410310461010220342015804402003a741016b0d020c010b41dd8308410341fc830841121044000b410121010b20010541020b200028020c1051105f200041106a24000bab0102037f047e230041306b220024001020105510542000410036020c200041106a21012000410c6a220228020041bcd2082802004e047e420105200241dd8308410310472103200241dd8308410310472104200241dd830841031047210542000b210620012005370318200120043703102001200337030820012006370300200028020c105120002903105004402000290328200029032020002903181015101510150b200041306a24000b1601017f1020410110534100102c22001013200010230ba80101057f230041106b22012400102041011053200141086a2102230041206b220024002000410c6a220310392003103121042003102f210302402000280210200028020c46044020002d001c044041b4d208410036020041b8d20841003a00000b2002200336020420022004360200200041206a24000c010b41dd8308410341a68008410e1044000b200128020c20012802081036220010352000103320001038200141106a24000b900102037f017e230041206b22002400102041011053200041a783084107104d360210200041046a200041106a1076102421032000280208210120002802042102200342a08d067d2003200342a08d06561b200028020c106120022001102c220110251a1026200041146a220220011056200241cd8108410b107b200041146a41cd8108410b107b105e200041206a24000b3b01017f230041106b22002400102041011053200041a783084107104d36020c20002000410c6a10762000280208200028020020002802041060000b0b0041e88208411c10ae010b0b0041848308411d10ae010bd80302057f027e230041f0006b2200240002400240024010622204107022011005450d002001102d220310052101200041003a00402000200136023c200020033602382000200136023420004100360230200041306a220141b480084119103d2102200141b48008411910672101104821030340200104402003200041306a41b480084119103d104b200141016b21010c010b0b20002802342000280230470d0120002d0040044041b4d208410036020041b8d20841003a00000b416c41014100100c1a2004416c101f1a2000410c6a20021064200028022c450d00200041306a200210642000280250450d000240200041306a41e88208411c1063450440200041306a41848308411d10630d014197820841361000000b1055105420004100360254200041d8006a2201200041d4006a10452000280254105120002903682105200029036020002802582001200310561055200028025c200028026010520d032005105e0c010b1055105420004100360254200041d8006a2201200041d4006a10452000280254105120002903682105200029036020002802582001200310561055200028025c200028026010520d022005105e0b200041f0006a24000f0b41b48008411941a68008410e1069000b41cd8208411b1000000b6701017f230041306b22022400102041011053200241a783084107104d36022c200241206a2002412c6a1076200210483602102002200136020c200220003602082002200228022436021c2002200228022036021820022002280228360214200241086a1066000b0b9a040300418080080b4d696e76616c69642076616c7565726563697069656e742061646472657373206e6f7420736574696e70757420746f6f206c6f6e6773657269616c697a6572206465636f6465206572726f723a200041ed80080bb203617267756d656e74206465636f6465206572726f722028293a20746f6f2066657720617267756d656e7473746f6f206d616e7920617267756d656e747377726f6e67206e756d626572206f6620617267756d656e747343425f434c4f5355524573796e6320726573756c74696e70757420746f6f2073686f72746572726f72206465636f64696e67204553445420617474726962757465733a20626164206172726179206c656e6774686e6f2063616c6c6261636b2066756e6374696f6e20776974682074686174206e616d652065786973747320696e20636f6e74726163746173796e632063616c6c20726573756c74206973206e6f74206f6b63616c6c6261636b5f746861745f72657475726e735f726573756c7463616c6c6261636b5f746861745f72657475726e735f6e6f7468696e67726573756c746164647265737372657475726e54776f55363474657374317465737432746573744e46542d616263646566544553542d616263646566617267636f6e74726163745f61646472657373617267737661722061726773696e707574206f7574206f662072616e676573756d70616e6963206f636375727265640041a084080b049cffffff", "report": { "imports": [ "bigIntAdd", diff --git a/tester/contract/output/tester-contract.wasm b/tester/contract/output/tester-contract.wasm index da1ad6c..17530f0 100755 Binary files a/tester/contract/output/tester-contract.wasm and b/tester/contract/output/tester-contract.wasm differ diff --git a/tester/contract/src/printer.rs b/tester/contract/src/printer.rs index 36cbf9a..d6bd9e5 100644 --- a/tester/contract/src/printer.rs +++ b/tester/contract/src/printer.rs @@ -51,6 +51,11 @@ pub enum CustomEnumWithFields { Second { second_first: ManagedVec, second_second: ManagedVec>, second_third: CustomStruct } } +#[derive(TopEncode, TopDecode, NestedEncode, NestedDecode, TypeAbi)] +struct CustomStructWithTupleField { + pub tuple: (BigUint, ManagedBuffer) +} + #[multiversx_sc::module] pub trait PrinterModule: ContractBase { #[endpoint(returnNftProperties)] @@ -402,4 +407,12 @@ pub trait PrinterModule: ContractBase { fn return_bigint_arg(&self, value: BigInt) -> BigInt { value } + + #[endpoint(returnStructWithTupleField)] + fn return_struct_with_tuple_field( + &self, + arg: CustomStructWithTupleField + ) -> CustomStructWithTupleField { + arg + } } \ No newline at end of file diff --git a/tester/contract/wasm/Cargo.lock b/tester/contract/wasm/Cargo.lock index f97c504..412d234 100644 --- a/tester/contract/wasm/Cargo.lock +++ b/tester/contract/wasm/Cargo.lock @@ -162,7 +162,7 @@ dependencies = [ [[package]] name = "tester-contract" -version = "0.0.0" +version = "0.1.7-beta.1" dependencies = [ "multiversx-sc", ] diff --git a/tester/contract/wasm/src/lib.rs b/tester/contract/wasm/src/lib.rs index d953337..43f2c60 100644 --- a/tester/contract/wasm/src/lib.rs +++ b/tester/contract/wasm/src/lib.rs @@ -6,9 +6,9 @@ // Init: 1 // Upgrade: 1 -// Endpoints: 50 +// Endpoints: 51 // Async Callback: 1 -// Total number of exported functions: 53 +// Total number of exported functions: 54 #![no_std] @@ -66,6 +66,7 @@ multiversx_sc_wasm_adapter::endpoints! { returnOptionalValueBoolArg => return_optional_value_bool_arg returnMultiValueTwo => return_optional_multi_value_three_arg returnBigIntArg => return_bigint_arg + returnStructWithTupleField => return_struct_with_tuple_field callAnotherContractReturnTwoU64 => call_another_contract_return_u64 asyncCallAnotherContractReturnTwoU64NoCallback => async_call_another_contract_return_u64_no_callback asyncCallAnotherContractReturnTwoU64WithReturningCallback => async_call_another_contract_return_u64_with_returning_callback