fuel-indexer
fuel-indexer copied to clipboard
Prevent `wasm-snip` symbol stripping
- We had an issue with errant symbols getting into WASM binaries due to upstream fuel-core dependencies
- https://github.com/FuelLabs/fuel-indexer/issues/246
- We created a temporary hack to strip out these errant symbols
- Stripping these symbols also means we can't use functionality that technically compiles to WASM (e.g.,
chrono
) - We should follow up and make sure upstream dependencies compile to WASM (with no errant symbols or hacks) so that we can get full usage out of WASM
Additional context
- @Br1ght0ne seems to be handling this on the fuel-core side
For clarity's sake, this is blocked by work on the fuel-core
side.
https://github.com/FuelLabs/fuels-rs/issues/970
More tracking issues
- [x] https://github.com/FuelLabs/sway/issues/4667
- [ ] https://github.com/FuelLabs/fuels-rs/issues/1005
Just for more information, this is what is produced running cargo tree -i wasm-bindgen --target wasm32-unknown-unknown
for fuel-explorer
:
❯ cargo tree -i wasm-bindgen
wasm-bindgen v0.2.87
├── chrono v0.4.26
│ └── fuels-core v0.46.0
│ └── fuels v0.46.0
│ ├── fuel-indexer-types v0.19.5 (/home/deekerno/dev/fuel/indexer/packages/fuel-indexer-types)
│ │ ├── fuel-indexer-plugin v0.19.5 (/home/deekerno/dev/fuel/indexer/packages/fuel-indexer-plugin)
│ │ │ └── fuel-indexer-utils v0.19.5 (/home/deekerno/dev/fuel/indexer/packages/fuel-indexer-utils)
│ │ │ └── fuel_explorer v0.0.0 (/home/deekerno/dev/fuel/indexer/examples/fuel-explorer/fuel-explorer)
│ │ └── fuel-indexer-schema v0.19.5 (/home/deekerno/dev/fuel/indexer/packages/fuel-indexer-schema)
│ │ └── fuel-indexer-plugin v0.19.5 (/home/deekerno/dev/fuel/indexer/packages/fuel-indexer-plugin) (*)
│ └── fuel_explorer v0.0.0 (/home/deekerno/dev/fuel/indexer/examples/fuel-explorer/fuel-explorer)
├── getrandom v0.2.10
│ ├── coins-bip32 v0.8.3
│ │ ├── coins-bip39 v0.8.6
│ │ │ └── fuel-crypto v0.35.3
│ │ │ ├── fuel-tx v0.35.3
│ │ │ │ ├── fuel-indexer-types v0.19.5 (/home/deekerno/dev/fuel/indexer/packages/fuel-indexer-types) (*)
│ │ │ │ ├── fuel-vm v0.35.3
│ │ │ │ │ ├── fuel-core-storage v0.20.4
│ │ │ │ │ │ └── fuel-core-chain-config v0.20.4
│ │ │ │ │ │ └── fuels-core v0.46.0 (*)
│ │ │ │ │ ├── fuel-core-types v0.20.4
│ │ │ │ │ │ ├── fuel-core-chain-config v0.20.4 (*)
│ │ │ │ │ │ └── fuel-core-storage v0.20.4 (*)
│ │ │ │ │ └── fuels-core v0.46.0 (*)
│ │ │ │ ├── fuels v0.46.0 (*)
│ │ │ │ └── fuels-core v0.46.0 (*)
│ │ │ └── fuel-vm v0.35.3 (*)
│ │ └── fuel-crypto v0.35.3 (*)
│ ├── coins-bip39 v0.8.6 (*)
│ └── rand_core v0.6.4
│ ├── crypto-bigint v0.5.2
│ │ └── elliptic-curve v0.13.5
│ │ ├── ecdsa v0.16.8
│ │ │ ├── fuel-crypto v0.35.3 (*)
│ │ │ ├── k256 v0.13.1
│ │ │ │ └── coins-bip32 v0.8.3 (*)
│ │ │ └── p256 v0.13.2
│ │ │ └── fuel-crypto v0.35.3 (*)
│ │ ├── k256 v0.13.1 (*)
│ │ ├── p256 v0.13.2 (*)
│ │ └── primeorder v0.13.2
│ │ └── p256 v0.13.2 (*)
│ ├── elliptic-curve v0.13.5 (*)
│ ├── ff v0.13.0
│ │ ├── elliptic-curve v0.13.5 (*)
│ │ └── group v0.13.0
│ │ └── elliptic-curve v0.13.5 (*)
│ ├── group v0.13.0 (*)
│ ├── rand v0.8.5
│ │ ├── coins-bip39 v0.8.6 (*)
│ │ ├── fuel-core-chain-config v0.20.4 (*)
│ │ ├── fuel-crypto v0.35.3 (*)
│ │ ├── fuel-tx v0.35.3 (*)
│ │ ├── fuel-types v0.35.3
│ │ │ ├── fuel-crypto v0.35.3 (*)
│ │ │ ├── fuel-indexer-types v0.19.5 (/home/deekerno/dev/fuel/indexer/packages/fuel-indexer-types) (*)
│ │ │ ├── fuel-tx v0.35.3 (*)
│ │ │ ├── fuel-vm v0.35.3 (*)
│ │ │ └── fuels-core v0.46.0 (*)
│ │ ├── fuel-vm v0.35.3 (*)
│ │ └── secp256k1 v0.26.0
│ │ └── fuel-crypto v0.35.3 (*)
│ ├── rand_chacha v0.3.1
│ │ └── rand v0.8.5 (*)
│ └── signature v2.1.0
│ ├── ecdsa v0.16.8 (*)
│ └── k256 v0.13.1 (*)
└── js-sys v0.3.64
├── chrono v0.4.26 (*)
└── getrandom v0.2.10 (*)