fuel-indexer icon indicating copy to clipboard operation
fuel-indexer copied to clipboard

Prevent `wasm-snip` symbol stripping

Open ra0x3 opened this issue 2 years ago • 4 comments

  • 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

ra0x3 avatar Dec 08 '22 16:12 ra0x3

For clarity's sake, this is blocked by work on the fuel-core side.

deekerno avatar Dec 21 '22 20:12 deekerno

https://github.com/FuelLabs/fuels-rs/issues/970

ra0x3 avatar May 17 '23 01:05 ra0x3

More tracking issues

  • [x] https://github.com/FuelLabs/sway/issues/4667
  • [ ] https://github.com/FuelLabs/fuels-rs/issues/1005

ra0x3 avatar Jun 14 '23 14:06 ra0x3

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 (*)

deekerno avatar Aug 15 '23 20:08 deekerno