interface-spec
interface-spec copied to clipboard
Discrepancies to `drun`
So far I have found a few aspects where drun
differs from ic-ref
:
- former rejects hyphenated endpoints (e.g.
memory-footprint
) - former rejects IC custom sections (i.e. prefixed with
icp:
) that are > 64kB
I am asking the oracle here, to clarify what the expected behaviour is, and shall write follow-ups.
With endpoints you mean canister method names? The spec has no restrictions, as long as its UTF8-encoded text, and even stuff like the empty string should work. I had always meant to test hat with ic-ref-test
, but never got around to do it; I think there is an issue on dfinity/ic-ref
about it.
I also don’t see a reason for restricting the size of custom sections.
Yes, endpoint = method name. Thanks for the explanation!
Methods with names such as canister_query get-counter-#
are allowed by the latest replica.
The limit on custom section name length (incl. icp:public
or icp:private
prefix) is 100000 as of now (see here).
More generally, there are wasmtime-specific limits that are not reflected in the spec.