@forevermoney/sdk 0.5.3 → 0.5.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.4 — 2026-09-21
4
+
5
+ - Added the canonical Robinhood SN80 token to deployment metadata and enabled
6
+ staked SN80 bridge preparation between Robinhood and Finney in both
7
+ directions. Deployment metadata version is 1.4.0.
8
+
3
9
  ## 0.5.3 — 2026-09-19
4
10
 
5
11
  - Increased EVM-to-Subtensor CCIP destination execution gas from the spoke
package/README.md CHANGED
@@ -134,13 +134,12 @@ The bridge does not deduct its fee from the destination amount. For both
134
134
  directions, the SDK encodes the bridge amount itself as the contract's minimum
135
135
  output; callers cannot weaken that invariant.
136
136
 
137
- ## Bridge SN80 on Base
137
+ ## Bridge SN80 on Base and Robinhood
138
138
 
139
- Pass `asset: 'sn80'` to bridge Base SN80 to a Finney subnet-80 staked position,
140
- or bridge existing subnet-80 stake back to Base SN80. The default asset is `tao`,
141
- so existing TAO integrations keep their behavior. SN80 is supported on the Base
142
- lane with staked input/delivery; liquid TAO conversion and the Robinhood SN80
143
- lane are not supported by these methods.
139
+ Pass `asset: 'sn80'` to bridge Base or Robinhood SN80 to a Finney subnet-80
140
+ staked position, or bridge existing subnet-80 stake back to either EVM chain.
141
+ The default asset is `tao`, so existing TAO integrations keep their behavior.
142
+ SN80 uses staked input/delivery; liquid TAO conversion is not supported.
144
143
 
145
144
  ```ts
146
145
  const toFinney = await foreverMoney.bridge.prepareBaseToSubtensor({
@@ -175,10 +174,13 @@ any other SN80 validator cannot be bridged until it is moved to that hotkey.
175
174
  Canonical SN80 token addresses are exported as `contracts.wrappedSn80`:
176
175
 
177
176
  - Base: `0x6F63d869011f95274498023b4ABFC00b30c34378`
177
+ - Robinhood: `0x6F63d869011f95274498023b4ABFC00b30c34378`
178
178
  - Finney: `0xfD628dE75EF96f0A5C59659159C6cA81E0DC2222`
179
179
 
180
180
  The Base address `0x2292233d308188fcb3775f63a20f31dff6db02d9` is the SN80/TAO
181
- liquidity pool; bridge calls use the token addresses above.
181
+ liquidity pool. The Robinhood SN80/TAO pool is
182
+ `0xBB17f4Db7831128239a34C2F7bd291622FC2Cc38`; bridge calls use the token
183
+ addresses above.
182
184
 
183
185
  ## Bridge stake held with several validators
184
186
 
package/dist/index.cjs CHANGED
@@ -95,7 +95,7 @@ var SUBTENSOR_CCIP_SELECTOR = 2135107236357186872n;
95
95
  var RAO_PER_TAO = 1000000000n;
96
96
  var EVM_WEI_PER_RAO = 1000000000n;
97
97
  var SN80_NETUID = 80n;
98
- var FOREVERMONEY_DEPLOYMENT_VERSION = "1.3.0";
98
+ var FOREVERMONEY_DEPLOYMENT_VERSION = "1.4.0";
99
99
  var foreverMoneyDeployment = Object.freeze({
100
100
  version: FOREVERMONEY_DEPLOYMENT_VERSION,
101
101
  base: Object.freeze({
@@ -148,6 +148,9 @@ var foreverMoneyDeployment = Object.freeze({
148
148
  wrappedTao: (0, import_viem.getAddress)(
149
149
  "0xf3081494B87e8D5fb7960f066E931D1D0e6E3d67"
150
150
  ),
151
+ wrappedSn80: (0, import_viem.getAddress)(
152
+ "0x6f63d869011f95274498023b4abfc00b30c34378"
153
+ ),
151
154
  ccipRouter: (0, import_viem.getAddress)(
152
155
  "0x06fC836cf9839B1cd891C440A0a45242DA6Ae1c9"
153
156
  ),
@@ -814,15 +817,9 @@ function bridgeAsset(evmChain, asset = "tao") {
814
817
  'Asset must be "tao" or "sn80".'
815
818
  );
816
819
  }
817
- if (asset === "sn80" && evmChain !== "base") {
818
- throw new ForeverMoneyError(
819
- "INVALID_TRANSACTION_PLAN",
820
- "SN80 bridging is supported between Base and Subtensor."
821
- );
822
- }
823
820
  const evm = getForeverMoneyEvmDeployment(evmChain);
824
821
  return asset === "sn80" ? {
825
- evmToken: foreverMoneyDeployment.base.contracts.wrappedSn80,
822
+ evmToken: evm.contracts.wrappedSn80,
826
823
  subtensorToken: foreverMoneyDeployment.subtensor.contracts.wrappedSn80,
827
824
  label: "SN80",
828
825
  wrappedLabel: "SN80"