@forevermoney/sdk 0.5.5 → 0.5.7

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/dist/index.d.cts CHANGED
@@ -8,10 +8,12 @@ declare const ROBINHOOD_CCIP_SELECTOR = 6180753054346818345n;
8
8
  declare const SUBTENSOR_CCIP_SELECTOR = 2135107236357186872n;
9
9
  declare const RAO_PER_TAO = 1000000000n;
10
10
  declare const EVM_WEI_PER_RAO = 1000000000n;
11
+ declare const SN78_NETUID = 78n;
12
+ declare const SN10_NETUID = 10n;
11
13
  declare const SN80_NETUID = 80n;
12
- declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.4.0";
14
+ declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.6.0";
13
15
  declare const foreverMoneyDeployment: Readonly<{
14
- version: "1.4.0";
16
+ version: "1.6.0";
15
17
  base: Readonly<{
16
18
  key: "base";
17
19
  name: "Base";
@@ -21,6 +23,8 @@ declare const foreverMoneyDeployment: Readonly<{
21
23
  gateway: `0x${string}`;
22
24
  legacyGateways: readonly `0x${string}`[];
23
25
  wrappedTao: `0x${string}`;
26
+ wrappedSn78: `0x${string}`;
27
+ wrappedSn10: `0x${string}`;
24
28
  wrappedSn80: `0x${string}`;
25
29
  ccipRouter: `0x${string}`;
26
30
  ccipOffRampFromSubtensor: `0x${string}`;
@@ -40,6 +44,8 @@ declare const foreverMoneyDeployment: Readonly<{
40
44
  gateway: `0x${string}`;
41
45
  legacyGateways: readonly `0x${string}`[];
42
46
  wrappedTao: `0x${string}`;
47
+ wrappedSn78: `0x${string}`;
48
+ wrappedSn10: `0x${string}`;
43
49
  wrappedSn80: `0x${string}`;
44
50
  ccipRouter: `0x${string}`;
45
51
  ccipOffRampFromSubtensor: `0x${string}`;
@@ -53,6 +59,8 @@ declare const foreverMoneyDeployment: Readonly<{
53
59
  legacyGateways: readonly `0x${string}`[];
54
60
  alphaVault: `0x${string}`;
55
61
  wrappedTao: `0x${string}`;
62
+ wrappedSn78: `0x${string}`;
63
+ wrappedSn10: `0x${string}`;
56
64
  wrappedSn80: `0x${string}`;
57
65
  ccipRouter: `0x${string}`;
58
66
  ccipOffRampFromBase: `0x${string}`;
@@ -95,7 +103,7 @@ declare const MIN_LIQUID_SUBTENSOR_TO_EVM_WEI: bigint;
95
103
  declare const EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT = 3500000n;
96
104
  type SubtensorDelivery = 'liquid' | 'staked';
97
105
  type SubtensorSource = 'liquid' | 'staked';
98
- type BridgeAsset = 'tao' | 'sn80';
106
+ type BridgeAsset = 'tao' | 'sn80' | 'sn10' | 'sn78';
99
107
  /**
100
108
  * Optional partner (integrator) fee, charged ON TOP of the bridged amount and
101
109
  * paid to `recipient` on the source chain. The full `amountWei` still crosses.
@@ -449,4 +457,4 @@ interface ViemTransactionRequest {
449
457
  }
450
458
  declare function toViemTransaction(transaction: PreparedTransaction): Readonly<ViemTransactionRequest>;
451
459
 
452
- export { BASE_CCIP_SELECTOR, BASE_CHAIN_ID, BASIS_POINTS, type BaseToSubtensorRequest, type BridgeAsset, type BridgeDirection, type BridgePreparation, type BridgeSourceStatus, type BridgeSourceStatusRequest, type BridgeSourceTransactionStatus, type BuildBaseToSubtensorPlanRequest, type BuildEvmToSubtensorPlanRequest, type BuildSubtensorToBasePlanRequest, type BuildSubtensorToEvmPlanRequest, type CcipDeliveryCheckpoint, type CcipDeliveryStatus, type CcipDeliveryStatusRequest, type CreateVaultRequest, type DepositVaultRequest, EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT, EVM_WEI_PER_RAO, type Eip1193TransactionRequest, type EstimateRoundedStakeRequest, type EthersCompatibleTransactionRequest, type EvmToSubtensorRequest, FOREVERMONEY_DEPLOYMENT_VERSION, type ForeverMoneyClient, type ForeverMoneyClientOptions, type ForeverMoneyDeployment, ForeverMoneyError, type ForeverMoneyErrorCode, type ForeverMoneyEvmChain, GAS_LIMIT_BUFFER_BPS, type HttpTransportOptions, type LegacyRpcProvider, MAX_PARTNER_FEE_BPS, MAX_STAKE_PULLS, MIN_LIQUID_BASE_TO_SUBTENSOR_WEI, MIN_LIQUID_EVM_TO_SUBTENSOR_WEI, MIN_LIQUID_SUBTENSOR_TO_EVM_WEI, NETWORK_FEE_BUFFER_BPS, type PartnerFee, type PreparedTransaction, RAO_PER_TAO, ROBINHOOD_CCIP_SELECTOR, ROBINHOOD_CHAIN_ID, type ReceiptLog, type RoundedStakeEstimate, type RpcRequest, type RpcTransport, SN80_NETUID, SUBTENSOR_CCIP_SELECTOR, SUBTENSOR_CHAIN_ID, type StakePosition, type StakePull, type StakeRoundingOptions, type StakeRoundingResult, type SubtensorDelivery, type SubtensorSource, type SubtensorToBaseRequest, type SubtensorToEvmRequest, type TrackingProvider, type TransactionAction, type TransactionPlan, type TransactionReceiptLike, type TransactionStep, type TransactionStepKind, type VaultStashToken, type VaultTokenAllowance, type ViemTransactionRequest, type WithdrawVaultRequest, assertWholeRao, bridgeMessageIdFromReceipt, buildBaseToSubtensorPlan, buildClaimVaultFeesPlan, buildCreateVaultPlan, buildDepositVaultPlan, buildEvmToSubtensorPlan, buildSetVaultStakingPlan, buildSubtensorToBasePlan, buildSubtensorToEvmPlan, buildWithdrawVaultPlan, createForeverMoneyClient, destinationChainId, estimateRoundedStake, evmChainFromBridgeDirection, evmToMirrorSS58, feeWithBuffer, foreverMoneyAbis, foreverMoneyDeployment, formatTaoAmount, gasLimitWithBuffer, getBridgeSourceStatus, getCcipDeliveryCheckpoint, getCcipDeliveryStatus, getForeverMoneyEvmDeployment, http, isBittensorSS58, isEvmToSubtensorDirection, normalizeEvmAddress, normalizeSS58, parseTaoAmount, partnerFeeCut, partnerFeeTaoTopUp, sourceChainId, ss58ToPublicKey, stakedMinimumOutput, strandedStakeSource, toEip1193Transaction, toEthersTransaction, toViemTransaction, vaultManagerFromCreationReceipt };
460
+ export { BASE_CCIP_SELECTOR, BASE_CHAIN_ID, BASIS_POINTS, type BaseToSubtensorRequest, type BridgeAsset, type BridgeDirection, type BridgePreparation, type BridgeSourceStatus, type BridgeSourceStatusRequest, type BridgeSourceTransactionStatus, type BuildBaseToSubtensorPlanRequest, type BuildEvmToSubtensorPlanRequest, type BuildSubtensorToBasePlanRequest, type BuildSubtensorToEvmPlanRequest, type CcipDeliveryCheckpoint, type CcipDeliveryStatus, type CcipDeliveryStatusRequest, type CreateVaultRequest, type DepositVaultRequest, EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT, EVM_WEI_PER_RAO, type Eip1193TransactionRequest, type EstimateRoundedStakeRequest, type EthersCompatibleTransactionRequest, type EvmToSubtensorRequest, FOREVERMONEY_DEPLOYMENT_VERSION, type ForeverMoneyClient, type ForeverMoneyClientOptions, type ForeverMoneyDeployment, ForeverMoneyError, type ForeverMoneyErrorCode, type ForeverMoneyEvmChain, GAS_LIMIT_BUFFER_BPS, type HttpTransportOptions, type LegacyRpcProvider, MAX_PARTNER_FEE_BPS, MAX_STAKE_PULLS, MIN_LIQUID_BASE_TO_SUBTENSOR_WEI, MIN_LIQUID_EVM_TO_SUBTENSOR_WEI, MIN_LIQUID_SUBTENSOR_TO_EVM_WEI, NETWORK_FEE_BUFFER_BPS, type PartnerFee, type PreparedTransaction, RAO_PER_TAO, ROBINHOOD_CCIP_SELECTOR, ROBINHOOD_CHAIN_ID, type ReceiptLog, type RoundedStakeEstimate, type RpcRequest, type RpcTransport, SN10_NETUID, SN78_NETUID, SN80_NETUID, SUBTENSOR_CCIP_SELECTOR, SUBTENSOR_CHAIN_ID, type StakePosition, type StakePull, type StakeRoundingOptions, type StakeRoundingResult, type SubtensorDelivery, type SubtensorSource, type SubtensorToBaseRequest, type SubtensorToEvmRequest, type TrackingProvider, type TransactionAction, type TransactionPlan, type TransactionReceiptLike, type TransactionStep, type TransactionStepKind, type VaultStashToken, type VaultTokenAllowance, type ViemTransactionRequest, type WithdrawVaultRequest, assertWholeRao, bridgeMessageIdFromReceipt, buildBaseToSubtensorPlan, buildClaimVaultFeesPlan, buildCreateVaultPlan, buildDepositVaultPlan, buildEvmToSubtensorPlan, buildSetVaultStakingPlan, buildSubtensorToBasePlan, buildSubtensorToEvmPlan, buildWithdrawVaultPlan, createForeverMoneyClient, destinationChainId, estimateRoundedStake, evmChainFromBridgeDirection, evmToMirrorSS58, feeWithBuffer, foreverMoneyAbis, foreverMoneyDeployment, formatTaoAmount, gasLimitWithBuffer, getBridgeSourceStatus, getCcipDeliveryCheckpoint, getCcipDeliveryStatus, getForeverMoneyEvmDeployment, http, isBittensorSS58, isEvmToSubtensorDirection, normalizeEvmAddress, normalizeSS58, parseTaoAmount, partnerFeeCut, partnerFeeTaoTopUp, sourceChainId, ss58ToPublicKey, stakedMinimumOutput, strandedStakeSource, toEip1193Transaction, toEthersTransaction, toViemTransaction, vaultManagerFromCreationReceipt };
package/dist/index.d.ts CHANGED
@@ -8,10 +8,12 @@ declare const ROBINHOOD_CCIP_SELECTOR = 6180753054346818345n;
8
8
  declare const SUBTENSOR_CCIP_SELECTOR = 2135107236357186872n;
9
9
  declare const RAO_PER_TAO = 1000000000n;
10
10
  declare const EVM_WEI_PER_RAO = 1000000000n;
11
+ declare const SN78_NETUID = 78n;
12
+ declare const SN10_NETUID = 10n;
11
13
  declare const SN80_NETUID = 80n;
12
- declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.4.0";
14
+ declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.6.0";
13
15
  declare const foreverMoneyDeployment: Readonly<{
14
- version: "1.4.0";
16
+ version: "1.6.0";
15
17
  base: Readonly<{
16
18
  key: "base";
17
19
  name: "Base";
@@ -21,6 +23,8 @@ declare const foreverMoneyDeployment: Readonly<{
21
23
  gateway: `0x${string}`;
22
24
  legacyGateways: readonly `0x${string}`[];
23
25
  wrappedTao: `0x${string}`;
26
+ wrappedSn78: `0x${string}`;
27
+ wrappedSn10: `0x${string}`;
24
28
  wrappedSn80: `0x${string}`;
25
29
  ccipRouter: `0x${string}`;
26
30
  ccipOffRampFromSubtensor: `0x${string}`;
@@ -40,6 +44,8 @@ declare const foreverMoneyDeployment: Readonly<{
40
44
  gateway: `0x${string}`;
41
45
  legacyGateways: readonly `0x${string}`[];
42
46
  wrappedTao: `0x${string}`;
47
+ wrappedSn78: `0x${string}`;
48
+ wrappedSn10: `0x${string}`;
43
49
  wrappedSn80: `0x${string}`;
44
50
  ccipRouter: `0x${string}`;
45
51
  ccipOffRampFromSubtensor: `0x${string}`;
@@ -53,6 +59,8 @@ declare const foreverMoneyDeployment: Readonly<{
53
59
  legacyGateways: readonly `0x${string}`[];
54
60
  alphaVault: `0x${string}`;
55
61
  wrappedTao: `0x${string}`;
62
+ wrappedSn78: `0x${string}`;
63
+ wrappedSn10: `0x${string}`;
56
64
  wrappedSn80: `0x${string}`;
57
65
  ccipRouter: `0x${string}`;
58
66
  ccipOffRampFromBase: `0x${string}`;
@@ -95,7 +103,7 @@ declare const MIN_LIQUID_SUBTENSOR_TO_EVM_WEI: bigint;
95
103
  declare const EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT = 3500000n;
96
104
  type SubtensorDelivery = 'liquid' | 'staked';
97
105
  type SubtensorSource = 'liquid' | 'staked';
98
- type BridgeAsset = 'tao' | 'sn80';
106
+ type BridgeAsset = 'tao' | 'sn80' | 'sn10' | 'sn78';
99
107
  /**
100
108
  * Optional partner (integrator) fee, charged ON TOP of the bridged amount and
101
109
  * paid to `recipient` on the source chain. The full `amountWei` still crosses.
@@ -449,4 +457,4 @@ interface ViemTransactionRequest {
449
457
  }
450
458
  declare function toViemTransaction(transaction: PreparedTransaction): Readonly<ViemTransactionRequest>;
451
459
 
452
- export { BASE_CCIP_SELECTOR, BASE_CHAIN_ID, BASIS_POINTS, type BaseToSubtensorRequest, type BridgeAsset, type BridgeDirection, type BridgePreparation, type BridgeSourceStatus, type BridgeSourceStatusRequest, type BridgeSourceTransactionStatus, type BuildBaseToSubtensorPlanRequest, type BuildEvmToSubtensorPlanRequest, type BuildSubtensorToBasePlanRequest, type BuildSubtensorToEvmPlanRequest, type CcipDeliveryCheckpoint, type CcipDeliveryStatus, type CcipDeliveryStatusRequest, type CreateVaultRequest, type DepositVaultRequest, EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT, EVM_WEI_PER_RAO, type Eip1193TransactionRequest, type EstimateRoundedStakeRequest, type EthersCompatibleTransactionRequest, type EvmToSubtensorRequest, FOREVERMONEY_DEPLOYMENT_VERSION, type ForeverMoneyClient, type ForeverMoneyClientOptions, type ForeverMoneyDeployment, ForeverMoneyError, type ForeverMoneyErrorCode, type ForeverMoneyEvmChain, GAS_LIMIT_BUFFER_BPS, type HttpTransportOptions, type LegacyRpcProvider, MAX_PARTNER_FEE_BPS, MAX_STAKE_PULLS, MIN_LIQUID_BASE_TO_SUBTENSOR_WEI, MIN_LIQUID_EVM_TO_SUBTENSOR_WEI, MIN_LIQUID_SUBTENSOR_TO_EVM_WEI, NETWORK_FEE_BUFFER_BPS, type PartnerFee, type PreparedTransaction, RAO_PER_TAO, ROBINHOOD_CCIP_SELECTOR, ROBINHOOD_CHAIN_ID, type ReceiptLog, type RoundedStakeEstimate, type RpcRequest, type RpcTransport, SN80_NETUID, SUBTENSOR_CCIP_SELECTOR, SUBTENSOR_CHAIN_ID, type StakePosition, type StakePull, type StakeRoundingOptions, type StakeRoundingResult, type SubtensorDelivery, type SubtensorSource, type SubtensorToBaseRequest, type SubtensorToEvmRequest, type TrackingProvider, type TransactionAction, type TransactionPlan, type TransactionReceiptLike, type TransactionStep, type TransactionStepKind, type VaultStashToken, type VaultTokenAllowance, type ViemTransactionRequest, type WithdrawVaultRequest, assertWholeRao, bridgeMessageIdFromReceipt, buildBaseToSubtensorPlan, buildClaimVaultFeesPlan, buildCreateVaultPlan, buildDepositVaultPlan, buildEvmToSubtensorPlan, buildSetVaultStakingPlan, buildSubtensorToBasePlan, buildSubtensorToEvmPlan, buildWithdrawVaultPlan, createForeverMoneyClient, destinationChainId, estimateRoundedStake, evmChainFromBridgeDirection, evmToMirrorSS58, feeWithBuffer, foreverMoneyAbis, foreverMoneyDeployment, formatTaoAmount, gasLimitWithBuffer, getBridgeSourceStatus, getCcipDeliveryCheckpoint, getCcipDeliveryStatus, getForeverMoneyEvmDeployment, http, isBittensorSS58, isEvmToSubtensorDirection, normalizeEvmAddress, normalizeSS58, parseTaoAmount, partnerFeeCut, partnerFeeTaoTopUp, sourceChainId, ss58ToPublicKey, stakedMinimumOutput, strandedStakeSource, toEip1193Transaction, toEthersTransaction, toViemTransaction, vaultManagerFromCreationReceipt };
460
+ export { BASE_CCIP_SELECTOR, BASE_CHAIN_ID, BASIS_POINTS, type BaseToSubtensorRequest, type BridgeAsset, type BridgeDirection, type BridgePreparation, type BridgeSourceStatus, type BridgeSourceStatusRequest, type BridgeSourceTransactionStatus, type BuildBaseToSubtensorPlanRequest, type BuildEvmToSubtensorPlanRequest, type BuildSubtensorToBasePlanRequest, type BuildSubtensorToEvmPlanRequest, type CcipDeliveryCheckpoint, type CcipDeliveryStatus, type CcipDeliveryStatusRequest, type CreateVaultRequest, type DepositVaultRequest, EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT, EVM_WEI_PER_RAO, type Eip1193TransactionRequest, type EstimateRoundedStakeRequest, type EthersCompatibleTransactionRequest, type EvmToSubtensorRequest, FOREVERMONEY_DEPLOYMENT_VERSION, type ForeverMoneyClient, type ForeverMoneyClientOptions, type ForeverMoneyDeployment, ForeverMoneyError, type ForeverMoneyErrorCode, type ForeverMoneyEvmChain, GAS_LIMIT_BUFFER_BPS, type HttpTransportOptions, type LegacyRpcProvider, MAX_PARTNER_FEE_BPS, MAX_STAKE_PULLS, MIN_LIQUID_BASE_TO_SUBTENSOR_WEI, MIN_LIQUID_EVM_TO_SUBTENSOR_WEI, MIN_LIQUID_SUBTENSOR_TO_EVM_WEI, NETWORK_FEE_BUFFER_BPS, type PartnerFee, type PreparedTransaction, RAO_PER_TAO, ROBINHOOD_CCIP_SELECTOR, ROBINHOOD_CHAIN_ID, type ReceiptLog, type RoundedStakeEstimate, type RpcRequest, type RpcTransport, SN10_NETUID, SN78_NETUID, SN80_NETUID, SUBTENSOR_CCIP_SELECTOR, SUBTENSOR_CHAIN_ID, type StakePosition, type StakePull, type StakeRoundingOptions, type StakeRoundingResult, type SubtensorDelivery, type SubtensorSource, type SubtensorToBaseRequest, type SubtensorToEvmRequest, type TrackingProvider, type TransactionAction, type TransactionPlan, type TransactionReceiptLike, type TransactionStep, type TransactionStepKind, type VaultStashToken, type VaultTokenAllowance, type ViemTransactionRequest, type WithdrawVaultRequest, assertWholeRao, bridgeMessageIdFromReceipt, buildBaseToSubtensorPlan, buildClaimVaultFeesPlan, buildCreateVaultPlan, buildDepositVaultPlan, buildEvmToSubtensorPlan, buildSetVaultStakingPlan, buildSubtensorToBasePlan, buildSubtensorToEvmPlan, buildWithdrawVaultPlan, createForeverMoneyClient, destinationChainId, estimateRoundedStake, evmChainFromBridgeDirection, evmToMirrorSS58, feeWithBuffer, foreverMoneyAbis, foreverMoneyDeployment, formatTaoAmount, gasLimitWithBuffer, getBridgeSourceStatus, getCcipDeliveryCheckpoint, getCcipDeliveryStatus, getForeverMoneyEvmDeployment, http, isBittensorSS58, isEvmToSubtensorDirection, normalizeEvmAddress, normalizeSS58, parseTaoAmount, partnerFeeCut, partnerFeeTaoTopUp, sourceChainId, ss58ToPublicKey, stakedMinimumOutput, strandedStakeSource, toEip1193Transaction, toEthersTransaction, toViemTransaction, vaultManagerFromCreationReceipt };
package/dist/index.js CHANGED
@@ -8,8 +8,10 @@ var ROBINHOOD_CCIP_SELECTOR = 6180753054346818345n;
8
8
  var SUBTENSOR_CCIP_SELECTOR = 2135107236357186872n;
9
9
  var RAO_PER_TAO = 1000000000n;
10
10
  var EVM_WEI_PER_RAO = 1000000000n;
11
+ var SN78_NETUID = 78n;
12
+ var SN10_NETUID = 10n;
11
13
  var SN80_NETUID = 80n;
12
- var FOREVERMONEY_DEPLOYMENT_VERSION = "1.4.0";
14
+ var FOREVERMONEY_DEPLOYMENT_VERSION = "1.6.0";
13
15
  var foreverMoneyDeployment = Object.freeze({
14
16
  version: FOREVERMONEY_DEPLOYMENT_VERSION,
15
17
  base: Object.freeze({
@@ -27,6 +29,12 @@ var foreverMoneyDeployment = Object.freeze({
27
29
  wrappedTao: getAddress(
28
30
  "0xf3081494b87e8d5fb7960f066e931d1d0e6e3d67"
29
31
  ),
32
+ wrappedSn78: getAddress(
33
+ "0x6e2feEE56bc5F0Db2104Ab1dac2cf1Fb0334eb49"
34
+ ),
35
+ wrappedSn10: getAddress(
36
+ "0xDdDE5965D49e69b6362BD8743e139a45dBFEb7b3"
37
+ ),
30
38
  wrappedSn80: getAddress(
31
39
  "0x6f63d869011f95274498023b4abfc00b30c34378"
32
40
  ),
@@ -62,6 +70,12 @@ var foreverMoneyDeployment = Object.freeze({
62
70
  wrappedTao: getAddress(
63
71
  "0xf3081494B87e8D5fb7960f066E931D1D0e6E3d67"
64
72
  ),
73
+ wrappedSn78: getAddress(
74
+ "0x6e2feEE56bc5F0Db2104Ab1dac2cf1Fb0334eb49"
75
+ ),
76
+ wrappedSn10: getAddress(
77
+ "0xDdDE5965D49e69b6362BD8743e139a45dBFEb7b3"
78
+ ),
65
79
  wrappedSn80: getAddress(
66
80
  "0x6f63d869011f95274498023b4abfc00b30c34378"
67
81
  ),
@@ -91,6 +105,12 @@ var foreverMoneyDeployment = Object.freeze({
91
105
  wrappedTao: getAddress(
92
106
  "0xC5b6C1632d34901239396F5E1BDe54B342900256"
93
107
  ),
108
+ wrappedSn78: getAddress(
109
+ "0xF2a747b004fACa8EAB646948117499E25CB8641d"
110
+ ),
111
+ wrappedSn10: getAddress(
112
+ "0xcd0836D1ecE4AEDf5B39f2792e0790BBE79449b3"
113
+ ),
94
114
  wrappedSn80: getAddress(
95
115
  "0xfD628dE75EF96f0A5C59659159C6cA81E0DC2222"
96
116
  ),
@@ -738,18 +758,19 @@ function assertPartnerFeeAllowed(fee, maxBps) {
738
758
  }
739
759
  }
740
760
  function bridgeAsset(evmChain, asset = "tao") {
741
- if (asset !== "tao" && asset !== "sn80") {
761
+ if (asset !== "tao" && asset !== "sn80" && asset !== "sn10" && asset !== "sn78") {
742
762
  throw new ForeverMoneyError(
743
763
  "INVALID_TRANSACTION_PLAN",
744
- 'Asset must be "tao" or "sn80".'
764
+ 'Asset must be "tao", "sn80", "sn10", or "sn78".'
745
765
  );
746
766
  }
747
767
  const evm = getForeverMoneyEvmDeployment(evmChain);
748
- return asset === "sn80" ? {
749
- evmToken: evm.contracts.wrappedSn80,
750
- subtensorToken: foreverMoneyDeployment.subtensor.contracts.wrappedSn80,
751
- label: "SN80",
752
- wrappedLabel: "SN80"
768
+ const tokenKey = asset === "sn78" ? "wrappedSn78" : asset === "sn10" ? "wrappedSn10" : "wrappedSn80";
769
+ return asset !== "tao" ? {
770
+ evmToken: evm.contracts[tokenKey],
771
+ subtensorToken: foreverMoneyDeployment.subtensor.contracts[tokenKey],
772
+ label: asset.toUpperCase(),
773
+ wrappedLabel: asset.toUpperCase()
753
774
  } : {
754
775
  evmToken: evm.contracts.wrappedTao,
755
776
  subtensorToken: foreverMoneyDeployment.subtensor.contracts.wrappedTao,
@@ -758,16 +779,17 @@ function bridgeAsset(evmChain, asset = "tao") {
758
779
  };
759
780
  }
760
781
  function assertAssetMode(asset, mode) {
761
- if (asset === "sn80" && mode !== "staked") {
782
+ if ((asset === "sn80" || asset === "sn10" || asset === "sn78") && mode !== "staked") {
762
783
  throw new ForeverMoneyError(
763
784
  "INVALID_TRANSACTION_PLAN",
764
- "SN80 bridging requires staked subnet 80 input or delivery; liquid TAO conversion is not supported."
785
+ `${asset.toUpperCase()} bridging requires staked subnet ${asset === "sn78" ? SN78_NETUID : asset === "sn10" ? SN10_NETUID : SN80_NETUID} input or delivery; liquid TAO conversion is not supported.`
765
786
  );
766
787
  }
767
788
  }
768
789
  function sourceNetuid(input) {
769
790
  if (input.source !== "staked") return void 0;
770
- const netuid = input.netuid ?? (input.asset === "sn80" ? SN80_NETUID : void 0);
791
+ const assetNetuid = input.asset === "sn78" ? SN78_NETUID : input.asset === "sn10" ? SN10_NETUID : input.asset === "sn80" ? SN80_NETUID : void 0;
792
+ const netuid = input.netuid ?? assetNetuid;
771
793
  if (netuid === void 0) {
772
794
  throw new ForeverMoneyError(
773
795
  "INVALID_TRANSACTION_PLAN",
@@ -775,10 +797,10 @@ function sourceNetuid(input) {
775
797
  );
776
798
  }
777
799
  assertNonNegativeAmount(netuid, "netuid");
778
- if (input.asset === "sn80" && netuid !== SN80_NETUID) {
800
+ if (assetNetuid !== void 0 && netuid !== assetNetuid) {
779
801
  throw new ForeverMoneyError(
780
802
  "INVALID_TRANSACTION_PLAN",
781
- "SN80 staking approvals must use netuid 80."
803
+ `${input.asset.toUpperCase()} staking approvals must use netuid ${assetNetuid}.`
782
804
  );
783
805
  }
784
806
  return netuid;
@@ -2508,6 +2530,8 @@ export {
2508
2530
  RAO_PER_TAO,
2509
2531
  ROBINHOOD_CCIP_SELECTOR,
2510
2532
  ROBINHOOD_CHAIN_ID,
2533
+ SN10_NETUID,
2534
+ SN78_NETUID,
2511
2535
  SN80_NETUID,
2512
2536
  SUBTENSOR_CCIP_SELECTOR,
2513
2537
  SUBTENSOR_CHAIN_ID,