robinhood-chain-sdk 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +11 -0
- package/dist/index.d.ts +881 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 MadeOnSol
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 MadeOnSol
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -15,6 +15,16 @@ Robinhood Chain (RHC) is an **Arbitrum Orbit L2, chain id 4663**. This SDK wraps
|
|
|
15
15
|
|
|
16
16
|
The KOL→EVM mapping is unique to MadeOnSol: each tracked Solana KOL's Robinhood-Chain wallet is recovered by tracing their Solana→EVM bridge deposits (deBridge / Relay / Mayan / Wormhole), then attributed on-chain to the effective trading account (`tx.from`, or the ERC-4337 userOp sender when the trade was bundled). Robinhood Chain coverage is **bundled into every MadeOnSol tier at no extra cost — same `msk_` API key, same base URL** as the Solana product.
|
|
17
17
|
|
|
18
|
+
> **New in 0.14.0 (SDK contract parity, 2026-10-03).** **New method:** `client.wallet.funding(address, { limit?, offset? })` → `GET /rhc/wallet/{address}/funding` (PRO+): shared-funder evidence (`shared_funders[]` with `to_this_wallet` / `connected_wallets` transfers, `coverage`, `status`, `pagination`) plus the additive `direct_funding` block. Raw amounts stay exact strings (`amount_raw`); `relationships` cross-wallet counts are ULTRA+ only and absent for PRO. Evidence of a funding connection, not proof of common ownership; a 503 `funding_data_unavailable` is a data error, not an empty result. **New optional fields:** `attribution` (`RhcAttributionNote`) on `alphaWallets()`, `tokens.topTraders()` and `tokens.flow()`; `zero_cost_share` on alpha-wallet rows; `kol_score` (`RhcKolFeedScore`) on `kol.feed()` trades; the sort=newest/oldest cursor fields (`next_after`, `next_cursor`, `next_since`, `has_more`, `scan`, …) on `tokens.list()`; `from` / `to` / `truncated` / `covered_from` on `tokens.candles()`.
|
|
19
|
+
|
|
20
|
+
> **New in 0.13.0 (API parity 2026-10-03).** **Verified holdings:** `client.wallet.profile()` gains `holdings` (`RhcHoldingsSummary`, null when the snapshot was unavailable) and `client.wallet.positions()` rows are now `RhcVerifiedOpenPosition` (`current_onchain_balance`, `holding_status`: `HELD` / `PARTIALLY_REDUCED` / `TRANSFERRED_OR_DISPOSED` / `EXTERNAL_INFLOW` / `BALANCE_UNVERIFIED`, `holding_unverified_reason`, held/not-held cost basis) with `summary.holdings`. FIFO-open is a trading position, not a balance: only `holdings.verified_value_eth` counts proven balances. **Copy-trade:** `operational_state` (`eligible` / `no_tracked_sources` / `unknown`, separate from `is_active`), `source_wallets_tracked` / `source_wallets_untracked`, `warnings`. **New methods:** `client.tokens.locksFeed()` → `GET /rhc/tokens/locks`, `client.tokens.locks(address)` → `GET /rhc/tokens/{address}/locks`, `client.tokens.unlocks()` → `GET /rhc/tokens/unlocks` (PRO+; rows carry `provider` identity verified / compatible / unverified, Blockscout `explorer` links, `price_usd`, `seconds_until_end` / `seconds_until_next_unlock`; create-only, withdrawals not tracked; raw amounts are strings), and `client.tokens.earlyBuyers(address)` → `GET /rhc/tokens/{address}/early-buyers` (PRO+, untyped body).
|
|
21
|
+
|
|
22
|
+
> **New in 0.13.0, continued (API parity 2026-10-03, second pass).** **Pagination:** `client.kol.feed()`, `client.kol.firstTouches()` and `client.deployer.alerts()` accept `cursor` (opaque strict keyset, preferred over the legacy `before`) and return `next_cursor`, `has_more`, `scan` (`FeedScanInfo`, on post-filtered pages) and the free-tier delay fields (`FreeTierDelayMeta`). `kol.feed()` also accepts `exclude_sells`, `min_kol_winrate` (0–1), `strategy`, `token_age_max_min`, `min_mc_usd` / `max_mc_usd` and returns `filtered_by` / `matched_kols`; alert rows carry `liquidity_basis` and the response `liquidity_note`. **Token snapshot:** `RhcTokenDeployer` reputation fields are nullable (null while the deployer is not yet in the reputation view) and gain `identity_status` / `history_status`; `RhcTokenKolActivity` gains `distinct_wallets`, `buy_eth`, `sell_eth`, `participants`, `identity`, `window`, `basis`, `complete` (+ `sample_size` on the fallback sample); `RhcTokenSnapshot` gains `deployer_identity_status`, `price_observed_at`, `price_age_seconds`, `price_is_stale`, `price_updated_at`, `liquidity_basis`, `liquidity_note`, `degraded_fields`. **Buyer quality:** `QualityConfidence` adds `insufficient_data`; breakdown gains `wallets_with_history` / `qualified_win_rate_wallets`; responses carry `cohort_selection` and `coverage.earliest_buyers_caveat`. **Stream token:** `StreamToken.dex_ws_url` (ULTRA / BUSINESS / ENTERPRISE only) plus `usage`, `subscribe_example`, `channels`, `rhc_token_prices`, `named_subscriptions`. **Early buyers:** `client.tokens.earlyBuyers()` is now typed (`RhcEarlyBuyersResponse` / `RhcEarlyBuyer`). Nullability changes on `RhcTokenDeployer` can break strict-null code that read those fields as non-null.
|
|
23
|
+
|
|
24
|
+
> **New in 0.12.0 — WS Phase 4 stream types.** `rhc:token_candles`, `rhc:token_risk` and `rhc:wallet_scores` channels, event names, payload and filter types (README example).
|
|
25
|
+
|
|
26
|
+
> **New in 0.11.0 — WS Phase 3 stream types.** `rhc:lp_events` channel, `rhc:lp_event` and unlock-schedule event names, `RhcLpStreamEvent` + filters, `/rhc/lp-events` `action` and depth fields.
|
|
27
|
+
|
|
18
28
|
> **New in 0.10.0 — named subscriptions: several independent subscriptions per socket.** `subscribe({ subId, channels, filters })`, `updateSubscription(subId, filters)`, `unsubscribe(subId)`, `getSubscriptions()` / `listSubscriptions()`. Each named subscription has its own channels and filters (the server caps the total per connection, default included: PRO 5, ULTRA 10, BUSINESS 20); frames carry `evt.sub_id`; an event matching several subscriptions is delivered once per subscription (dedupe per `(sub_id, id)`). Resume is per subscription with one commit for the connection. The plain `subscribe(channels, filters)` API is unchanged. See "Named subscriptions" in the stream section.
|
|
19
29
|
|
|
20
30
|
> **Also in 0.10.0 — `rhc:token_prices` and enriched RHC trade payloads (WS Phase 2).** A tenth RHC channel, `rhc:token_prices` (PRO+, address-scoped): subscribe with `filters.addresses` (25 / 100 / 250 per connection on PRO / ULTRA / BUSINESS, rejected above the cap) and receive one `snapshot: true` frame per address, then ticks derived from the RHC trade feed at most once per address per 250 ms, each typed `RhcTokenPriceTick` with `quality` fresh | stale | unreliable and a `quality_reason`; a stale or unreliable price is never delivered as fresh. `rhc:dex_trade` / `rhc:dex_trade_unattributed` frames now carry additive enrichment, typed `RhcDexTradeEvent` / `RhcDexTradeUnattributedEvent`: exact `amount_in_raw` / `amount_out_raw` decimal strings (never floats), `token` + `quote` identity with decimals, `metadata_status`, `price_status` / `price_source` / `price_observed_at`, `mc_status` (why `mc_usd` is null) and `side` / `side_reason`. Every existing field keeps its name.
|
|
@@ -106,6 +116,7 @@ All 54 Robinhood Chain operations live under `https://madeonsol.com/api/v1`. Bea
|
|
|
106
116
|
| 30 | `GET /rhc/deployer-hunter/{address}/tokens` | `client.deployerHunter.tokens(address, params?)` | BASIC |
|
|
107
117
|
| 31 | `GET /rhc/deployer-hunter/{address}/history` | `client.deployerHunter.history(address, params?)` | PRO+ |
|
|
108
118
|
| 32 | `GET /rhc/alpha-wallets` | `client.alphaWallets(params?)` | PRO+ |
|
|
119
|
+
| + | `GET /rhc/wallet/{address}/funding` | `client.wallet.funding(address, params?)` | PRO+ (`direct_funding.*.relationships` ULTRA+) |
|
|
109
120
|
| 33 | `GET /rhc/copytrade/subscriptions` | `client.copyTrade.list()` | PRO+ |
|
|
110
121
|
| 34 | `POST /rhc/copytrade/subscriptions` | `client.copyTrade.create(params)` | PRO+ |
|
|
111
122
|
| 35 | `GET /rhc/copytrade/subscriptions/{id}` | `client.copyTrade.get(id)` | PRO+ |
|