├── .gitignore ├── .vscode └── settings.json ├── Cargo.toml ├── LICENCE ├── README.md ├── coverage.sh ├── docs ├── architecture.md ├── benchmarks.md ├── diagrams │ └── memory-allocation.drawio.png ├── encoding.md ├── migration.md ├── out-of-memory-error-handling.md ├── perfomance.md ├── quick-start.md ├── upgradeability.md └── user-defined-data-structures.md ├── examples ├── performance_counter │ ├── Cargo.toml │ ├── can.did │ ├── dfx.json │ └── src │ │ └── actor.rs └── token │ ├── Cargo.toml │ ├── can.did │ ├── dfx.json │ └── src │ └── actor.rs ├── ic-stable-memory-derive-tests ├── Cargo.toml └── src │ └── lib.rs ├── ic-stable-memory-derive ├── .gitignore ├── Cargo.toml └── src │ ├── as_fixed_size_bytes.rs │ ├── candid_as_dyn_size_bytes.rs │ ├── fixed_size_as_dyn_size_bytes.rs │ ├── lib.rs │ └── stable_type.rs └── src ├── benches ├── btree_map.rs ├── btree_set.rs ├── certified_map.rs ├── hash_map.rs ├── hash_set.rs ├── log.rs ├── mod.rs └── vec.rs ├── collections ├── btree_map │ ├── internal_node.rs │ ├── iter.rs │ ├── leaf_node.rs │ └── mod.rs ├── btree_set │ ├── iter.rs │ └── mod.rs ├── certified_btree_map │ └── mod.rs ├── certified_btree_set │ ├── iter.rs │ └── mod.rs ├── hash_map │ ├── iter.rs │ └── mod.rs ├── hash_set │ ├── iter.rs │ └── mod.rs ├── log │ ├── iter.rs │ └── mod.rs ├── mod.rs └── vec │ ├── iter.rs │ └── mod.rs ├── encoding ├── dyn_size.rs ├── fixed_size.rs └── mod.rs ├── lib.rs ├── mem ├── allocator.rs ├── free_block.rs ├── mod.rs └── s_slice.rs ├── primitive ├── mod.rs ├── s_box.rs ├── s_ref.rs └── s_ref_mut.rs └── utils ├── certification.rs ├── math.rs ├── mem_context.rs ├── mod.rs └── test.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "rust-analyzer.showUnlinkedFileNotification": false 3 | } -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/LICENCE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/README.md -------------------------------------------------------------------------------- /coverage.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/coverage.sh -------------------------------------------------------------------------------- /docs/architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/architecture.md -------------------------------------------------------------------------------- /docs/benchmarks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/benchmarks.md -------------------------------------------------------------------------------- /docs/diagrams/memory-allocation.drawio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/diagrams/memory-allocation.drawio.png -------------------------------------------------------------------------------- /docs/encoding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/encoding.md -------------------------------------------------------------------------------- /docs/migration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/migration.md -------------------------------------------------------------------------------- /docs/out-of-memory-error-handling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/out-of-memory-error-handling.md -------------------------------------------------------------------------------- /docs/perfomance.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/perfomance.md -------------------------------------------------------------------------------- /docs/quick-start.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/quick-start.md -------------------------------------------------------------------------------- /docs/upgradeability.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/upgradeability.md -------------------------------------------------------------------------------- /docs/user-defined-data-structures.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/docs/user-defined-data-structures.md -------------------------------------------------------------------------------- /examples/performance_counter/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/performance_counter/Cargo.toml -------------------------------------------------------------------------------- /examples/performance_counter/can.did: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/performance_counter/can.did -------------------------------------------------------------------------------- /examples/performance_counter/dfx.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/performance_counter/dfx.json -------------------------------------------------------------------------------- /examples/performance_counter/src/actor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/performance_counter/src/actor.rs -------------------------------------------------------------------------------- /examples/token/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/token/Cargo.toml -------------------------------------------------------------------------------- /examples/token/can.did: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/token/can.did -------------------------------------------------------------------------------- /examples/token/dfx.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/token/dfx.json -------------------------------------------------------------------------------- /examples/token/src/actor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/examples/token/src/actor.rs -------------------------------------------------------------------------------- /ic-stable-memory-derive-tests/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive-tests/Cargo.toml -------------------------------------------------------------------------------- /ic-stable-memory-derive-tests/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive-tests/src/lib.rs -------------------------------------------------------------------------------- /ic-stable-memory-derive/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive/.gitignore -------------------------------------------------------------------------------- /ic-stable-memory-derive/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive/Cargo.toml -------------------------------------------------------------------------------- /ic-stable-memory-derive/src/as_fixed_size_bytes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive/src/as_fixed_size_bytes.rs -------------------------------------------------------------------------------- /ic-stable-memory-derive/src/candid_as_dyn_size_bytes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive/src/candid_as_dyn_size_bytes.rs -------------------------------------------------------------------------------- /ic-stable-memory-derive/src/fixed_size_as_dyn_size_bytes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive/src/fixed_size_as_dyn_size_bytes.rs -------------------------------------------------------------------------------- /ic-stable-memory-derive/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive/src/lib.rs -------------------------------------------------------------------------------- /ic-stable-memory-derive/src/stable_type.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/ic-stable-memory-derive/src/stable_type.rs -------------------------------------------------------------------------------- /src/benches/btree_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/btree_map.rs -------------------------------------------------------------------------------- /src/benches/btree_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/btree_set.rs -------------------------------------------------------------------------------- /src/benches/certified_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/certified_map.rs -------------------------------------------------------------------------------- /src/benches/hash_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/hash_map.rs -------------------------------------------------------------------------------- /src/benches/hash_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/hash_set.rs -------------------------------------------------------------------------------- /src/benches/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/log.rs -------------------------------------------------------------------------------- /src/benches/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/mod.rs -------------------------------------------------------------------------------- /src/benches/vec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/benches/vec.rs -------------------------------------------------------------------------------- /src/collections/btree_map/internal_node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/btree_map/internal_node.rs -------------------------------------------------------------------------------- /src/collections/btree_map/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/btree_map/iter.rs -------------------------------------------------------------------------------- /src/collections/btree_map/leaf_node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/btree_map/leaf_node.rs -------------------------------------------------------------------------------- /src/collections/btree_map/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/btree_map/mod.rs -------------------------------------------------------------------------------- /src/collections/btree_set/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/btree_set/iter.rs -------------------------------------------------------------------------------- /src/collections/btree_set/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/btree_set/mod.rs -------------------------------------------------------------------------------- /src/collections/certified_btree_map/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/certified_btree_map/mod.rs -------------------------------------------------------------------------------- /src/collections/certified_btree_set/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/certified_btree_set/iter.rs -------------------------------------------------------------------------------- /src/collections/certified_btree_set/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/certified_btree_set/mod.rs -------------------------------------------------------------------------------- /src/collections/hash_map/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/hash_map/iter.rs -------------------------------------------------------------------------------- /src/collections/hash_map/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/hash_map/mod.rs -------------------------------------------------------------------------------- /src/collections/hash_set/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/hash_set/iter.rs -------------------------------------------------------------------------------- /src/collections/hash_set/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/hash_set/mod.rs -------------------------------------------------------------------------------- /src/collections/log/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/log/iter.rs -------------------------------------------------------------------------------- /src/collections/log/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/log/mod.rs -------------------------------------------------------------------------------- /src/collections/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/mod.rs -------------------------------------------------------------------------------- /src/collections/vec/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/vec/iter.rs -------------------------------------------------------------------------------- /src/collections/vec/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/collections/vec/mod.rs -------------------------------------------------------------------------------- /src/encoding/dyn_size.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/encoding/dyn_size.rs -------------------------------------------------------------------------------- /src/encoding/fixed_size.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/encoding/fixed_size.rs -------------------------------------------------------------------------------- /src/encoding/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/encoding/mod.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/mem/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/mem/allocator.rs -------------------------------------------------------------------------------- /src/mem/free_block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/mem/free_block.rs -------------------------------------------------------------------------------- /src/mem/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/mem/mod.rs -------------------------------------------------------------------------------- /src/mem/s_slice.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/mem/s_slice.rs -------------------------------------------------------------------------------- /src/primitive/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/primitive/mod.rs -------------------------------------------------------------------------------- /src/primitive/s_box.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/primitive/s_box.rs -------------------------------------------------------------------------------- /src/primitive/s_ref.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/primitive/s_ref.rs -------------------------------------------------------------------------------- /src/primitive/s_ref_mut.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/primitive/s_ref_mut.rs -------------------------------------------------------------------------------- /src/utils/certification.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/utils/certification.rs -------------------------------------------------------------------------------- /src/utils/math.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/utils/math.rs -------------------------------------------------------------------------------- /src/utils/mem_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/utils/mem_context.rs -------------------------------------------------------------------------------- /src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/utils/mod.rs -------------------------------------------------------------------------------- /src/utils/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seniorjoinu/ic-stable-memory/HEAD/src/utils/test.rs --------------------------------------------------------------------------------