Implement EIP-1193 provider for dApp connectivity
All checks were successful
check / check (push) Successful in 13s

Three-part architecture:
- inpage.js: creates window.ethereum in page context with
  request(), on(), send(), sendAsync(), enable() methods.
  Sets isMetaMask=true for compatibility.
- content/index.js: bridge between page and extension via
  postMessage (page<->content) and runtime.sendMessage
  (content<->background).
- background/index.js: handles RPC routing. Proxies read-only
  methods (eth_call, eth_getBalance, etc.) to configured RPC.
  Handles eth_requestAccounts (auto-connect for now),
  wallet_switchEthereumChain (mainnet only), and returns
  informative errors for unimplemented signing methods.

Manifests updated with web_accessible_resources for inpage.js.
Build updated to bundle inpage.js as a separate output file.
This commit is contained in:
2026-02-25 18:36:27 +07:00
parent 98b5eef21b
commit 1c9d5a9f2d
6 changed files with 414 additions and 3 deletions

View File

@@ -16,5 +16,11 @@
"js": ["src/content/index.js"],
"run_at": "document_start"
}
],
"web_accessible_resources": [
{
"resources": ["src/content/inpage.js"],
"matches": ["<all_urls>"]
}
]
}