Skip to content

Releases: evmnow/dapp

@evmnow/dapp@0.2.4

Choose a tag to compare

@github-actions github-actions released this 06 Jul 16:57
a71c66b

Patch Changes

@evmnow/dapp@0.2.3

Choose a tag to compare

@github-actions github-actions released this 06 Jul 07:19
788ec91

Patch Changes

  • Updated dependencies [ccec8b0]:
    • @evmnow/contract-reader@0.7.0

@evmnow/contract-reader@0.8.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 16:56
a71c66b

Minor Changes

  • 5100264 Thanks @jwahdatehagh! - New public composables and a component that extract generic reader orchestration out of consuming apps:

    • useContractReaderView — the shared reader-page orchestration: tab derivation from the ABI, view-state mapping over useReaderQueryState, wallet-gated action filtering, function source selection, overview stat links, and read-error bookkeeping (including clearing call errors on navigation and refetching metadata off discrete chain-id/RPC watch sources). Hosts wire it to their own wallet/metadata configuration and keep only branding and layout in the page.
    • useTokenAmountMeta — token metadata resolution for amount-like params: resolves token identity (decimals/symbol, lowercased-address keyed, in-flight deduplicated) and connected-wallet balances, and derives per-input amount rendering/parsing info.
    • ActionResultPanel (components/Action/ResultPanel.vue) — the read-result live region previously inlined in ActionDetail, rendering loading/fields/single-value/error states with the address slot passthrough.

    ActionDetail and the playground/reader pages now consume these; behavior is unchanged.

