A decoded call named its recipient as 32 bytes of hex. That is a correct description of the value and the one form nobody reads — and the only moment in a wallet where reading the recipient matters is the screen asking somebody to approve sending them money. `set_ss58_format` turns it on. Off by default, and deliberately: the prefix is a property of the chain a caller is talking to rather than of the metadata, so inferring one would put a plausible, wrong address in front of that same person. Account types are found by their **registry path**, not by length. A block hash is also 32 bytes, and rendering one as an address would be a lie a reader cannot catch — there is a test that `System::BlockHash` stays hex with a prefix set. `scale_value` carries each value's type id as its context, so the check is on what the runtime declared. The vector is crystal_bob on Heisenberg, taken from the chain rather than computed here, which also pins the two-byte prefix form — 189 needs it, and getting it wrong yields an address that looks right and belongs to nobody. Refs #3, quantus/extension#6 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012uDUodEcRbBwNRi3UCmw8f
25 lines
686 B
JSON
25 lines
686 B
JSON
{
|
|
"author": "Quantus Network Developers <hello@quantus.com>",
|
|
"bugs": "https://git.lair.cafe/quantus/wasm/issues",
|
|
"description": "Metadata-driven SCALE encode/decode for the Quantus chain",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"homepage": "https://git.lair.cafe/quantus/wasm/src/branch/main/packages/quantus-codec#readme",
|
|
"license": "Apache-2.0",
|
|
"name": "@quantus/codec",
|
|
"repository": {
|
|
"directory": "packages/quantus-codec",
|
|
"type": "git",
|
|
"url": "https://git.lair.cafe/quantus/wasm.git"
|
|
},
|
|
"sideEffects": false,
|
|
"type": "module",
|
|
"version": "0.5.0",
|
|
"main": "index.js",
|
|
"dependencies": {
|
|
"fflate": "^0.8.2",
|
|
"tslib": "^2.7.0"
|
|
}
|
|
}
|