eocene-sdk
v0.2.1
Published
Eocene custodial WaaS product SDK — OAuth/session, EIP-1193, React auth UI
Maintainers
Readme
eocene-sdk
Eocene custodial WaaS product layer: OAuth/session, EIP-1193, signature confirm (optional wallet password).
Install: npmjs.com/package/eocene-sdk
npm install eocene-sdkimport { AuthProvider, useAuth, authConfigFromViteEnv } from 'eocene-sdk'
import 'eocene-sdk/styles.css'
const config = authConfigFromViteEnv(import.meta.env)
const { login, getConnectorShim, openPasswordSettings, passwordEnabled } = useAuth()Docs: https://eocene.io/docs
Environment variables (Vite):
| Key | Description |
|---|---|
| EOCENE_PROJECT_ID | Public project id from the console (required for end-user OAuth) |
| EOCENE_CONTROL_URL | Optional. Default https://api.eocene.io. Use /eocene only when proxying a local worker |
| EOCENE_OAUTH_RETURN_TO | Optional. Default {origin}/login/eocene-callback |
| EOCENE_CHAIN_ID | Optional. Initial EVM chain for the EIP-1193 provider. Default 1 (Ethereum). Switch at runtime with wallet_switchEthereumChain |
| EOCENE_OAUTH_FALLBACK_DEV | Optional. Local mock when IdP is not configured (default off) |
Production control default: https://api.eocene.io
Publishing
npm run publish:token verifies the token, checks the version isn't already on
npm, publishes, and cleans up the temporary auth file. Supply the token by env
var (keeps it out of shell history) or as a flag — the -- is required so npm
forwards it to the script:
# token as a flag (note the --)
npm run publish:token -- --token=npm_xxxxxxxx
npm run publish:token -- --token=npm_xxxxxxxx --dry-run
# or via the environment, without echoing it
read -rs NPM_TOKEN && export NPM_TOKEN && npm run publish:tokenThe token is only exported to the npm subprocess; the temp .npmrc references
${NPM_TOKEN}, never the literal value.
Session expiry
Sessions are short-lived and cannot be refreshed. Route the user back to login when one expires:
<AuthProvider config={config} onSessionExpired={() => nav('/login')}>By the time onSessionExpired fires, local state is already cleared and
authenticated has flipped to false.
Multi-chain
The EIP-1193 provider defaults to Ethereum mainnet and supports
wallet_switchEthereumChain / chainChanged. The control plane validates the
target chain and rejects unknown ids. Read the supported set from
GET {control}/chains.
