From fa38bc4025968e9ac43622a50f54609b12ef281a Mon Sep 17 00:00:00 2001 From: Mike Voronov Date: Thu, 13 May 2021 00:02:33 +0300 Subject: [PATCH] Add marine tests examples (#85) --- Cargo.lock | 301 ++++++++++++++++-- examples/call_parameters/Cargo.toml | 3 + .../artifacts/call_parameters.wasm | Bin 71968 -> 72298 bytes examples/call_parameters/src/main.rs | 37 +++ examples/greeting/Cargo.toml | 3 + examples/greeting/artifacts/greeting.wasm | Bin 67407 -> 67752 bytes examples/greeting/src/main.rs | 17 + .../ipfs-node/artifacts/ipfs_effector.wasm | Bin 88978 -> 89410 bytes examples/ipfs-node/artifacts/ipfs_pure.wasm | Bin 88792 -> 89480 bytes .../records/artifacts/records_effector.wasm | Bin 68728 -> 69222 bytes examples/records/artifacts/records_pure.wasm | Bin 69341 -> 69927 bytes examples/sqlite/artifacts/sqlite_test.wasm | Bin 98847 -> 98847 bytes .../artifacts/curl_adapter.wasm | Bin 80855 -> 81198 bytes examples/url-downloader/artifacts/facade.wasm | Bin 79476 -> 80319 bytes .../artifacts/local_storage.wasm | Bin 87716 -> 88146 bytes .../artifacts/arguments_passing_effector.wasm | Bin 87657 -> 79610 bytes .../artifacts/arguments_passing_pure.wasm | Bin 98994 -> 90951 bytes .../artifacts/arrays_passing_effector.wasm | Bin 86187 -> 86187 bytes .../artifacts/arrays_passing_pure.wasm | Bin 98787 -> 98787 bytes .../artifacts/records_passing_effector.wasm | Bin 70574 -> 70574 bytes .../artifacts/records_passing_pure.wasm | Bin 71887 -> 71887 bytes 21 files changed, 340 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ac5fe2ee..08408092 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -192,6 +192,7 @@ name = "call_parameters" version = "0.1.0" dependencies = [ "fluence", + "fluence-test", ] [[package]] @@ -441,8 +442,18 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.10.2", + "darling_macro 0.10.2", +] + +[[package]] +name = "darling" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c" +dependencies = [ + "darling_core 0.12.4", + "darling_macro 0.12.4", ] [[package]] @@ -459,13 +470,38 @@ dependencies = [ "syn", ] +[[package]] +name = "darling_core" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn", +] + [[package]] name = "darling_macro" version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" dependencies = [ - "darling_core", + "darling_core 0.10.2", + "quote", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a" +dependencies = [ + "darling_core 0.12.4", "quote", "syn", ] @@ -476,7 +512,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0" dependencies = [ - "darling", + "darling 0.10.2", "derive_builder_core", "proc-macro2", "quote", @@ -489,7 +525,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef" dependencies = [ - "darling", + "darling 0.10.2", "proc-macro2", "quote", "syn", @@ -678,7 +714,23 @@ dependencies = [ name = "fluence-app-service" version = "0.7.2" dependencies = [ - "fluence-faas", + "fluence-faas 0.7.2", + "log", + "maplit", + "serde", + "serde_derive", + "serde_json", + "toml", + "wasmer-wasi-fl", +] + +[[package]] +name = "fluence-app-service" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3b1d2c199d6bc140c9ec5ffa323ebd34ac134fb37828bbfd7aeed0339cab78" +dependencies = [ + "fluence-faas 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "log", "maplit", "serde", @@ -698,8 +750,8 @@ dependencies = [ "fluence-sdk-main", "itertools 0.9.0", "log", - "marine-runtime", - "marine-utils", + "marine-runtime 0.5.0", + "marine-utils 0.2.0", "once_cell", "pretty_assertions", "safe-transmute", @@ -714,6 +766,31 @@ dependencies = [ "wasmer-wasi-fl", ] +[[package]] +name = "fluence-faas" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9421599c5540e50f3854a0a48702c31408ac1cfb06314fe391792daa3a9d800b" +dependencies = [ + "cmd_lib", + "fluence", + "fluence-sdk-main", + "itertools 0.9.0", + "log", + "marine-runtime 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "marine-utils 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "safe-transmute", + "serde", + "serde_derive", + "serde_json", + "thiserror", + "toml", + "wasmer-interface-types-fl", + "wasmer-runtime-core-fl", + "wasmer-runtime-fl", + "wasmer-wasi-fl", +] + [[package]] name = "fluence-it-types" version = "0.3.0" @@ -737,6 +814,33 @@ dependencies = [ "serde", ] +[[package]] +name = "fluence-sdk-wit" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab3ed39703b72e0e52bce9e1760746c73f65a5694c8da4dec751d3bfdec15b8" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", + "uuid", +] + +[[package]] +name = "fluence-test" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7be0d7928e5e6a74a8e303b7f539116fdb4043f5788f78e9eaf32c53700c4c18" +dependencies = [ + "fluence-app-service 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "marine-test-macro", + "serde", + "serde_json", + "uuid", +] + [[package]] name = "fnv" version = "1.0.7" @@ -1342,15 +1446,15 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "marine" -version = "0.6.0" +version = "0.6.1" dependencies = [ "anyhow", "check-latest", "clap", "exitfailure", - "marine-it-generator", - "marine-it-parser", - "marine-module-info-parser", + "marine-it-generator 0.5.1", + "marine-it-parser 0.6.0", + "marine-module-info-parser 0.1.0", "semver 0.11.0", "serde", "serde_json", @@ -1361,11 +1465,29 @@ dependencies = [ [[package]] name = "marine-it-generator" -version = "0.5.0" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245d4971ee68559236cdd34e6d57ae769dab68c6c9ed4d390f14ae5830880c8f" +dependencies = [ + "cargo_toml", + "fluence-sdk-wit", + "it-lilo", + "marine-it-parser 0.5.0", + "once_cell", + "serde", + "serde_json", + "thiserror", + "walrus", + "wasmer-interface-types-fl", +] + +[[package]] +name = "marine-it-generator" +version = "0.5.1" dependencies = [ "cargo_toml", "it-lilo", - "marine-it-parser", + "marine-it-parser 0.6.0", "marine-macro-impl", "once_cell", "serde", @@ -1375,6 +1497,16 @@ dependencies = [ "wasmer-interface-types-fl", ] +[[package]] +name = "marine-it-interfaces" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97c533789e72808630cc35b5d14d286382236282525f82ddce8fb47eb9d659e8" +dependencies = [ + "multimap", + "wasmer-interface-types-fl", +] + [[package]] name = "marine-it-interfaces" version = "0.4.0" @@ -1383,12 +1515,29 @@ dependencies = [ "wasmer-interface-types-fl", ] +[[package]] +name = "marine-it-parser" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e59c7067a18b9e4aebe67bee033638fae97d6fe4fb00f70f9a509eb5d03d1c5d" +dependencies = [ + "anyhow", + "marine-it-interfaces 0.3.0", + "nom", + "semver 0.11.0", + "serde", + "thiserror", + "walrus", + "wasmer-interface-types-fl", + "wasmer-runtime-core-fl", +] + [[package]] name = "marine-it-parser" version = "0.6.0" dependencies = [ "anyhow", - "marine-it-interfaces", + "marine-it-interfaces 0.4.0", "nom", "semver 0.11.0", "serde", @@ -1435,6 +1584,22 @@ dependencies = [ "wasmer-runtime-core-fl", ] +[[package]] +name = "marine-module-info-parser" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003017e314cebb5c774569a4257f5eca82106cff170b124c6712f2fcd3ceefef" +dependencies = [ + "anyhow", + "chrono", + "fluence-sdk-main", + "semver 0.11.0", + "serde", + "thiserror", + "walrus", + "wasmer-runtime-core-fl", +] + [[package]] name = "marine-runtime" version = "0.5.0" @@ -1444,11 +1609,11 @@ dependencies = [ "bytes 0.5.6", "it-lilo", "log", - "marine-it-generator", - "marine-it-interfaces", - "marine-it-parser", - "marine-module-info-parser", - "marine-utils", + "marine-it-generator 0.5.1", + "marine-it-interfaces 0.4.0", + "marine-it-parser 0.6.0", + "marine-module-info-parser 0.1.0", + "marine-utils 0.2.0", "multimap", "once_cell", "parity-wasm", @@ -1465,6 +1630,35 @@ dependencies = [ "wasmer-wasi-fl", ] +[[package]] +name = "marine-runtime" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8722580724555bf87a1128780f7dd3f700bbc6add690d1efe7e7fc736edf1a1" +dependencies = [ + "anyhow", + "boolinator", + "it-lilo", + "log", + "marine-it-generator 0.4.0", + "marine-it-interfaces 0.3.0", + "marine-it-parser 0.5.0", + "marine-module-info-parser 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "marine-utils 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "multimap", + "once_cell", + "parity-wasm", + "paste", + "pwasm-utils", + "semver 0.11.0", + "serde", + "thiserror", + "wasmer-interface-types-fl", + "wasmer-runtime-core-fl", + "wasmer-runtime-fl", + "wasmer-wasi-fl", +] + [[package]] name = "marine-sqlite-connector" version = "0.4.1" @@ -1474,6 +1668,35 @@ dependencies = [ "fluence", ] +[[package]] +name = "marine-test-macro" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709eebc4ee6c8e6aa49066ab066c9f137d9cf164f298f578a67bfb11a0508f65" +dependencies = [ + "marine-test-macro-impl", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "marine-test-macro-impl" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2432fd5233a088981c79324668b76f3ee2ae6d313d4522b5490226e5e7827ce" +dependencies = [ + "darling 0.12.4", + "fluence-app-service 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", + "marine-it-parser 0.5.0", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", + "thiserror", +] + [[package]] name = "marine-timestamp-macro" version = "0.6.2" @@ -1488,6 +1711,12 @@ dependencies = [ name = "marine-utils" version = "0.2.0" +[[package]] +name = "marine-utils" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dc5838acba84ce4d802d672afd0814fae0ae7098021ae5b06d975e70d09f812" + [[package]] name = "matches" version = "0.1.8" @@ -1606,7 +1835,7 @@ dependencies = [ "check-latest", "clap", "env_logger 0.7.1", - "fluence-app-service", + "fluence-app-service 0.7.2", "fluence-sdk-main", "itertools 0.9.0", "log", @@ -1927,6 +2156,29 @@ dependencies = [ "output_vt100", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.26" @@ -2495,6 +2747,12 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "subtle" version = "2.4.0" @@ -3082,6 +3340,7 @@ name = "wasm-greeting" version = "0.1.0" dependencies = [ "fluence", + "fluence-test", ] [[package]] diff --git a/examples/call_parameters/Cargo.toml b/examples/call_parameters/Cargo.toml index 318b340f..4e688e52 100644 --- a/examples/call_parameters/Cargo.toml +++ b/examples/call_parameters/Cargo.toml @@ -11,3 +11,6 @@ path = "src/main.rs" [dependencies] fluence = "0.6.4" + +[dev-dependencies] +fluence-test = "0.1.7" diff --git a/examples/call_parameters/artifacts/call_parameters.wasm b/examples/call_parameters/artifacts/call_parameters.wasm index aa30357b7826819e7bffaeb4f5d47e4b4c8c2e14..86f964aaf8e59d4b38d6b9011ba2fb9e3645b83a 100755 GIT binary patch delta 763 zcmah{J!lj`6yDjp+{L|^yPOeENTWtEg~{Ch&V~euF@=Q~Ob{F0%+Ac2jpyz$J13-y zU=wT?y_AwzNCGNZ!A@+gY_zpe2m~8Nxiq44ClR%A;Nv~sd*AmS^WMYl?C$gIvjw%# zi|h4>V8N6JiKkvqUaOXRW@tWomU}#1_e?twLgME_X6dH=pFY znZ1pKZmlLGn}xK!b?5YmH5PL+Mx?CQz#QLVg7J8i$AikR2c$VAv6ei3yD)5at2v9C zbs>w^21?3;OioLjkjP3X>F~QN<&tS2gCNI8SSLEO-1OegOSNP;xM4P^=lmpeEB1!_bFTGTFvu0&QCJ zDbX#2d}yMX^U1)jlkT*|P*I=P;kadt>u}UTw((+V5PZm}?Ypf@6)*()TJ;JrSHRJW zQ8N^bo(n?Em*)fz!W);n|CH_JOn4-sOzmNuM_kLrf<{fzwKAfCLw}L~L!0Q(C2ax> z%rVmBfmohjVS?jEor!F|!5H@%H#IG0{B}T?7f|hBtr-##M4=bT4QmIMV(B)pSkyrO zv|Rn{@6G4>f-n$XS40y36gjdlNI1hHl1)0DWKn)Ga%0i)3i5Sp8ZSVcR7bvCF44rfkaVgF3-n}=-N#$}5ZgCSQ z;n8Ldwo`&tdV-rcc5_j>bx{Ze7e$GS;I;aNFJJh6e&65ZZDnv$dDB5IK|8fsNRmAb znJFE(QzX#l%1L>hpx-au2LD>^9eyZnzBpVKnfo@XIW~N9L0%7!XD&(a$i<^)Zh2VC zr=#9YOxL=pUem?P-A9nZLz9`byP9?@rGJ|LpI(tmg$Hi%snaBvtJHKKCs}bknDa}W z0&W$)mS6vTui*=-wNW4f#)J}F4Y85? z^ZiC$Yr?IxLPtfzS&n~ String { cp.tetraplets ) } + +#[cfg(test)] +mod tests { + use fluence_test::marine_test; + use fluence_test::CallParameters; + use fluence_test::SecurityTetraplet; + + #[marine_test(config_path = "../Config.toml", modules_dir = "../artifacts")] + fn empty_string() { + let init_peer_id = "init_peer_id"; + let service_id = "service_id"; + let service_creator_peer_id = "service_creator_peer_id"; + let host_id = "host_id"; + let particle_id = "particle_id"; + + let mut tetraplet = SecurityTetraplet::default(); + tetraplet.function_name = "some_func_name".to_string(); + tetraplet.json_path = "some_json_path".to_string(); + let tetraplets = vec![vec![tetraplet]]; + + let cp = CallParameters { + init_peer_id: init_peer_id.to_string(), + service_id: service_id.to_string(), + service_creator_peer_id: service_creator_peer_id.to_string(), + host_id: host_id.to_string(), + particle_id: particle_id.to_string(), + tetraplets: tetraplets.clone(), + }; + + let actual = call_parameters.call_parameters_cp(cp); + let expected = format!( + "{}\n{}\n{}\n{}\n{}\n{:?}", + init_peer_id, service_id, service_creator_peer_id, host_id, particle_id, tetraplets + ); + assert_eq!(actual, expected); + } +} diff --git a/examples/greeting/Cargo.toml b/examples/greeting/Cargo.toml index 42818b23..05776e45 100644 --- a/examples/greeting/Cargo.toml +++ b/examples/greeting/Cargo.toml @@ -13,3 +13,6 @@ path = "src/main.rs" [dependencies] fluence = "0.6.4" + +[dev-dependencies] +fluence-test = "0.1.7" diff --git a/examples/greeting/artifacts/greeting.wasm b/examples/greeting/artifacts/greeting.wasm index 5ebc6cd1d0310f304515a76e18e9b065c749d86a..ff499336d6d0c1ce05be5bd5660c72fa95bdc129 100755 GIT binary patch delta 555 zcmZ`$zi-n(6!yCqC!9-2)B#nhK(vK1P27tUsv>@LMnbeJIEVdc4aT<4&p;QtAS4(- z5TOhRR0a?eLh`_xq0E$p9SMp5fSGe5VB(}t@4N5m``**tmnY`?XXeKqvuiSn5?>M; zPlqnMR_rk|X9sVF@9yqfYrZYfKO5vY;^-{@Ncb ziRDcB%L=nRqL#`AjfOGM&2^1M4O7D?)aT~>(Uq=nR$O^qIDu&Qo#OfTpRCdD_PY)W zzt`>vA^V-;(T}&so6e@wUhRri=S-{9?zsKlr*joJTVW3$jP6@74>O~e76=A&FHXSR zu31w^o}UEB4xv(s;#NjMlGCJWg~RNnB##M$i(xF)&Xviw|Fx}^c5PdO<_7w?3TbB( zNy#)qGOH<~^3q$JXQ=LkK6<-hz>nO>W1qq#_F{P(`Qe+Hrm3WD4)t~Yz=I-$y} znJ^B?o1|#t-xSS{{Ymr{N=o#Ua+GdVx08%YVy9A3=to#yI8B!lNSW)_YX+E;;lTef p2HZA`rSnjJ+9Fs`0k!~8sgAx{aJ63BQiv4BTeb-{AGNA*@;4@;rsV(t delta 227 zcmZ26k>z|J%La3%$<9o%+#HEHIr+(nC8-Sko98pJmNFe!FnL+|5w;Tx4lp?0*j!MN zq6!kaHg_FF=)~r(dBJLuEDR7J45b-?v=R_!On!GHLB>eGxF}h_D7CmWr$n!)I72{y zApt1q48+Qti;fD)@Eathnj|HfSSDLqSfrSnZJzY-Ig@~SqLGEMWvYomVq%J!v0=*Q z&L>Od1PwwAO|1;gfk@BN#Kh3lV!J&vqb)Pj+Q#X1Y>YCDY}046F`6(jvrU)bV2qvK I&cUb%0QsRqkpKVy diff --git a/examples/greeting/src/main.rs b/examples/greeting/src/main.rs index bb810ea6..cc00123c 100644 --- a/examples/greeting/src/main.rs +++ b/examples/greeting/src/main.rs @@ -25,3 +25,20 @@ pub fn main() {} pub fn greeting(name: String) -> String { format!("Hi, {}", name) } + +#[cfg(test)] +mod tests { + use fluence_test::marine_test; + + #[marine_test(config_path = "../Config.toml", modules_dir = "../artifacts")] + fn empty_string() { + let actual = greeting.greeting(String::new()); + assert_eq!(actual, "Hi, "); + } + + #[marine_test(config_path = "../Config.toml", modules_dir = "../artifacts")] + fn non_empty_string() { + let actual = greeting.greeting("name".to_string()); + assert_eq!(actual, "Hi, name"); + } +} diff --git a/examples/ipfs-node/artifacts/ipfs_effector.wasm b/examples/ipfs-node/artifacts/ipfs_effector.wasm index 9bdbfabf1815e490ec0b2c10af0e29eec2f7b71e..09db2f9f2333d1e11be8de037d63bf5a17c0409e 100755 GIT binary patch delta 862 zcmZ`%J!=#}7`}J!E|=`(V~wB$#BU)MhMAq+*>A&AAyJn!@JJkR^WJTvX>x9x{-VAFxXJak}n zpC|o9FrE>N;>71fnUDM719-mAQ27FxN?GcM)R=>?x9ue&4#SuVr5ND>r{?o9xZ%tT zMbjjbDPuGVh=`Y$>X(bKVxBBQ+47M3JO~(7aS)RriHvsw-Z$qm8ihzGrxYV8h51I{ zILr%FDj-~ngeEk~!sV;=4uw@S^kELXj3rUPM5aU(`ZAF9QwBTpT%2bZa2K&IPKd(XHz(QSIfrZW1WQn>b z3x!S_%d#lliAt+tq<_4YabfqxVl>dG&gTPBKDdh2sIUJkJ3W?L*=g8y4dtlJ^@HoE zOEK)DZgqx;Wp8-Lbt^3I=MsCHxpHT+(Ln0F81x3>F1k~IK4|3i6;bMhW#XP1F_Vvy%;& z%5vNK8SDO2wl+j%=dq1Hs9`I6oTl4tG>)DFXfzr}U;>)p90r*Fo9z4|XWKCO3pS@F q?P^86unsp5G>0SIZQepX)3sO6{{IrIYOdAnx--*rv-Q1oIP@JS=kYuM delta 441 zcmWO0v1*ku6aZk(UvIkzjd#$ch#iDFSaOn+B<-ldJ-#_fZa=hJx7grQV zX;~Ud4wMV>PZJWZR2KSV1(~5k6c^8LOxe)-nhlfejee$SlxrutIBAJLa}%@|U^p;lUz?~y9B&Tc{>JqAbw59X9oX!bM?llY OX8-sUj{EL0?EV9Vs(=~* diff --git a/examples/ipfs-node/artifacts/ipfs_pure.wasm b/examples/ipfs-node/artifacts/ipfs_pure.wasm index 5986e9889865f13c9ff04df4c468cbc727ba2622..91a2f43e544a14a6af2c15493084f3b9e688d45e 100755 GIT binary patch delta 1091 zcmaiw%WKq76vlJr-E^i+A3jR4Vl4`y_1-*gCQ?u=1zjj&MYN#9&CQLC9g~pU5xS6Z zC8FTMP1gPg1(ArlcOfFE3pcLZi%X#!?@U{3ec&SGoZmU$cfRD)v-16y<+TUvU_O1g zj;1uGJJcXP;&#)~3G(tc6Yw20T{pO=Q*L;!;p!I7KTN{gibg%`IyQ3+13M<7&3tVd z-j_6vbz+(Z_L^oBnU0-5J`5AZVISKTN0?yDZN_N+;s~6DQOZ5fM1)ZXJJ|NEh07V0 zgZ%nYcn+FxIJRj}-=nsrGm~Y9X5phos4EX+!)_wn3!1CP;Us9-wQbM0vE}%@i zieNWra+kQYY5N!%20|?FVrUgKmsu`ym?fe zEaY_pWbe3*iBGuR#M~v6V7~AL&SX!{1Ik`aLM?xE9-M&B*$>j&8m3j~c zqSZH%!e34HWZ$m9o~~M5j#ANc9gJxr0@m)IP{me+l#rpC0(C!-6Bfyz5{fxc|3*s7 zG?f|V6!=*wapED74lVaQv+78x7qragWT#WsRb`{EMRZ*HHs6Y`4(*X5BMVUDTpeV{g zsP^DIz)%@#oAZ&noWL{;nEkDN)GI9QYc8kHct9j)-; UQh88q)Q5*gM|O>8`4SxX0sk#Di~s-t delta 410 zcmWO0F>91T5P;!K&O1SbdOh-R5>Sk?J3AZFgb>qMh_MmT z&gLt{A0PxoR`ds0hzM$7Z!6Y98n1qf=Y9TZ{OkSr;Kd>I?_M67vmIN}m?cCbr0RV8 zvI7606J{^bMRZ)Nak>3C179bdHN*x9lT_uvr5#*=??*b0QnOT)94Hs$_UbaMjFy5! zEX8W>YfhBg$189PmVKYpsfdQ8MFnT;Lz;(n|0;ZdE}0?*vnA|R6Q$wO6n=IwP)rts zrA*n^(2iY)8}rL*)CCuO5W^(g?ie@)9U)U;wpkK;U$H$wc(B;jk`hr#9&P2?OZ#i# zGb~5e8nBShiq-dS_ITKFFl)y>_|qq|PbF|w8<6LAoc)HI!<#iQ?b#Z0I&A;m4mZG>C+VsX3F{P2DOoDb)hmy*3j z=pX_~ffjX&^jzqES`o7pQl!BmvUNi*8U?+1y1m$MRxr;sFs_)UMxilUYJO=S3a_s8 z0$xzC^Q3?bf^}j*CtO&4o5(s8>UoVK!^}ehH9Ner_EgFe6B<}6ItDedQA9>~Z2c$z zdU)^0jd<3~o3?2n-LP}EZB|e?{%Z%wk{pCoqZPeiJGM^n!wXni|*v$2FvnMFLC zigD`up07v&v%LoEcpg!JGD!nAL5b(vY1wgU)wZA-K~9K30}z{K8wOm_CJB=D)u2-{ac$zB7GXcjsW>X5t9OMu4F!p(z z-!za?Zp~#@M}-%1mA@j}x=ehEna8_qw&F?hlozl~Q0v%dE~$2UDr~enRbUvIqySXL zZ*BRVV`pTLk^d1Afhq~YunZ*7Q<4Gbky{%oI607>ZZQ6Ntbq9q!csAiQd`GUVApSu C1{nDO delta 385 zcmWN~JxCi-0KoBkXL3do%~{Z)P{d6rrg!hX+Jq|MB1W5^Hb8b|%bl%A89kSh4t; zv$8bS^;h!)1%LFDr;Yw7gVS|0%I(Z?3LI+v@_8O~bbR+L-m~%Za^<9Qv-w;9-~VU> zs7ogU$$n$ZFpN|r78#F(tF_1asP@nb>*w2GQLoki^`xCZ;(%eF`;-de>B2?Rv2ICSahqU96yykTUvfdYp1FGjY!o1m zD5V0#SU_C5_YSly+sV7xoJ(?$W_*IZ?2q@|U?euQy}Yz!qzk38oL7v?(em3jav^Rx Z8R%qO!>ayD0&I3!)ze-uSDoww!}pEqgNXnD diff --git a/examples/records/artifacts/records_pure.wasm b/examples/records/artifacts/records_pure.wasm index e28c9573eca9f95b393efa93b916fb66027de750..552d8cc3237f1cc192d75b6ba5cc137b02c8946b 100755 GIT binary patch delta 915 zcmaiyO=uHA6vuZq$tKw(o2?>ZRm7tRvb))x&8G39R|~bRpn|TG*-5)LX5(a1>_O^5 z3q6QRgr2;3(2ED@A}xM^c=9G1FBQ~Fu~iTc9{lLVNxA{+#lw5=H;?xp-hY_)cjEW& z#vh&%GbvQ71sE|R+-#o|&xS9=`674{9vk{Jz)N9xMdT$nGN*#|@b} z<3{IRXZhLJ=i&RMc@>!9#LFF-_Vv!eZGuo11R={K&f_qTaJe%mwL2>hz@_lYyNj_r zw2=mj2v>Ee+Ym2)_$=iet!iQo+r+VmY3bq5)iqHi8ZiycF+B@f4z#WIx3xEFv4Z$4 zM5t0M8bpKP>-E!skJ?@V+a|=w!ceP*LtkE{RL`-XZDXkGuwr>mAsqbvSW(_ne_N?&r|F*KTZwpg`Sir4z{Z8e#URijmfc<{}wtXPf delta 378 zcmWN~y-OTH9LDke?cJ@4Z*zssp@pRgvh%VtvuE-jC@5&5AULx#YY{;N!Nx*E5E2W8 zQ?3YU(xejP200WPNfALod}&V5%9q4K3!8|ITYUId56`ck`RgC~oe95U{i)VwH9I?( zs0Hh7xI_P&gcCP3cwfvyhZ}yD_K{Tt2X1rv(wYL|tUjo){l|ExW29lPuLR|Le( z9Cfu8y$_z}wPo^|kD1ESMZep-C4?Yr#NE%xfDrGpurtA+k|@wF$li{`N|>tpmCtsP=UL^K(J< LJA$cdP=wxhUV425 diff --git a/examples/sqlite/artifacts/sqlite_test.wasm b/examples/sqlite/artifacts/sqlite_test.wasm index e0971ed5183e34118b5dae7bc61811486f04114e..e3689eb5356a256694dedfb0cbe80c53aea8c5ae 100755 GIT binary patch delta 1019 zcmYLI&ud;q6wR&iqm^o2^I8+zn$+4XtjU*q=f|6wQV>%H7YZVFQQXv-J2P4-i6&{g zsuhht7E*B0J{Mv)f?0{6@LcLbT?m2|!JYqr|AOGe2p`O>=H7G9Irq%HozcCW(bvD- zKk(`9H^1M{EB&_s=kM&mu|>7IwaKfSdF$HM?eXT;cWpEE>eSTKg?gW?_s%YS2Go0i zpMi#l55V6?TN_M33fbjS*lFY8-Tsp~xX`~i2dj;;)FnogspBMU>2J@$c57syQj8#F ziWb872j1WBxik-=#biY1gp5fPB?|fJTX#>vTL0HPEVm(vkaQHvh2+q6{=pCSTX7Lq z`rD7es7)xj6j4wsBAc}zeYjt;umH>RSJt;XMdo$R37w2e2xUu2u^%6Y>n#}!(XlAS zN@8RD!FTq1Z=Qgqe(?kxY(>ycb_%255-lZvXi~D$+LXEyqf^olD<%9xJO2UPJqgql zm9&V#?se;=bN}o~xX~I_s&}0#$sidg{o#qErG zbXudeDd-$J;g3vSm;3MEhUrHutH`NK$#ym!N}PW-8ISde})+!{I03J(xk`P=_3tEuuBU=cnN{XiQyxt?yzH))g$n zu`_TUnvU(B^GSE?RJ36TOYqNhW3_TxI%icdg*be_({T_6+^I$Y;_I2F;&~}m4+LK8mSR<`2L4AXop`s+&a^UivrJSbxzr_sjAa}z`tPP)o1b+z3HlR>YO@tcXxDmcl712 z5B7X>@9W3gFD`9XLFPYuj6SZHu?BUfCIMZQs5RpMvND zz>gsM1AE}FL#;+(jC0kJwyJ6s;N9+%1vuNCTY$C3DJ9rg6eKhg=kC@5>V)J9{ykg6~|$< zyY)DXTB}ryu}b!~Xhs`GA5L19mSAP^^2UzUl3p*Rpuj4Gi7t`kZhQo;wK?UXYNV?o zd1MNE-KZ~{|N3J1KFT- zWF%r%|H6&wo<9cHTgF_aayr(ONJ$y?Pc1DkrOO-TQrWzkuJE8*6LKX@5mTx$`|jl@ z1_t9vD`qz2Bo1T4qf^JaEsmv=o+#Ivvv6VV|83u28n$gpO)lj`F-bwigl0M&+Z+6Qc?Tr`472+qYr%u|bvdS=CY`p~}V=Qc22>eP6?}a1~h#IRsx+ z?9Cb2934{Lk`g5oC&yG>_#8s_-8!`W&jD_pY{YpbP8&R}-I#VXE9x-a#xmO~z$a+vx}l`bl_6cj)h&{(mEcOb$t7_a6|P|rW@7HN&!)E# zT+j9p{46#U(QVT-h;&Q`n~Y{Z>abB9^$4{TCN?383c<6e2``|@m6Rs71!sg2>RIjO z^y3&TW%noGH8ebfQPbd_@;oe=J$y~9ZdH7w%5{M)4Q?T10E~V0= z#PU2>S<=WRreP8qIbplpp&r48fw9OIW}sSVy25fX6IOmeU{|sBqm&(mGudDkUctD@ zrDBv>LbrvEvEB~W(iH?Wy>$*ovfeTHJU&5*?b%9qh;nUi6V?6-H`13E0H>EqP|dao zSmiN&RmTgKxnMc-7PV}PWnU;yX%Q8#GITgF%mC`SV(Z4f6iQ2BUl`~6l&qxSc^`tE$5u;S) zs0W{*CSw#?X;GS#nDk{jfLm45GGQ1Bbd;jeCUjTwgCX25zlQL$UmHuwQ$q4u_<*MT zI0Xm&Wi1gyXrt%JJK@W21J9vR+(j9QqINMv!tP%FxB_>};}N`q+Oa?keJha1=!DCQ zYjE6HEv#!%x55jrlJ2JY_d3{o{xr;MN-Rn(wbI0lAX7%`um-h2BZ4ulCufvOSSDxS zWUooVIU#~m*d~)Wbx*TB3zy5`2E2q-YhuzEgz^!S;m7R0&d3EHK z3)-aEYBc{lw)+Zq@{4Q0^34G(mKlPoR@fty6VwygjybnnVfmtAtAF9`(QLM`{A_za l?j}d^>i*$Q+&fXRF=u03sPd)jAbR~OzrF!a^3oPu{0E$$ei;A& diff --git a/examples/url-downloader/artifacts/facade.wasm b/examples/url-downloader/artifacts/facade.wasm index d215f36012fc1a84441a7de32ed43edbcfdba64b..9fd8602414eaf74cbc7b22c19d96348b42743173 100755 GIT binary patch delta 1191 zcmb7B&u`pB6!!BvyBjCF@ov&oRS(dn2Pz=U__wPd5GA41JX}Vv$~d0&p|?6O3~w-HRnfg8Kw;5 z*d{J#0S%~^IJ?*CKS%Ip^Vt}_1jA*K+(a$UC$!Dgylub*Flgj?apF-YNg{M&tNCaG zn_$RUH)6h*P-0nx@aC&23{@lIPDBFk#LVL)!k~Gu0S{qnvls&}aJcDmlMr(^t*@Vf zSL*kA&~JX)gde9H9(5BJO`l@qGMD1+0bHw}eGW+T_hoo@I5BUUh5S75c&C)+03rplT6fdjS*=jwwO;M_tRmMB7=$EYr0 zS>~nQuSA^BMR!U@hxNDexipJkOEXsPy@S_gO-->)Prn7E_E_$r&tuCr3|@-|g}HO*2H zb}mwQ>>}~mBS&5$6S>^du9A(xoxBn)SSeU3Qa;1B(8Xb>1&Ydb$3sQ!&C8j-oTRef z#Q^<@9CUMSb07s_AUt-b*E9K?-O~TBJ(9xx&(Ff@{Vz5b~9toZ3(|eWECrUIkDTWlMoW1Y6LD9;g=qM)Ii?xCjHgYdKplfd)&);E)~q xT3fEKb)}*zy{oW%G}(4~gZg&|Zf)u^WtfE(yNfHDwxW+m6Juk&zTv`!e*q_pTv`AC delta 398 zcmWO0y=oOf6ae6ydy^#yF`Ff(NudD?L+~he^UwKTKjx24FQA{DU7WACq*+2@9~2uA>t=_4 zzCg=Fj)M(osT5_??9IQoO{bM1g$5%RAy0X_HJmKKy&4;sjav#_5*Os;P0C31<`wup zTJ{z(XDz8ODVkK*mtYe**GI9!EIvvW#_7)RdkOB>_gCQqw85JYHF|B5Nv`<%u!W7w zRZ(KS_0F>*!&G0dz#6m$$z&p(IFfS(>&FfjM{UV58k3_#U8wY2k5}OoxD9r(-16?TJ$X?g%k91W=kju)QIlRxaIP7SEtt``8MXpE8Qulh_z!v| Bb;SSx diff --git a/examples/url-downloader/artifacts/local_storage.wasm b/examples/url-downloader/artifacts/local_storage.wasm index 2fcbec6c7ac2a0806f4104f3d19e2e9b2c021940..25eb385691fc2417b0353f32754e76f918f9594e 100755 GIT binary patch delta 837 zcmZ`!y-yTD6yLY^$=)3-5D_p&50ykCFf;p2Ffo#gArUo*m=MW1J3A{Y=iRwGXF?++ z8vg>5Z7pm~Fcw=|NM%86t^5nLrgH9#8VjoT-tYZB-h21H@b#c@@c9_bkB7%E&WCS=VS}BFqIn#v14(BZH&3Y7|kABh855$4+0a}jC$C^ zPH1HZS6~zL(C{47pkY8Ai!hU=(^uikq)mMpj19*{xPNeCYo)n)+ceW3%P^CjpMz7N zW8ZOt(7{$1`rHbPtT7K0pi80cQ`ZSGG7N-RwzB|Dbqr$6t5slrtHeHEtm^5vL|ChG)TE$}$* z#9A>CL8m7MRU#UUuXcLUEVvQ1X}r6}lU_@lC|l~wrECdC?{U_PBeA>AMNGRbF7l-= z=W(;UqiG3`pGS;0_o6_ng}pWtQK#K()2Cb;dXmVtOU1SZ!^^bQx=Uk;%WslmHEKtq zIdGA}zb>*r{l}5ToQjT2=|{;$X}gn%epBhvSVXMF`-3KaAGOCtV%x)IMa>Vwt6?Mw ztRw$zizU!b#9?T_9Ee~^`F~VZt)?g!uLCHGazOz%4@Jm|)6OzVX zAl%l%Hn3tbwV&bBT>m20w)APd{SDi}iW3pZ(V%DZ>p7v); zFs+|Pa0+d5&LporYFCQTvA$V`mCK7tkP}E4QekIZ?qn~<@VK6h;rXT3`BY*mn4+ba z(bef)xIS308Zl?ZQI;4e){T3x4y}=aHK)WjaOQ+{b{{sO4I(FjQ4vb!K%rlL0KZ4x zk`D^4qDavc+ik6HZ$2aH|2~4-_0}p}yC@gI+G=ZT5{{Cq-2|4PC3KXXQ!xc+Ou_nY z3fuFGC5J$igF#hXk*VA3e@M7fLBbbkz2jmrlZlMQNL{}vcspvN3E8^B%A&i7_&R<9 zvAH5%qFzJ0ro}`^>!qllU%zgv6`+2fO@n*ocV~6P#=Mf3JY% O2TlKT1Gaj64defE+IV6B diff --git a/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_effector.wasm b/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_effector.wasm index 0c88fdb78d00daa2c6ac5192733d32c73560ff5a..cdee2f4fed650cbb4b44300e3872d72b3458c21f 100755 GIT binary patch delta 19100 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 diff --git a/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_pure.wasm b/fluence-faas/tests/wasm_tests/arguments_passing/artifacts/arguments_passing_pure.wasm index 4f3e688b93d95b49b7757d6b0bde78ebdb312776..f276383d12fb45a8e290d20dee1203f5821f4f04 100755 GIT binary patch delta 19398 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 Ho~r#n9Z#|& delta 25687 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 PPF^YRzHJ!WG2wp!eYLBp diff --git a/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_effector.wasm b/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_effector.wasm index 412d278fc0d82f79e24705ba2a9e48f4af33c026..d1e469f50535adc6ff9c4f210789c6a0d5ebd5e7 100755 GIT binary patch delta 208 zcmZ3zkahJ!)(!WRnQkoH{6P5`FNi*2s5BEuPxd=2J(>OVWcCLO4=^}BShRWJ>D7!7 z@o5mT4+}THKHICI$ie^tN>G{+Nb7>wf&vT)K+0$G#BUKYCi=xi$@)d9#icnVdPT)B zNoSw}<;}d`FU#;H8JilUrdp(!7#O4&TW)_R%&5RBkZO=>Vq{=xl45FRYH4O}x?N6^ daUl~>*gVBJ+1$h|IngxP%ph(1d1=NwCIH(+Ld^gG delta 208 zcmZ3zkahJ!)(!WRnO-c~{6P5`FNi*2s5BEuPxd=2J(>OVWcC{i4=^~sSh#uN>D7!7 z@o5mT8;dr-KHIAysl)&Qj6g~kh<^wOFeCtJ=gBj_MW`6-7Z)Y#7o`@L=9K6a6~iQb zfC`j>m<5O#HuHYJEW?**X=!eeY+-6*VrFS>y#1XpqXMgdfswg!TB?Czibax9nt@5; ib~#DLg-im5h6ah|hKVT_7Ks*?$;QUp&r37jF#!MvxkQKn diff --git a/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_pure.wasm b/fluence-faas/tests/wasm_tests/arrays_passing/artifacts/arrays_passing_pure.wasm index a3702954c8059b2e9a0914b0299bf0dbea2e4361..adc2d50e953be3fcc9c5fa3344d462ba4eddb728 100755 GIT binary patch delta 202 zcmaFd%=WmMZNoPerk+Kcf2i0V0@9ObzLcIE^n5b=ltl*^9H%Va{O0*;Mu_+{h}e=v zo6TM+sVlNDK!6gIW(3l@Kx`r?z>ol>eWn)*GDgUl=oc3y>ldXKm*$k{6&1r|oq;Np zx4#u+EK%f3GB!0xO|?idF)&Cmw%nd?%oxKekZO=>Vq{=xl45FRYH4O}y8X5V<02-Y Zuz8Acvbl*_a-wOnnL*n2UTelMHvmDTJsSW3 delta 202 zcmaFd%=WmMZNoPera6l@|4^|#1f(a=d?`IS==o&!o<#>39Oo?B{O0*;Mu_+{h*;0! z&1SEZ)FqV|Ab=4_=>oBipa4SxkanJ4DaaV1Vys_Wl&oKrT3nh_qE}Q5ll1|rPzGWa zAZFP9R*sx=zAy=-8l;*S8CaU6n3|bdnwgt!-ubcsBx;^woNR7lmYiss NY-W(Q+44=PIsiidJ9+>B delta 189 zcmZ3toMqi|mJR+3na(Vj9Jp{D`=0p+7#z>c-^{kCf(arfJ$d$$YKZur1)F7;-cXSg zWq<%iAf*7rclZSu5`eVxWU*5bD#rT7MalX_sl}x^C3;20Fi9Vv0%ag(0b+*DU8iJa z_!2EG%`K8GOifJ8EX|EKZ+-TKNx;C!+&C@Oz%a!k$tcahBysc3mjz4$hK2@-=7xzW S78Z#XmdVD(n=RjzssjLsUpo~5 diff --git a/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_pure.wasm b/fluence-faas/tests/wasm_tests/records_passing/artifacts/records_passing_pure.wasm index 0f43550225a7fc7f7adf0e6ce33df5d76cfdd72a..da1f014c995d26b3adf25c153d796d7ab3ba56dd 100755 GIT binary patch delta 189 zcmX@Vk>&hGmJR)jn2yY!JaN%F_A~PjFgTuBu-R>K1rtO}dh+e1)e!MJ^EbyXd#s|! z!T&hGmJR)jn650CJaN%F_9OETFgRYBzu9eZ1rtO}dh+e1)e!L`3pU3td#oZU z$^Ze3KuQ6KpYRJXBmimW$%&^URE+hDi<0$=Qj1G-O7x0~VUj*T1liPub%!Q z!O5hVQOMxW@&D``TC3JOacZ*=EiBM28JmXNk(Y~CW)KRy)Ix9Ff=qsG&f94 Sv9L(AuuL{K-t70TQ40WDi9Y`T