@forevermoney/sdk 0.5.6 → 0.5.8

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,11 +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;
11
12
  declare const SN10_NETUID = 10n;
12
13
  declare const SN80_NETUID = 80n;
13
- declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.5.0";
14
+ declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.6.1";
14
15
  declare const foreverMoneyDeployment: Readonly<{
15
- version: "1.5.0";
16
+ version: "1.6.1";
16
17
  base: Readonly<{
17
18
  key: "base";
18
19
  name: "Base";
@@ -22,6 +23,7 @@ declare const foreverMoneyDeployment: Readonly<{
22
23
  gateway: `0x${string}`;
23
24
  legacyGateways: readonly `0x${string}`[];
24
25
  wrappedTao: `0x${string}`;
26
+ wrappedSn78: `0x${string}`;
25
27
  wrappedSn10: `0x${string}`;
26
28
  wrappedSn80: `0x${string}`;
27
29
  ccipRouter: `0x${string}`;
@@ -42,6 +44,7 @@ declare const foreverMoneyDeployment: Readonly<{
42
44
  gateway: `0x${string}`;
43
45
  legacyGateways: readonly `0x${string}`[];
44
46
  wrappedTao: `0x${string}`;
47
+ wrappedSn78: null;
45
48
  wrappedSn10: `0x${string}`;
46
49
  wrappedSn80: `0x${string}`;
47
50
  ccipRouter: `0x${string}`;
@@ -56,6 +59,7 @@ declare const foreverMoneyDeployment: Readonly<{
56
59
  legacyGateways: readonly `0x${string}`[];
57
60
  alphaVault: `0x${string}`;
58
61
  wrappedTao: `0x${string}`;
62
+ wrappedSn78: `0x${string}`;
59
63
  wrappedSn10: `0x${string}`;
60
64
  wrappedSn80: `0x${string}`;
61
65
  ccipRouter: `0x${string}`;
@@ -99,7 +103,7 @@ declare const MIN_LIQUID_SUBTENSOR_TO_EVM_WEI: bigint;
99
103
  declare const EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT = 3500000n;
100
104
  type SubtensorDelivery = 'liquid' | 'staked';
101
105
  type SubtensorSource = 'liquid' | 'staked';
102
- type BridgeAsset = 'tao' | 'sn80' | 'sn10';
106
+ type BridgeAsset = 'tao' | 'sn80' | 'sn10' | 'sn78';
103
107
  /**
104
108
  * Optional partner (integrator) fee, charged ON TOP of the bridged amount and
105
109
  * paid to `recipient` on the source chain. The full `amountWei` still crosses.
@@ -453,4 +457,4 @@ interface ViemTransactionRequest {
453
457
  }
454
458
  declare function toViemTransaction(transaction: PreparedTransaction): Readonly<ViemTransactionRequest>;
455
459
 
456
- 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, 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,11 +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;
11
12
  declare const SN10_NETUID = 10n;
12
13
  declare const SN80_NETUID = 80n;
13
- declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.5.0";
14
+ declare const FOREVERMONEY_DEPLOYMENT_VERSION: "1.6.1";
14
15
  declare const foreverMoneyDeployment: Readonly<{
15
- version: "1.5.0";
16
+ version: "1.6.1";
16
17
  base: Readonly<{
17
18
  key: "base";
18
19
  name: "Base";
@@ -22,6 +23,7 @@ declare const foreverMoneyDeployment: Readonly<{
22
23
  gateway: `0x${string}`;
23
24
  legacyGateways: readonly `0x${string}`[];
24
25
  wrappedTao: `0x${string}`;
26
+ wrappedSn78: `0x${string}`;
25
27
  wrappedSn10: `0x${string}`;
26
28
  wrappedSn80: `0x${string}`;
27
29
  ccipRouter: `0x${string}`;
@@ -42,6 +44,7 @@ declare const foreverMoneyDeployment: Readonly<{
42
44
  gateway: `0x${string}`;
43
45
  legacyGateways: readonly `0x${string}`[];
44
46
  wrappedTao: `0x${string}`;
47
+ wrappedSn78: null;
45
48
  wrappedSn10: `0x${string}`;
46
49
  wrappedSn80: `0x${string}`;
47
50
  ccipRouter: `0x${string}`;
@@ -56,6 +59,7 @@ declare const foreverMoneyDeployment: Readonly<{
56
59
  legacyGateways: readonly `0x${string}`[];
57
60
  alphaVault: `0x${string}`;
58
61
  wrappedTao: `0x${string}`;
62
+ wrappedSn78: `0x${string}`;
59
63
  wrappedSn10: `0x${string}`;
60
64
  wrappedSn80: `0x${string}`;
61
65
  ccipRouter: `0x${string}`;
@@ -99,7 +103,7 @@ declare const MIN_LIQUID_SUBTENSOR_TO_EVM_WEI: bigint;
99
103
  declare const EVM_TO_SUBTENSOR_DESTINATION_GAS_LIMIT = 3500000n;
100
104
  type SubtensorDelivery = 'liquid' | 'staked';
101
105
  type SubtensorSource = 'liquid' | 'staked';
102
- type BridgeAsset = 'tao' | 'sn80' | 'sn10';
106
+ type BridgeAsset = 'tao' | 'sn80' | 'sn10' | 'sn78';
103
107
  /**
104
108
  * Optional partner (integrator) fee, charged ON TOP of the bridged amount and
105
109
  * paid to `recipient` on the source chain. The full `amountWei` still crosses.
@@ -453,4 +457,4 @@ interface ViemTransactionRequest {
453
457
  }
454
458
  declare function toViemTransaction(transaction: PreparedTransaction): Readonly<ViemTransactionRequest>;
455
459
 
456
- 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, 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,9 +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;
11
12
  var SN10_NETUID = 10n;
12
13
  var SN80_NETUID = 80n;
13
- var FOREVERMONEY_DEPLOYMENT_VERSION = "1.5.0";
14
+ var FOREVERMONEY_DEPLOYMENT_VERSION = "1.6.1";
14
15
  var foreverMoneyDeployment = Object.freeze({
15
16
  version: FOREVERMONEY_DEPLOYMENT_VERSION,
16
17
  base: Object.freeze({
@@ -28,6 +29,9 @@ var foreverMoneyDeployment = Object.freeze({
28
29
  wrappedTao: getAddress(
29
30
  "0xf3081494b87e8d5fb7960f066e931d1d0e6e3d67"
30
31
  ),
32
+ wrappedSn78: getAddress(
33
+ "0x6e2feEE56bc5F0Db2104Ab1dac2cf1Fb0334eb49"
34
+ ),
31
35
  wrappedSn10: getAddress(
32
36
  "0xDdDE5965D49e69b6362BD8743e139a45dBFEb7b3"
33
37
  ),
@@ -66,6 +70,8 @@ var foreverMoneyDeployment = Object.freeze({
66
70
  wrappedTao: getAddress(
67
71
  "0xf3081494B87e8D5fb7960f066E931D1D0e6E3d67"
68
72
  ),
73
+ // SN78 is released on Base only.
74
+ wrappedSn78: null,
69
75
  wrappedSn10: getAddress(
70
76
  "0xDdDE5965D49e69b6362BD8743e139a45dBFEb7b3"
71
77
  ),
@@ -98,6 +104,9 @@ var foreverMoneyDeployment = Object.freeze({
98
104
  wrappedTao: getAddress(
99
105
  "0xC5b6C1632d34901239396F5E1BDe54B342900256"
100
106
  ),
107
+ wrappedSn78: getAddress(
108
+ "0xF2a747b004fACa8EAB646948117499E25CB8641d"
109
+ ),
101
110
  wrappedSn10: getAddress(
102
111
  "0xcd0836D1ecE4AEDf5B39f2792e0790BBE79449b3"
103
112
  ),
@@ -748,16 +757,23 @@ function assertPartnerFeeAllowed(fee, maxBps) {
748
757
  }
749
758
  }
750
759
  function bridgeAsset(evmChain, asset = "tao") {
751
- if (asset !== "tao" && asset !== "sn80" && asset !== "sn10") {
760
+ if (asset !== "tao" && asset !== "sn80" && asset !== "sn10" && asset !== "sn78") {
752
761
  throw new ForeverMoneyError(
753
762
  "INVALID_TRANSACTION_PLAN",
754
- 'Asset must be "tao", "sn80", or "sn10".'
763
+ 'Asset must be "tao", "sn80", "sn10", or "sn78".'
755
764
  );
756
765
  }
757
766
  const evm = getForeverMoneyEvmDeployment(evmChain);
758
- const tokenKey = asset === "sn10" ? "wrappedSn10" : "wrappedSn80";
767
+ const tokenKey = asset === "sn78" ? "wrappedSn78" : asset === "sn10" ? "wrappedSn10" : "wrappedSn80";
768
+ const evmToken = asset === "tao" ? evm.contracts.wrappedTao : evm.contracts[tokenKey];
769
+ if (!evmToken) {
770
+ throw new ForeverMoneyError(
771
+ "INVALID_TRANSACTION_PLAN",
772
+ `${asset.toUpperCase()} bridging is not supported on ${evmChain}.`
773
+ );
774
+ }
759
775
  return asset !== "tao" ? {
760
- evmToken: evm.contracts[tokenKey],
776
+ evmToken,
761
777
  subtensorToken: foreverMoneyDeployment.subtensor.contracts[tokenKey],
762
778
  label: asset.toUpperCase(),
763
779
  wrappedLabel: asset.toUpperCase()
@@ -769,16 +785,16 @@ function bridgeAsset(evmChain, asset = "tao") {
769
785
  };
770
786
  }
771
787
  function assertAssetMode(asset, mode) {
772
- if ((asset === "sn80" || asset === "sn10") && mode !== "staked") {
788
+ if ((asset === "sn80" || asset === "sn10" || asset === "sn78") && mode !== "staked") {
773
789
  throw new ForeverMoneyError(
774
790
  "INVALID_TRANSACTION_PLAN",
775
- `${asset.toUpperCase()} bridging requires staked subnet ${asset === "sn10" ? SN10_NETUID : SN80_NETUID} input or delivery; liquid TAO conversion is not supported.`
791
+ `${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.`
776
792
  );
777
793
  }
778
794
  }
779
795
  function sourceNetuid(input) {
780
796
  if (input.source !== "staked") return void 0;
781
- const assetNetuid = input.asset === "sn10" ? SN10_NETUID : input.asset === "sn80" ? SN80_NETUID : void 0;
797
+ const assetNetuid = input.asset === "sn78" ? SN78_NETUID : input.asset === "sn10" ? SN10_NETUID : input.asset === "sn80" ? SN80_NETUID : void 0;
782
798
  const netuid = input.netuid ?? assetNetuid;
783
799
  if (netuid === void 0) {
784
800
  throw new ForeverMoneyError(
@@ -2521,6 +2537,7 @@ export {
2521
2537
  ROBINHOOD_CCIP_SELECTOR,
2522
2538
  ROBINHOOD_CHAIN_ID,
2523
2539
  SN10_NETUID,
2540
+ SN78_NETUID,
2524
2541
  SN80_NETUID,
2525
2542
  SUBTENSOR_CCIP_SELECTOR,
2526
2543
  SUBTENSOR_CHAIN_ID,