interface-spec icon indicating copy to clipboard operation
interface-spec copied to clipboard

Discrepancies to `drun`

Open ggreif opened this issue 3 years ago • 5 comments

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.

ggreif avatar Feb 04 '22 10:02 ggreif

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.

nomeata avatar Feb 12 '22 11:02 nomeata

Yes, endpoint = method name. Thanks for the explanation!

ggreif avatar Feb 12 '22 12:02 ggreif

Methods with names such as canister_query get-counter-# are allowed by the latest replica.

mraszyk avatar Jun 23 '23 08:06 mraszyk

The limit on custom section name length (incl. icp:public or icp:private prefix) is 100000 as of now (see here).

mraszyk avatar Jun 23 '23 08:06 mraszyk

More generally, there are wasmtime-specific limits that are not reflected in the spec.

mraszyk avatar Jun 23 '23 08:06 mraszyk