Patch Changes

  • 99aa30a Thanks @jwahdatehagh! - The action detail's vertical rhythm is now owned entirely by its grid gap (--cr-action-detail-gap) instead of a mix of gap and per-block margins. Grid auto-rows don't reliably include child margins in track sizing — a margined block (e.g. a custom _component card) could overflow its row and swallow the next section's spacing, making the gap above the source link inconsistent. Child margins inside .cr-action-detail are now neutralized, and every section — results, previews, custom components — gets the same separation. Tune spacing via --cr-action-detail-gap.

  • 5100264 Thanks @jwahdatehagh! - Upgrade @evmnow/sdk to ^0.7.0: fixed Sourcify v2 integration (runtimeBytecode), chain-scoped metadata repository lookups, hardened merge/ENS/address handling, and new modular exports.

  • 5100264 Thanks @jwahdatehagh! - A round of correctness, security, performance, accessibility and packaging fixes across the reader:

    • Reads are now guarded by a request-generation counter (and action details are keyed per action), so switching actions while a read is in flight can no longer write a stale result or error into the new action's view.
    • Malformed min/max bounds in payable value validation metadata no longer throw and break rendering — unparseable bounds are ignored. A non-empty transaction value that doesn't parse as ETH now shows a visible error and disables sending even without a metadata validation rule.
    • writeContractFunction string values are now always ETH-denominated ("1" used to be treated as 1 wei while "1.5" was 1.5 ETH); bigints remain wei.
    • Token info is keyed by lowercased address on both write and read, so checksummed metadata addresses resolve the same entry, and concurrent token metadata lookups are deduplicated in flight.
    • Amount-like tuple members now render the same human-decimal amount input that arg building scales on submit, instead of silently multiplying raw input by 10^decimals.
    • External metadata URLs are scheme-allowlisted (https:/http:/data:image/*) before binding into img/iframe/a sinks, and metadata-supplied validation regexes are length-capped and compiled once (invalid patterns are ignored) to mitigate ReDoS.
    • Shiki (and the solidity grammar) now loads lazily when a source view first renders instead of shipping in the initial chunk, and token metadata gateway fetches time out after 15s instead of hanging forever.
    • Inputs are associated with real labels and expose aria-describedby/aria-invalid; read results/errors announce via a polite live region; card expanders expose aria-expanded/aria-controls; preview toggles expose aria-pressed; the copy button shows a brief failed state when clipboard access is denied.
    • Packaging: nuxt/vue are declared as peer dependencies, viem moved to a caret range compatible with @wagmi/core's peer range, and the deep import into the wallet layer's ENS cache is isolated behind a single adapter module.

@evmnow/contract-reader@0.7.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 07:19
788ec91

Minor Changes

  • ccec8b0 Thanks @jwahdatehagh! - Host-extensibility release — everything a consuming app previously had to work around is now a first-class API:

    • msg.value is exposed: a new value-field slot (with value/setValue/meta/label/disabled/error scope) lets hosts render their own payable-value input, and the actions slot scope now includes value (ETH string) and valueWei for confirmation previews.
    • Tuple-aware field slot: the slot scope now exposes the full input record (values, errors, setValue) plus the resolved amount info, so hosts can render tuple members and amount inputs over layer state instead of mirroring it.
    • Robust read triggers: reads triggered while one is in flight are queued instead of dropped; a changed readFunction identity refreshes a displayed result (time-travel/block pickers); new autoReadWithArgs prop auto-executes parameterized reads when hydrated args fill the form validly (deep links); ActionDetail exposes read() via template ref.
    • Semantic input widgets: enum (select), slider (range), date/datetime/timestamp (pickers storing unix seconds, ISO for string params, timezone-safe), duration (amount + unit, seconds storage), and bytes32-utf8 (text stored as right-padded hex, no stale value on overflow) — in ActionInput, shared by all consumers.
    • _component extension registry: registerActionComponent(type, component) + resolveActionComponent(meta) (utils/custom-components); ActionDetail renders registered components in its preview area with { value, config, args, address, abi, action }, and exposes customComponent/customArgs in the preview slot scope.
    • Injectable token resolution: a resolveTokenInfo prop (on ActionDetail/ActionPanel/ActionCards) replaces the built-in per-token eth_calls, e.g. with an indexer API; readFunction remains the fallback.
    • Types align with the SDK: types/metadata now re-exports the document types from @evmnow/sdk (with SemanticType aliasing ParamType), keeping only the layer-specific ParamMeta.components and _component extensions local. Requires @evmnow/sdk >= 0.6.0.

@evmnow/dapp@0.2.2

Choose a tag to compare

@github-actions github-actions released this 05 Jul 23:11
e5ad11e

Patch Changes

  • Updated dependencies [918c7f2]:
    • @evmnow/contract-reader@0.6.0

@evmnow/dapp@0.2.1

Choose a tag to compare

@github-actions github-actions released this 05 Jul 20:44
df2da97

Patch Changes

  • d0f2c59 Thanks @jwahdatehagh! - Move the generic reader glue from the app into the layer so any consumer gets a complete, wireable contract reader:

    • useContractWallet — wallet-layer wiring for readFunction/writeFunction, SDK metadataOptions/metadataFetch (moved from the dapp; now falls back to the wallet layer's main chain).
    • useTokenMetadataResolver — token-URI metadata resolution with gateways from appConfig.evm.
    • useReaderQueryState — query-param reader state machine with configurable views.
    • utils/provider-rpccreateProviderRpcFetch / PROVIDER_RPC_URL viem-client-to-fetch bridge.
    • ActionPanel component — the responsive list+detail / cards composition (formerly the dapp's ContractActions), with slot pass-through to ActionDetail (also added to ActionCards).
    • types/view — shared ContractView / ContractViewState / ReaderQueryState types.
    • ContractReadParams gains optional blockNumber for historical reads.
    • Source accepts a highlight function prop; utils/syntax adds loadSyntaxTheme / setSyntaxTheme and a theme argument on highlightSolidity.
    • The layer stylesheet now owns all .cr-* structural and default visual rules (shell/header/tabs, action items, cards, inputs, warnings, copy button, form-item fixes); apps only remap --cr-* tokens.
    • Ship LICENSE with the package.

    The dapp now contains only branding, routing, RPC-settings UX and theme token remaps; wagmi/viem are no longer direct dependencies.

  • Updated dependencies [d0f2c59]:

    • @evmnow/contract-reader@0.5.0

@evmnow/contract-reader@0.6.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 23:11
e5ad11e

Minor Changes

  • 918c7f2 Thanks @jwahdatehagh! - Resolve legacy ZeppelinOS (pre-EIP-1967) proxies via @evmnow/sdk 0.4.0.

    Contracts like Circle's USDC (FiatTokenProxy) store their implementation at keccak256('org.zeppelinos.proxy.implementation') and previously surfaced only the proxy's own ABI — the read/interact views showed the upgrade/admin functions instead of the implementation's. They now resolve through the standard proxy pipeline, so the ERC-20 functions (with their NatSpec) appear as expected.

@evmnow/contract-reader@0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 20:44
df2da97

Minor Changes

  • d0f2c59 Thanks @jwahdatehagh! - Move the generic reader glue from the app into the layer so any consumer gets a complete, wireable contract reader:

    • useContractWallet — wallet-layer wiring for readFunction/writeFunction, SDK metadataOptions/metadataFetch (moved from the dapp; now falls back to the wallet layer's main chain).
    • useTokenMetadataResolver — token-URI metadata resolution with gateways from appConfig.evm.
    • useReaderQueryState — query-param reader state machine with configurable views.
    • utils/provider-rpccreateProviderRpcFetch / PROVIDER_RPC_URL viem-client-to-fetch bridge.
    • ActionPanel component — the responsive list+detail / cards composition (formerly the dapp's ContractActions), with slot pass-through to ActionDetail (also added to ActionCards).
    • types/view — shared ContractView / ContractViewState / ReaderQueryState types.
    • ContractReadParams gains optional blockNumber for historical reads.
    • Source accepts a highlight function prop; utils/syntax adds loadSyntaxTheme / setSyntaxTheme and a theme argument on highlightSolidity.
    • The layer stylesheet now owns all .cr-* structural and default visual rules (shell/header/tabs, action items, cards, inputs, warnings, copy button, form-item fixes); apps only remap --cr-* tokens.
    • Ship LICENSE with the package.

    The dapp now contains only branding, routing, RPC-settings UX and theme token remaps; wagmi/viem are no longer direct dependencies.

@evmnow/dapp@0.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 18:21
80451b0

Minor Changes

  • 6022259 Thanks @jwahdatehagh! - Support setting the RPC from a URL query parameter.

    Links can now pass an RPC endpoint per chain using the dappspec ds-rpc-<chainId> convention, e.g. ?ds-rpc-1=https%3A%2F%2Frpc.example.org. The override takes priority over locally saved settings for the duration of the session and is never persisted. A ds-rpc-1 endpoint is also used for .eth ENS resolution, and both the reader and the settings page show a notice while an override is active.

Patch Changes

  • e552f41 Thanks @jwahdatehagh! - Align amount-input prefix/suffix segments with the reader theme. The form-item group now carries the input border, and the segments no longer draw their own outset ring taller than the field they belong to.

  • e552f41 Thanks @jwahdatehagh! - Hide actions locked to the connected wallet while no wallet is connected.

    An action whose hidden or disabled parameter (or transaction value) autofills from connected-address — like the ERC-20 interface's "My Balance" — cannot be invoked without a wallet. The new actionRequiresConnectedWallet() util identifies such actions, and the dapp now omits them from the action list until a wallet connects.

  • Updated dependencies [e552f41, e552f41, e552f41, e552f41]:

    • @evmnow/contract-reader@0.4.0

@evmnow/dapp@0.1.4

Choose a tag to compare

@github-actions github-actions released this 03 Jul 10:10
7bb242d

Patch Changes

  • Updated dependencies [c911301, c911301]:
    • @evmnow/contract-reader@0.3.0