├── .github └── workflows │ ├── ci.yml │ └── pr-title.yml ├── .gitignore ├── CHANGELOG.md ├── Cargo.toml ├── LICENSE ├── README.md ├── deny.toml ├── ic-test.json ├── ic-wasi-polyfill ├── Cargo.toml ├── src │ ├── environment.rs │ ├── lib.rs │ ├── wasi.rs │ ├── wasi_helpers.rs │ └── wasi_mock.rs └── tests │ ├── common.rs │ ├── fd_filestat_set.rs │ ├── fd_readdir.rs │ ├── fd_tests.rs │ ├── file_read_write_seek_tell.rs │ ├── lib_tests.rs │ ├── path_open_tests.rs │ └── path_tests.rs ├── integration-tests ├── Cargo.toml └── src │ ├── bindings │ ├── c_tests_backend.rs │ ├── canister_initial_backend.rs │ ├── canister_upgraded_backend.rs │ ├── fs_tests_backend.rs │ └── mod.rs │ ├── lib.rs │ ├── test_setup.rs │ └── tests │ ├── fuzz_tests.rs │ ├── integration_tests.rs │ └── mod.rs ├── perf ├── perf.repl ├── perf_create_folders.svg ├── perf_create_folders_old.svg └── perf_create_folders_old2.svg ├── scripts ├── build_tests.sh ├── coverage.sh └── install_wasi_sdk.sh └── test_canisters ├── c_tests ├── .gitignore ├── dfx.json └── src │ ├── c_tests_backend.did │ ├── main.cpp │ └── run.sh ├── canister_initial ├── .gitignore ├── Cargo.toml ├── clear_chunk.sh ├── create_chunk.sh ├── dfx.json ├── load_chunk.sh ├── load_chunk_map.sh ├── perf.ic ├── perf.repl ├── read_chunk.sh ├── read_text.sh ├── src │ └── canister_initial_backend │ │ ├── Cargo.toml │ │ ├── canister_initial_backend.did │ │ └── src │ │ └── lib.rs ├── store_chunk.sh └── store_chunk_map.sh ├── canister_upgraded ├── .gitignore ├── dfx.json └── src │ └── canister_upgraded_backend │ ├── Cargo.toml │ ├── canister_upgraded_backend.did │ └── src │ └── lib.rs └── fs_tests ├── .gitignore ├── README.md ├── dfx.json ├── scripts ├── build.sh ├── test_read.sh └── upgrade.sh └── src └── fs_tests_backend ├── Cargo.toml ├── fs_tests_backend.did ├── some_file.txt └── src ├── canister.rs ├── lib.rs ├── main.rs └── tests.rs /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/pr-title.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/.github/workflows/pr-title.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/README.md -------------------------------------------------------------------------------- /deny.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/deny.toml -------------------------------------------------------------------------------- /ic-test.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-test.json -------------------------------------------------------------------------------- /ic-wasi-polyfill/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/Cargo.toml -------------------------------------------------------------------------------- /ic-wasi-polyfill/src/environment.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/src/environment.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/src/lib.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/src/wasi.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/src/wasi.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/src/wasi_helpers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/src/wasi_helpers.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/src/wasi_mock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/src/wasi_mock.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/common.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/fd_filestat_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/fd_filestat_set.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/fd_readdir.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/fd_readdir.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/fd_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/fd_tests.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/file_read_write_seek_tell.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/file_read_write_seek_tell.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/lib_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/lib_tests.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/path_open_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/path_open_tests.rs -------------------------------------------------------------------------------- /ic-wasi-polyfill/tests/path_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/ic-wasi-polyfill/tests/path_tests.rs -------------------------------------------------------------------------------- /integration-tests/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/Cargo.toml -------------------------------------------------------------------------------- /integration-tests/src/bindings/c_tests_backend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/bindings/c_tests_backend.rs -------------------------------------------------------------------------------- /integration-tests/src/bindings/canister_initial_backend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/bindings/canister_initial_backend.rs -------------------------------------------------------------------------------- /integration-tests/src/bindings/canister_upgraded_backend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/bindings/canister_upgraded_backend.rs -------------------------------------------------------------------------------- /integration-tests/src/bindings/fs_tests_backend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/bindings/fs_tests_backend.rs -------------------------------------------------------------------------------- /integration-tests/src/bindings/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/bindings/mod.rs -------------------------------------------------------------------------------- /integration-tests/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/lib.rs -------------------------------------------------------------------------------- /integration-tests/src/test_setup.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/test_setup.rs -------------------------------------------------------------------------------- /integration-tests/src/tests/fuzz_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/tests/fuzz_tests.rs -------------------------------------------------------------------------------- /integration-tests/src/tests/integration_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/tests/integration_tests.rs -------------------------------------------------------------------------------- /integration-tests/src/tests/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/integration-tests/src/tests/mod.rs -------------------------------------------------------------------------------- /perf/perf.repl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/perf/perf.repl -------------------------------------------------------------------------------- /perf/perf_create_folders.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/perf/perf_create_folders.svg -------------------------------------------------------------------------------- /perf/perf_create_folders_old.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/perf/perf_create_folders_old.svg -------------------------------------------------------------------------------- /perf/perf_create_folders_old2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/perf/perf_create_folders_old2.svg -------------------------------------------------------------------------------- /scripts/build_tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/scripts/build_tests.sh -------------------------------------------------------------------------------- /scripts/coverage.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/scripts/coverage.sh -------------------------------------------------------------------------------- /scripts/install_wasi_sdk.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/scripts/install_wasi_sdk.sh -------------------------------------------------------------------------------- /test_canisters/c_tests/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/c_tests/.gitignore -------------------------------------------------------------------------------- /test_canisters/c_tests/dfx.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/c_tests/dfx.json -------------------------------------------------------------------------------- /test_canisters/c_tests/src/c_tests_backend.did: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/c_tests/src/c_tests_backend.did -------------------------------------------------------------------------------- /test_canisters/c_tests/src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/c_tests/src/main.cpp -------------------------------------------------------------------------------- /test_canisters/c_tests/src/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/c_tests/src/run.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/.gitignore -------------------------------------------------------------------------------- /test_canisters/canister_initial/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/Cargo.toml -------------------------------------------------------------------------------- /test_canisters/canister_initial/clear_chunk.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/clear_chunk.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/create_chunk.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/create_chunk.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/dfx.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/dfx.json -------------------------------------------------------------------------------- /test_canisters/canister_initial/load_chunk.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/load_chunk.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/load_chunk_map.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/load_chunk_map.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/perf.ic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/perf.ic -------------------------------------------------------------------------------- /test_canisters/canister_initial/perf.repl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/perf.repl -------------------------------------------------------------------------------- /test_canisters/canister_initial/read_chunk.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/read_chunk.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/read_text.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/read_text.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/src/canister_initial_backend/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/src/canister_initial_backend/Cargo.toml -------------------------------------------------------------------------------- /test_canisters/canister_initial/src/canister_initial_backend/canister_initial_backend.did: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/src/canister_initial_backend/canister_initial_backend.did -------------------------------------------------------------------------------- /test_canisters/canister_initial/src/canister_initial_backend/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/src/canister_initial_backend/src/lib.rs -------------------------------------------------------------------------------- /test_canisters/canister_initial/store_chunk.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/store_chunk.sh -------------------------------------------------------------------------------- /test_canisters/canister_initial/store_chunk_map.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_initial/store_chunk_map.sh -------------------------------------------------------------------------------- /test_canisters/canister_upgraded/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_upgraded/.gitignore -------------------------------------------------------------------------------- /test_canisters/canister_upgraded/dfx.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_upgraded/dfx.json -------------------------------------------------------------------------------- /test_canisters/canister_upgraded/src/canister_upgraded_backend/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_upgraded/src/canister_upgraded_backend/Cargo.toml -------------------------------------------------------------------------------- /test_canisters/canister_upgraded/src/canister_upgraded_backend/canister_upgraded_backend.did: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_upgraded/src/canister_upgraded_backend/canister_upgraded_backend.did -------------------------------------------------------------------------------- /test_canisters/canister_upgraded/src/canister_upgraded_backend/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/canister_upgraded/src/canister_upgraded_backend/src/lib.rs -------------------------------------------------------------------------------- /test_canisters/fs_tests/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/.gitignore -------------------------------------------------------------------------------- /test_canisters/fs_tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/README.md -------------------------------------------------------------------------------- /test_canisters/fs_tests/dfx.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/dfx.json -------------------------------------------------------------------------------- /test_canisters/fs_tests/scripts/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/scripts/build.sh -------------------------------------------------------------------------------- /test_canisters/fs_tests/scripts/test_read.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/scripts/test_read.sh -------------------------------------------------------------------------------- /test_canisters/fs_tests/scripts/upgrade.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/scripts/upgrade.sh -------------------------------------------------------------------------------- /test_canisters/fs_tests/src/fs_tests_backend/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/src/fs_tests_backend/Cargo.toml -------------------------------------------------------------------------------- /test_canisters/fs_tests/src/fs_tests_backend/fs_tests_backend.did: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/src/fs_tests_backend/fs_tests_backend.did -------------------------------------------------------------------------------- /test_canisters/fs_tests/src/fs_tests_backend/some_file.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test_canisters/fs_tests/src/fs_tests_backend/src/canister.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/src/fs_tests_backend/src/canister.rs -------------------------------------------------------------------------------- /test_canisters/fs_tests/src/fs_tests_backend/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/src/fs_tests_backend/src/lib.rs -------------------------------------------------------------------------------- /test_canisters/fs_tests/src/fs_tests_backend/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/src/fs_tests_backend/src/main.rs -------------------------------------------------------------------------------- /test_canisters/fs_tests/src/fs_tests_backend/src/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wasm-forge/ic-wasi-polyfill/HEAD/test_canisters/fs_tests/src/fs_tests_backend/src/tests.rs --------------------------------------------------------------------------------