@leather.io/models 0.51.0 → 0.53.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/.turbo/turbo-build.log +7 -7
- package/CHANGELOG.md +14 -0
- package/dist/index.d.ts +62 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -7
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/account.model.ts +1 -0
- package/src/activity/activity.model.ts +3 -0
- package/src/assets/asset-type-guards.ts +0 -5
- package/src/assets/asset.model.ts +0 -7
- package/src/index.ts +2 -0
- package/src/input-currency-mode.model.ts +7 -0
- package/src/market.model.ts +5 -0
- package/src/network/network.model.ts +0 -2
- package/src/swap/swap.model.ts +7 -5
- package/src/token-analytics.model.ts +28 -0
- package/src/types.utils.ts +4 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @leather.io/models@0.
|
|
2
|
+
> @leather.io/models@0.53.0 build /home/runner/work/mono/mono/packages/models
|
|
3
3
|
> tsdown
|
|
4
4
|
|
|
5
5
|
[34mℹ[39m tsdown [2mv0.16.5[22m powered by rolldown [2mv1.0.0-beta.50[22m
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
[34mℹ[39m entry: [34msrc/index.ts[39m
|
|
8
8
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
9
9
|
[34mℹ[39m Build start
|
|
10
|
-
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [
|
|
11
|
-
[34mℹ[39m [2mdist/[22mindex.js.map [
|
|
12
|
-
[34mℹ[39m [2mdist/[22mindex.d.ts.map [2m19.
|
|
13
|
-
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [
|
|
14
|
-
[34mℹ[39m 4 files, total:
|
|
15
|
-
[32m✔[39m Build complete in [
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mindex.js[22m [2m23.02 kB[22m [2m│ gzip: 5.37 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22mindex.js.map [2m52.03 kB[22m [2m│ gzip: 11.02 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22mindex.d.ts.map [2m19.93 kB[22m [2m│ gzip: 7.73 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.ts[22m[39m [2m51.71 kB[22m [2m│ gzip: 10.33 kB[22m
|
|
14
|
+
[34mℹ[39m 4 files, total: 146.68 kB
|
|
15
|
+
[32m✔[39m Build complete in [32m2770ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -36,6 +36,20 @@
|
|
|
36
36
|
* devDependencies
|
|
37
37
|
* @leather.io/prettier-config bumped to 0.9.0
|
|
38
38
|
|
|
39
|
+
## [0.53.0](https://github.com/leather-io/mono/compare/@leather.io/models-v0.52.0...@leather.io/models-v0.53.0) (2026-02-09)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Features
|
|
43
|
+
|
|
44
|
+
* adds market stats and token analytics services ([b5c47ae](https://github.com/leather-io/mono/commit/b5c47ae2401e3e1431343a11cd8398e7a5c1bc6b))
|
|
45
|
+
|
|
46
|
+
## [0.52.0](https://github.com/leather-io/mono/compare/@leather.io/models-v0.51.0...@leather.io/models-v0.52.0) (2025-12-15)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Features
|
|
50
|
+
|
|
51
|
+
* add withdrawal and fee logic to sbtc swap provider service ([3d277dd](https://github.com/leather-io/mono/commit/3d277dd8e1f56eae7772b4a042f66288b87101ba))
|
|
52
|
+
|
|
39
53
|
## [0.51.0](https://github.com/leather-io/mono/compare/@leather.io/models-v0.50.2...@leather.io/models-v0.51.0) (2025-12-09)
|
|
40
54
|
|
|
41
55
|
|
package/dist/index.d.ts
CHANGED
|
@@ -49,6 +49,10 @@ declare const ActivityLevels: {
|
|
|
49
49
|
};
|
|
50
50
|
type ActivityLevel = keyof typeof ActivityLevels;
|
|
51
51
|
//#endregion
|
|
52
|
+
//#region src/input-currency-mode.model.d.ts
|
|
53
|
+
type InputCurrencyMode = 'crypto' | 'quote';
|
|
54
|
+
declare function whenInputCurrencyMode<TValue>(mode: InputCurrencyMode): <TMode extends Record<InputCurrencyMode, TValue>>(modes: TMode) => TMode[InputCurrencyMode];
|
|
55
|
+
//#endregion
|
|
52
56
|
//#region src/activity/activity-status.model.d.ts
|
|
53
57
|
declare const OnChainActivityStatuses: {
|
|
54
58
|
readonly pending: "pending";
|
|
@@ -100,6 +104,7 @@ type LiteralUnion<LiteralType, BaseType extends Primitive> = LiteralType | (Base
|
|
|
100
104
|
type Entries<T> = { [K in keyof T]: [K, T[K]] }[keyof T][];
|
|
101
105
|
type ReplaceTypes<T, Replacements extends { [K in keyof T]?: any }> = Omit<T, keyof Replacements> & { [K in keyof Replacements]: Replacements[K] };
|
|
102
106
|
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
107
|
+
type Nullable<T> = { [K in keyof T]: T[K] | null };
|
|
103
108
|
//#endregion
|
|
104
109
|
//#region src/currencies.model.d.ts
|
|
105
110
|
type CryptoCurrency = LiteralUnion<'BTC' | 'STX', string>;
|
|
@@ -163,7 +168,6 @@ declare const FungibleCryptoAssetProtocols: {
|
|
|
163
168
|
readonly sip10: "sip10";
|
|
164
169
|
readonly brc20: "brc20";
|
|
165
170
|
readonly src20: "src20";
|
|
166
|
-
readonly stx20: "stx20";
|
|
167
171
|
readonly rune: "rune";
|
|
168
172
|
};
|
|
169
173
|
declare const NonFungibleCryptoAssetProtocols: {
|
|
@@ -180,7 +184,6 @@ declare const CryptoAssetProtocols: {
|
|
|
180
184
|
readonly sip10: "sip10";
|
|
181
185
|
readonly brc20: "brc20";
|
|
182
186
|
readonly src20: "src20";
|
|
183
|
-
readonly stx20: "stx20";
|
|
184
187
|
readonly rune: "rune";
|
|
185
188
|
};
|
|
186
189
|
type CryptoAssetChain = keyof typeof CryptoAssetChains;
|
|
@@ -242,13 +245,8 @@ interface Sip10Asset extends BaseFungibleCryptoAsset {
|
|
|
242
245
|
readonly imageCanonicalUri: string;
|
|
243
246
|
readonly symbol: string;
|
|
244
247
|
}
|
|
245
|
-
interface Stx20Asset extends BaseFungibleCryptoAsset {
|
|
246
|
-
readonly chain: 'stacks';
|
|
247
|
-
readonly protocol: 'stx20';
|
|
248
|
-
readonly symbol: string;
|
|
249
|
-
}
|
|
250
248
|
type NativeCryptoAsset = BtcAsset | StxAsset;
|
|
251
|
-
type FungibleCryptoAsset = NativeCryptoAsset | Sip10Asset | Brc20Asset | Src20Asset |
|
|
249
|
+
type FungibleCryptoAsset = NativeCryptoAsset | Sip10Asset | Brc20Asset | Src20Asset | RuneAsset;
|
|
252
250
|
interface BaseNonFungibleCryptoAsset extends BaseCryptoAsset {
|
|
253
251
|
readonly category: 'nft';
|
|
254
252
|
readonly protocol: NonFungibleCryptoAssetProtocol;
|
|
@@ -288,6 +286,7 @@ interface FungibleAssetId {
|
|
|
288
286
|
}
|
|
289
287
|
//#endregion
|
|
290
288
|
//#region src/activity/activity.model.d.ts
|
|
289
|
+
type SbtcBridgeStatus = 'pending' | 'accepted' | 'confirmed' | 'failed' | 'rbf';
|
|
291
290
|
interface BaseActivity {
|
|
292
291
|
readonly level: ActivityLevel;
|
|
293
292
|
readonly type: ActivityType;
|
|
@@ -357,6 +356,7 @@ interface SwapAssetsActivity extends BaseOnChainActivity {
|
|
|
357
356
|
crypto: Money;
|
|
358
357
|
quote: Money;
|
|
359
358
|
};
|
|
359
|
+
readonly sbtcBridgeStatus?: SbtcBridgeStatus;
|
|
360
360
|
}
|
|
361
361
|
interface BaseWalletActivity extends AccountLevelActivity {
|
|
362
362
|
readonly type: WalletActivityType;
|
|
@@ -396,7 +396,6 @@ declare function isSip10Asset(asset: CryptoAsset): asset is Sip10Asset;
|
|
|
396
396
|
declare function isSwappableAsset(asset: CryptoAsset): asset is NativeCryptoAsset | Sip10Asset;
|
|
397
397
|
declare function isBrc20Asset(asset: CryptoAsset): asset is Brc20Asset;
|
|
398
398
|
declare function isSrc20Asset(asset: CryptoAsset): asset is Src20Asset;
|
|
399
|
-
declare function isStx20Asset(asset: CryptoAsset): asset is Stx20Asset;
|
|
400
399
|
declare function isRuneAsset(asset: CryptoAsset): asset is RuneAsset;
|
|
401
400
|
declare function isInscriptionAsset(asset: CryptoAsset): asset is InscriptionAsset;
|
|
402
401
|
declare function isStampAsset(asset: CryptoAsset): asset is StampAsset;
|
|
@@ -611,20 +610,24 @@ interface MarketPriceHistory {
|
|
|
611
610
|
changePercentage: number;
|
|
612
611
|
prices: MarketPriceSnapshot[];
|
|
613
612
|
}
|
|
613
|
+
interface MarketStats {
|
|
614
|
+
readonly priceChange: Partial<Record<HistoricalPeriod, number | null>>;
|
|
615
|
+
readonly marketCap?: number;
|
|
616
|
+
}
|
|
614
617
|
//#endregion
|
|
615
618
|
//#region src/network/network.schema.d.ts
|
|
616
619
|
declare const bitcoinNetworkModesSchema: z.ZodEnum<{
|
|
617
620
|
mainnet: "mainnet";
|
|
618
621
|
testnet: "testnet";
|
|
619
|
-
regtest: "regtest";
|
|
620
622
|
signet: "signet";
|
|
623
|
+
regtest: "regtest";
|
|
621
624
|
}>;
|
|
622
625
|
declare const bitcoinNetworkSchema: z.ZodEnum<{
|
|
623
626
|
mainnet: "mainnet";
|
|
624
|
-
|
|
627
|
+
testnet4: "testnet4";
|
|
625
628
|
signet: "signet";
|
|
629
|
+
regtest: "regtest";
|
|
626
630
|
testnet3: "testnet3";
|
|
627
|
-
testnet4: "testnet4";
|
|
628
631
|
}>;
|
|
629
632
|
declare const networkConfigurationSchema: z.ZodObject<{
|
|
630
633
|
name: z.ZodString;
|
|
@@ -635,16 +638,16 @@ declare const networkConfigurationSchema: z.ZodObject<{
|
|
|
635
638
|
bitcoinUrl: z.ZodString;
|
|
636
639
|
bitcoinNetwork: z.ZodEnum<{
|
|
637
640
|
mainnet: "mainnet";
|
|
638
|
-
|
|
641
|
+
testnet4: "testnet4";
|
|
639
642
|
signet: "signet";
|
|
643
|
+
regtest: "regtest";
|
|
640
644
|
testnet3: "testnet3";
|
|
641
|
-
testnet4: "testnet4";
|
|
642
645
|
}>;
|
|
643
646
|
mode: z.ZodEnum<{
|
|
644
647
|
mainnet: "mainnet";
|
|
645
648
|
testnet: "testnet";
|
|
646
|
-
regtest: "regtest";
|
|
647
649
|
signet: "signet";
|
|
650
|
+
regtest: "regtest";
|
|
648
651
|
}>;
|
|
649
652
|
}, z.core.$strip>;
|
|
650
653
|
stacks: z.ZodObject<{
|
|
@@ -668,7 +671,6 @@ declare const BITCOIN_API_BASE_URL_TESTNET4 = "https://leather.mempool.space/tes
|
|
|
668
671
|
declare const BITCOIN_API_BASE_URL_SIGNET = "https://mempool.space/signet/api";
|
|
669
672
|
declare const BESTINSLOT_API_BASE_URL_MAINNET = "https://leatherapi.bestinslot.xyz/v3";
|
|
670
673
|
declare const BESTINSLOT_API_BASE_URL_TESTNET = "https://leatherapi_testnet.bestinslot.xyz/v3";
|
|
671
|
-
declare const STX20_API_BASE_URL_MAINNET = "https://api.stx20.com/api/v1";
|
|
672
674
|
declare const BNS_V2_API_BASE_URL = "https://api.bnsv2.com";
|
|
673
675
|
declare const EMILY_API_BASE_URL_MAINNET = "https://sbtc-emily.com";
|
|
674
676
|
declare const EMILY_API_BASE_URL_TESTNET = "https://beta.sbtc-emily.com";
|
|
@@ -689,8 +691,8 @@ declare enum WalletDefaultNetworkConfigurationIds {
|
|
|
689
691
|
declare const defaultNetworkConfigurationsSchema: z.ZodEnum<{
|
|
690
692
|
mainnet: "mainnet";
|
|
691
693
|
testnet: "testnet";
|
|
692
|
-
signet: "signet";
|
|
693
694
|
testnet4: "testnet4";
|
|
695
|
+
signet: "signet";
|
|
694
696
|
sbtcTestnet: "sbtcTestnet";
|
|
695
697
|
sbtcDevenv: "sbtcDevenv";
|
|
696
698
|
devnet: "devnet";
|
|
@@ -806,6 +808,9 @@ interface BitflowSdkSwapQuote extends BaseSwapQuote {
|
|
|
806
808
|
}
|
|
807
809
|
interface SbtcBridgeSwapQuote extends BaseSwapQuote {
|
|
808
810
|
readonly providerId: 'sbtc-bridge';
|
|
811
|
+
readonly providerQuoteData: {
|
|
812
|
+
signerSweepTxFeeSats: number;
|
|
813
|
+
};
|
|
809
814
|
}
|
|
810
815
|
interface SwapDex {
|
|
811
816
|
readonly name: string;
|
|
@@ -813,7 +818,7 @@ interface SwapDex {
|
|
|
813
818
|
readonly logo: string;
|
|
814
819
|
readonly description: string;
|
|
815
820
|
}
|
|
816
|
-
declare const swapExecutionTypes: readonly ["stacks-contract-call", "sbtc-bridge-
|
|
821
|
+
declare const swapExecutionTypes: readonly ["stacks-contract-call", "sbtc-bridge-deposit"];
|
|
817
822
|
type SwapExecutionType = (typeof swapExecutionTypes)[number];
|
|
818
823
|
interface BaseSwapExecutionData {
|
|
819
824
|
readonly executionType: SwapExecutionType;
|
|
@@ -822,7 +827,6 @@ interface BaseSwapExecutionData {
|
|
|
822
827
|
}
|
|
823
828
|
interface StacksContractCallSwapExecutionData extends BaseSwapExecutionData {
|
|
824
829
|
readonly executionType: 'stacks-contract-call';
|
|
825
|
-
readonly quote: SwapQuote;
|
|
826
830
|
readonly contractAddress: string;
|
|
827
831
|
readonly contractName: string;
|
|
828
832
|
readonly functionName: string;
|
|
@@ -830,10 +834,45 @@ interface StacksContractCallSwapExecutionData extends BaseSwapExecutionData {
|
|
|
830
834
|
readonly postConditions: unknown[];
|
|
831
835
|
readonly postConditionMode?: unknown;
|
|
832
836
|
}
|
|
833
|
-
interface
|
|
834
|
-
readonly executionType: 'sbtc-bridge-
|
|
837
|
+
interface SbtcBridgeDepositSwapExecutionData extends BaseSwapExecutionData {
|
|
838
|
+
readonly executionType: 'sbtc-bridge-deposit';
|
|
839
|
+
}
|
|
840
|
+
type SwapExecutionData = StacksContractCallSwapExecutionData | SbtcBridgeDepositSwapExecutionData;
|
|
841
|
+
//#endregion
|
|
842
|
+
//#region src/token-analytics.model.d.ts
|
|
843
|
+
interface TokenHolderSegment {
|
|
844
|
+
readonly holderCount: number;
|
|
845
|
+
readonly balance: number;
|
|
846
|
+
readonly contracts: {
|
|
847
|
+
readonly count: number;
|
|
848
|
+
readonly balance: number;
|
|
849
|
+
};
|
|
850
|
+
readonly multisigs: {
|
|
851
|
+
readonly count: number;
|
|
852
|
+
readonly balance: number;
|
|
853
|
+
};
|
|
854
|
+
readonly individuals: {
|
|
855
|
+
readonly count: number;
|
|
856
|
+
readonly balance: number;
|
|
857
|
+
};
|
|
858
|
+
}
|
|
859
|
+
interface TokenAnalytics {
|
|
860
|
+
readonly circulatingSupply: number;
|
|
861
|
+
readonly holderCount?: number;
|
|
862
|
+
readonly distributionScore?: number;
|
|
863
|
+
readonly trustScore?: number;
|
|
864
|
+
readonly trendingScore?: number;
|
|
865
|
+
readonly updatedAt: string;
|
|
866
|
+
}
|
|
867
|
+
declare const topHolderKeys: readonly [1, 10, 50, 100, 200];
|
|
868
|
+
declare const percentileKeys: readonly [10, 25, 50, 75];
|
|
869
|
+
type TokenTopHolderKey = (typeof topHolderKeys)[number];
|
|
870
|
+
type TokenDistributionPercentileKey = (typeof percentileKeys)[number];
|
|
871
|
+
interface TokenDistribution {
|
|
872
|
+
readonly topHolders: Partial<Record<TokenTopHolderKey, TokenHolderSegment>>;
|
|
873
|
+
readonly percentiles: Partial<Record<TokenDistributionPercentileKey, TokenHolderSegment>>;
|
|
874
|
+
readonly updatedAt: string;
|
|
835
875
|
}
|
|
836
|
-
type SwapExecutionData = StacksContractCallSwapExecutionData | SbtcBridgeTransferSwapExecutionData;
|
|
837
876
|
//#endregion
|
|
838
877
|
//#region src/transactions/bitcoin-transaction.model.d.ts
|
|
839
878
|
interface BitcoinTransaction {
|
|
@@ -1282,5 +1321,5 @@ declare function enrichPositionWithMetadata<T extends YieldPosition>(position: T
|
|
|
1282
1321
|
};
|
|
1283
1322
|
declare function getCategoryDisplayName(category: YieldProductCategory): string;
|
|
1284
1323
|
//#endregion
|
|
1285
|
-
export { AccountAddresses, AccountDisplayPreference, AccountDisplayPreferenceInfo, AccountId, AccountLevelActivity, Activity, ActivityLevel, ActivityLevels, ActivityType, AlexSdkSwapQuote, AllowAdditionalProperties, AnalyticsPreference, AppLevelActivity, AverageBitcoinFeeRates, BESTINSLOT_API_BASE_URL_MAINNET, BESTINSLOT_API_BASE_URL_TESTNET, BITCOIN_API_BASE_URL_MAINNET, BITCOIN_API_BASE_URL_SIGNET, BITCOIN_API_BASE_URL_TESTNET3, BITCOIN_API_BASE_URL_TESTNET4, BNS_V2_API_BASE_URL, BaseActivity, BaseCryptoAsset, BaseCryptoAssetBalance, BaseNonFungibleCryptoAsset, BaseOnChainActivity, BasePooledStackingPosition, BaseSwapExecutionData, BaseSwapQuote, BaseTransactionFeeQuote, BaseWalletActivity, BaseYieldPosition, BaseYieldProduct, BitcoinAddress, BitcoinAddressInfo, BitcoinChainConfig, BitcoinNetwork, BitcoinNetworkModes, BitcoinTransaction, BitcoinTransactionFeeQuote, BitcoinTransactionVectorInput, BitcoinTransactionVectorOutput, BitcoinTransactionVin, BitcoinTransactionVout, BitcoinTx, BitcoinUnit, BitcoinUnitInfo, BitcoinUnitSymbol, BitflowAmmLpPosition, BitflowAmmStakingPosition, BitflowSdkSwapQuote, Blockchain, BnsName, BnsProfile, BnsProfileData, BnsProfileDataAddresses, Brc20Asset, BtcAsset, BtcBalance, BtcFeeType, ChainId, ConnectAppActivity, CryptoAsset, CryptoAssetBalance, CryptoAssetCategories, CryptoAssetCategory, CryptoAssetChain, CryptoAssetChains, CryptoAssetId, CryptoAssetProtocol, CryptoAssetProtocols, CryptoCurrency, Currency, DefaultNetworkConfigurations, DeploySmartContractActivity, EMILY_API_BASE_URL_DEVENV, EMILY_API_BASE_URL_MAINNET, EMILY_API_BASE_URL_TESTNET, EmailAddress, Entries, EvmTransactionFeeQuote, ExecuteSmartContractActivity, ExecutionConstraint, FastPoolPooledStackingPosition, FeeCalculationTypes, FeeTypes, Fees, FlatTransactionFeeQuote, FtTransfer, FungibleAssetId, FungibleCryptoAsset, FungibleCryptoAssetProtocol, FungibleCryptoAssetProtocols, GeneralActivity, GeneralActivityType, GeneralActivityTypes, GraniteV1BorrowPosition, GraniteV1CollateralAsset, GraniteV1EarnPosition, HIRO_API_BASE_URL_MAINNET, HIRO_API_BASE_URL_MAINNET_EXTENDED, HIRO_API_BASE_URL_NAKAMOTO_TESTNET, HIRO_API_BASE_URL_TESTNET, HIRO_API_BASE_URL_TESTNET_EXTENDED, HermeticaStaking, HermeticaUsdhStakingPosition, HistoricalPeriod, InscriptionAsset, InscriptionMimeType, LisaLiStxPosition, LisaLiquidStakingPosition, LisaLstHolding, LiteralUnion, LockAssetActivity, MarketData, MarketPriceHistory, MarketPriceSnapshot, Money, NativeCryptoAsset, NetworkConfiguration, NetworkModes, NonFungibleCryptoAsset, NonFungibleCryptoAssetProtocol, NonFungibleCryptoAssetProtocols, NumType, OnChainActivity, OnChainActivityStatus, OnChainActivityStatuses, OnChainActivityType, OnChainActivityTypes, OwnedUtxo, PooledStackingYieldProduct, Prettify, QuoteCurrency, ReceiveAssetActivity, ReplaceTypes, RuneAsset,
|
|
1324
|
+
export { AccountAddresses, AccountDisplayPreference, AccountDisplayPreferenceInfo, AccountId, AccountLevelActivity, Activity, ActivityLevel, ActivityLevels, ActivityType, AlexSdkSwapQuote, AllowAdditionalProperties, AnalyticsPreference, AppLevelActivity, AverageBitcoinFeeRates, BESTINSLOT_API_BASE_URL_MAINNET, BESTINSLOT_API_BASE_URL_TESTNET, BITCOIN_API_BASE_URL_MAINNET, BITCOIN_API_BASE_URL_SIGNET, BITCOIN_API_BASE_URL_TESTNET3, BITCOIN_API_BASE_URL_TESTNET4, BNS_V2_API_BASE_URL, BaseActivity, BaseCryptoAsset, BaseCryptoAssetBalance, BaseNonFungibleCryptoAsset, BaseOnChainActivity, BasePooledStackingPosition, BaseSwapExecutionData, BaseSwapQuote, BaseTransactionFeeQuote, BaseWalletActivity, BaseYieldPosition, BaseYieldProduct, BitcoinAddress, BitcoinAddressInfo, BitcoinChainConfig, BitcoinNetwork, BitcoinNetworkModes, BitcoinTransaction, BitcoinTransactionFeeQuote, BitcoinTransactionVectorInput, BitcoinTransactionVectorOutput, BitcoinTransactionVin, BitcoinTransactionVout, BitcoinTx, BitcoinUnit, BitcoinUnitInfo, BitcoinUnitSymbol, BitflowAmmLpPosition, BitflowAmmStakingPosition, BitflowSdkSwapQuote, Blockchain, BnsName, BnsProfile, BnsProfileData, BnsProfileDataAddresses, Brc20Asset, BtcAsset, BtcBalance, BtcFeeType, ChainId, ConnectAppActivity, CryptoAsset, CryptoAssetBalance, CryptoAssetCategories, CryptoAssetCategory, CryptoAssetChain, CryptoAssetChains, CryptoAssetId, CryptoAssetProtocol, CryptoAssetProtocols, CryptoCurrency, Currency, DefaultNetworkConfigurations, DeploySmartContractActivity, EMILY_API_BASE_URL_DEVENV, EMILY_API_BASE_URL_MAINNET, EMILY_API_BASE_URL_TESTNET, EmailAddress, Entries, EvmTransactionFeeQuote, ExecuteSmartContractActivity, ExecutionConstraint, FastPoolPooledStackingPosition, FeeCalculationTypes, FeeTypes, Fees, FlatTransactionFeeQuote, FtTransfer, FungibleAssetId, FungibleCryptoAsset, FungibleCryptoAssetProtocol, FungibleCryptoAssetProtocols, GeneralActivity, GeneralActivityType, GeneralActivityTypes, GraniteV1BorrowPosition, GraniteV1CollateralAsset, GraniteV1EarnPosition, HIRO_API_BASE_URL_MAINNET, HIRO_API_BASE_URL_MAINNET_EXTENDED, HIRO_API_BASE_URL_NAKAMOTO_TESTNET, HIRO_API_BASE_URL_TESTNET, HIRO_API_BASE_URL_TESTNET_EXTENDED, HermeticaStaking, HermeticaUsdhStakingPosition, HistoricalPeriod, InputCurrencyMode, InscriptionAsset, InscriptionMimeType, LisaLiStxPosition, LisaLiquidStakingPosition, LisaLstHolding, LiteralUnion, LockAssetActivity, MarketData, MarketPriceHistory, MarketPriceSnapshot, MarketStats, Money, NativeCryptoAsset, NetworkConfiguration, NetworkModes, NonFungibleCryptoAsset, NonFungibleCryptoAssetProtocol, NonFungibleCryptoAssetProtocols, Nullable, NumType, OnChainActivity, OnChainActivityStatus, OnChainActivityStatuses, OnChainActivityType, OnChainActivityTypes, OwnedUtxo, PooledStackingYieldProduct, Prettify, QuoteCurrency, ReceiveAssetActivity, ReplaceTypes, RuneAsset, SbtcBridgeDepositSwapExecutionData, SbtcBridgeStatus, SbtcBridgeSwapQuote, SendAssetActivity, SignMessageActivity, Sip10Asset, Sip9Asset, Sip9AssetContent, Sip9Attribute, Sip9Collection, Sip9ContentType, Src20Asset, StackingDaoLstHolding, StackingDaoLstWithdrawal, StackingDaoPooledStackingPosition, StackingDaoReward, StackingDaoStStxBtcPosition, StackingDaoStStxPosition, StacksAddressInfo, StacksChainConfig, StacksContractCallSwapExecutionData, StacksFeeEstimate, StacksTransactionFeeQuote, StacksTx, StacksTxStatus, StampAsset, StxAsset, StxBalance, StxTransfer, SupportedBlockchains, SwapAsset, SwapAssetsActivity, SwapDex, SwapExecutionData, SwapExecutionType, SwapProvider, SwapProviderAsset, SwapProviderId, SwapQuote, SwappableFungibleCryptoAsset, TokenAnalytics, TokenDistribution, TokenDistributionPercentileKey, TokenHolderSegment, TokenTopHolderKey, TransactionErrorKey, TransactionFeeQuote, TransactionFeeQuoteType, TransactionFeeTier, TransactionFees, Utxo, UtxoId, ValueOf, VelarAmmLpPosition, VelarFarmPosition, VelarSdkSwapQuote, WalletActivity, WalletActivityType, WalletActivityTypes, WalletDefaultNetworkConfigurationIds, WalletId, XversePooledStackingPosition, YieldPosition, YieldProduct, YieldProductCategories, YieldProductCategory, YieldProductKey, YieldProductKeys, YieldProductToProviderMap, YieldProvider, YieldProviderKey, YieldProviderKeys, ZestBorrowAsset, ZestBorrowMarketPosition, accountAddressesSchema, accountDisplayPreferenceSchema, accountIdSchema, analyticsPreferenceSchema, bitcoinAddressInfoSchema, bitcoinNetworkModesSchema, bitcoinNetworkSchema, bitcoinNetworkToNetworkMode, bitcoinNetworks, bitcoinUnitSchema, bnsContractAddress, bnsContractName, btcTxTimeMap, createMarketData, createMarketPair, defaultCurrentNetwork, defaultNetworkConfigurationsSchema, defaultNetworksKeyedById, emailAddressSchema, enrichPositionWithMetadata, enrichPositionWithProduct, enrichPositionWithProvider, filterPositionsByCategory, filterPositionsByProduct, filterPositionsByProvider, formatMarketPair, getCategoryDisplayName, getCategoryForProduct, getPositionsInCategories, getProductsForProvider, getProductsInCategory, getProviderForProduct, groupPositionsByCategory, groupPositionsByProvider, hasPositionsInCategory, hasPositionsInProvider, historicalPeriods, inscriptionMimeTypes, isBitflowAmmLpPosition, isBitflowAmmStakingPosition, isBrc20Asset, isBtcAsset, isFungibleAsset, isGraniteBorrowPosition, isGraniteEarnPosition, isInscriptionAsset, isNativeAsset, isNonFungibleAsset, isProductInProvider, isRuneAsset, isSip10Asset, isSip9Asset, isSrc20Asset, isStackingDaoPooledPosition, isStackingDaoStStxBtcPosition, isStackingDaoStStxPosition, isStampAsset, isStxAsset, isSwappableAsset, isZestPosition, networkConfigurationSchema, networkModes, percentileKeys, sip9ContentTypes, sortPositionsByApy, sortPositionsByBalance, sortPositionsByUpdateTime, stacksAddressInfoSchema, supportedBlockchains, swapExecutionTypes, swapProviderIds, testnetModes, topHolderKeys, transactionFeeQuoteType, transactionFeeTiers, walletIdSchema, whenInputCurrencyMode };
|
|
1286
1325
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/account.model.ts","../src/activity/activity-level.model.ts","../src/activity/activity-status.model.ts","../src/activity/activity-type.model.ts","../src/inscription-mime-type.model.ts","../src/types.utils.ts","../src/currencies.model.ts","../src/money.model.ts","../src/assets/sip9-asset.model.ts","../src/assets/asset.model.ts","../src/activity/activity.model.ts","../src/assets/asset-id.model.ts","../src/assets/asset-type-guards.ts","../src/balance.model.ts","../src/bitcoin.model.ts","../src/bns.model.ts","../src/fees/bitcoin-fees.model.ts","../src/types.ts","../src/fees/stacks-fees.model.ts","../src/fees/fees.model.ts","../src/fees/transaction-fees.model.ts","../src/market.model.ts","../src/network/network.schema.ts","../src/network/network.model.ts","../src/settings.model.ts","../src/swap/swap.model.ts","../src/transactions/bitcoin-transaction.model.ts","../src/transactions/stacks-transaction.model.ts","../src/transactions/transaction-error.model.ts","../src/utxo.model.ts","../src/yield/yield-provider.model.ts","../src/yield/yield-product.model.ts","../src/yield/yield-position.base.model.ts","../src/yield/providers/bitflow-position.model.ts","../src/yield/providers/granite-position.model.ts","../src/yield/providers/stacking-dao-position.model.ts","../src/yield/providers/zest-position.model.ts","../src/yield/providers/fast-pool-position.model.ts","../src/yield/providers/hermetica-position.model.ts","../src/yield/providers/lisa-position.model.ts","../src/yield/providers/velar-position.model.ts","../src/yield/providers/xverse-position.model.ts","../src/yield/yield-position.model.ts","../src/yield/helpers/yield.helpers.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/account.model.ts","../src/activity/activity-level.model.ts","../src/input-currency-mode.model.ts","../src/activity/activity-status.model.ts","../src/activity/activity-type.model.ts","../src/inscription-mime-type.model.ts","../src/types.utils.ts","../src/currencies.model.ts","../src/money.model.ts","../src/assets/sip9-asset.model.ts","../src/assets/asset.model.ts","../src/activity/activity.model.ts","../src/assets/asset-id.model.ts","../src/assets/asset-type-guards.ts","../src/balance.model.ts","../src/bitcoin.model.ts","../src/bns.model.ts","../src/fees/bitcoin-fees.model.ts","../src/types.ts","../src/fees/stacks-fees.model.ts","../src/fees/fees.model.ts","../src/fees/transaction-fees.model.ts","../src/market.model.ts","../src/network/network.schema.ts","../src/network/network.model.ts","../src/settings.model.ts","../src/swap/swap.model.ts","../src/token-analytics.model.ts","../src/transactions/bitcoin-transaction.model.ts","../src/transactions/stacks-transaction.model.ts","../src/transactions/transaction-error.model.ts","../src/utxo.model.ts","../src/yield/yield-provider.model.ts","../src/yield/yield-product.model.ts","../src/yield/yield-position.base.model.ts","../src/yield/providers/bitflow-position.model.ts","../src/yield/providers/granite-position.model.ts","../src/yield/providers/stacking-dao-position.model.ts","../src/yield/providers/zest-position.model.ts","../src/yield/providers/fast-pool-position.model.ts","../src/yield/providers/hermetica-position.model.ts","../src/yield/providers/lisa-position.model.ts","../src/yield/providers/velar-position.model.ts","../src/yield/providers/xverse-position.model.ts","../src/yield/yield-position.model.ts","../src/yield/helpers/yield.helpers.ts"],"sourcesContent":[],"mappings":"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AA,QAAA,EAAA,MAAA;EAId,OAAA,EAAA,qBAA4E;WyCO9E;;AzCPiB,UyCUX,cAAA,CzCVW;SyCWnB;WACE;gBACK;EzCbY,GAAA,EAAA,MAAA;;;;U0CFX,kBAAA,SAA2B;;E1CF/B,OAAA,EAAA,cAEX;;;IAFyB,KAAA,E0COhB,mB1CPgB;IAAA,OAAA,E0CQd,K1CRc;IAId,YAAA,E0CKK,K1CLuE;;;IAA7D,KAAA,E0CQjB,mB1CRiB;a0CSf;kBACK;;E1CVU,MAAA,EAAA;IAAA,KAAA,E0CajB,mB1CbiB;IAEf,OAAA,E0CYA,K1CZA;kB0CaK;;;UAID,iBAAA,SAA0B;;;;I1CjBN,KAAA,E0CqB1B,mB1CrB0B;IAAA,OAAA,E0CsBxB,K1CtBwB;IAOxB,YAAA,E0CgBK,K1ChBL;;;IAAuB,KAAA,E0CmBzB,mB1CnByB;IAAA,OAAA,E0CoBvB,K1CpBuB;IAIvB,YAAA,E0CiBK,K1CjBL;;;;;U2CjBI,4BAAA,SAAqC;;;;;;A3CA3B,K4CkBf,aAAA,GACR,oB5CnBuB,G4CoBvB,yB5CpBuB,G4CqBvB,wB5CrBuB,G4CsBvB,qB5CtBuB,G4CuBvB,uB5CvBuB,G4CwBvB,wB5CxBuB,G4CyBvB,2B5CzBuB,G4C0BvB,iC5C1BuB,G4C2BvB,kB5C3BuB,G4C4BvB,iB5C5BuB,G4C6BvB,iB5C7BuB,G4C8BvB,yB5C9BuB,G4C+BvB,4B5C/BuB,G4CgCvB,8B5ChCuB,G4CiCvB,4B5CjCuB;;;iB6CuBX,sBAAA,MAA4B,uBAAuB;A7CvBxC,iB6C2BX,2BAAA,C7C3BW,GAAA,E6C2BsB,a7C3BtB,CAAA,EAAA,GAAA,I6C2B6C,yB7C3B7C;AAAA,iB6C+BX,cAAA,C7C/BW,GAAA,E6C+BS,a7C/BT,CAAA,EAAA,GAAA,I6C+BgC,wB7C/BhC;AAId,iB6C+BG,qBAAA,C7C/ByE,GAAA,E6C+B9C,a7C/B8C,CAAA,EAAA,GAAA,I6C+BvB,qB7C/BuB;iB6CmCzE,uBAAA,MAA6B,uBAAuB;iBAIpD,0BAAA,MAAgC,uBAAuB;A7CvC3C,iB6C2CZ,6BAAA,C7C3CY,GAAA,E6C4CrB,a7C5CqB,CAAA,EAAA,GAAA,I6C6ClB,2B7C7CkB;iB6CiDZ,2BAAA,MACT,uBACG;iBAIM,yBAAA,YACH,2BACD,mBACT;iBAIa,wBAAA,YACH,0BACF,kBACR;A7CjEyB,iB6CqEZ,yBAAA,C7CrEY,SAAA,E6CsEf,a7CtEe,EAAA,EAAA,QAAA,E6CuEhB,Y7CvEgB,EAAA,EAAA,QAAA,E6CwEhB,oB7CxEgB,CAAA,E6CyEzB,a7CzEyB,EAAA;AAAA,iB6C8EZ,sBAAA,C7C9EY,SAAA,E6C+Ef,a7C/Ee,EAAA,EAAA,SAAA,CAAA,EAAA,OAAA,CAAA,E6CiFzB,a7CjFyB,EAAA;AAEf,iB6CsFG,kBAAA,C7CjFd,SAAA,E6CiF4C,a7CjF5C,EAAA,EAAA,SAAA,CAAA,EAAA,OAAA,CAAA,E6CiFiF,a7CjFjF,EAAA;iB6CyFc,yBAAA,YACH,uCAEV;iBAQa,qBAAA,UAA+B,kBAAkB;iBAIjD,qBAAA,UAA+B,eAAe;iBAI9C,mBAAA,UAA6B,2BAA2B;iBAIxD,sBAAA,WAAiC,mBAAmB;iBAMpD,qBAAA,WACJ,0BACA,uBACT;iBAIa,wBAAA,YACH,kBACV,OAAO,kBAAkB;A7CpIS,iB6CkJrB,wBAAA,C7ClJqB,SAAA,E6CmJxB,a7CnJwB,EAAA,EAAA,QAAA,E6CoJzB,Y7CpJyB,EAAA,CAAA,E6CqJlC,M7CrJkC,CAAA,MAAA,E6CqJnB,a7CrJmB,EAAA,CAAA;AAAA,iB6CuKrB,wBAAA,C7CvKqB,SAAA,E6CwKxB,a7CxKwB,EAAA,EAAA,QAAA,E6CyKzB,Y7CzKyB,EAAA,EAAA,UAAA,E6C0KvB,oB7C1KuB,EAAA,CAAA,E6C2KlC,a7C3KkC,EAAA;AAOxB,iB6C6KG,sBAAA,C7C3Kd,SAAA,E6C4KW,a7C5KX,EAAA,EAAA,QAAA,E6C6KU,gB7C7KV,CAAA,EAAA,OAAA;iB6CkLc,sBAAA,YACH,2BACD,0BACA;iBAMI,qCAAqC,yBACzC,aACA,gBACT;E7ChMiC,YAAA,E6CgMb,a7ChMa;CAAA;AAIvB,iB6CgMG,yB7C5Ld,CAAA,U6C4LkD,a7C5LlD,CAAA,CAAA,QAAA,E6C6LU,C7C7LV,EAAA,OAAA,E6C8LS,Y7C9LT,CAAA,E6C+LC,C7C/LD,GAAA;e6C+LoB;;iBAIN,qCAAqC,yBACzC,aACA,wBACD,eACR;gBAAoB;eAA4B;;iBAInC,sBAAA,WAAiC"}
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,12 @@ const ActivityLevels = {
|
|
|
23
23
|
app: "app"
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/input-currency-mode.model.ts
|
|
28
|
+
function whenInputCurrencyMode(mode) {
|
|
29
|
+
return (modes) => modes[mode];
|
|
30
|
+
}
|
|
31
|
+
|
|
26
32
|
//#endregion
|
|
27
33
|
//#region src/activity/activity-status.model.ts
|
|
28
34
|
const OnChainActivityStatuses = {
|
|
@@ -80,9 +86,6 @@ function isBrc20Asset(asset) {
|
|
|
80
86
|
function isSrc20Asset(asset) {
|
|
81
87
|
return asset.protocol === "src20";
|
|
82
88
|
}
|
|
83
|
-
function isStx20Asset(asset) {
|
|
84
|
-
return asset.protocol === "stx20";
|
|
85
|
-
}
|
|
86
89
|
function isRuneAsset(asset) {
|
|
87
90
|
return asset.protocol === "rune";
|
|
88
91
|
}
|
|
@@ -112,7 +115,6 @@ const FungibleCryptoAssetProtocols = {
|
|
|
112
115
|
sip10: "sip10",
|
|
113
116
|
brc20: "brc20",
|
|
114
117
|
src20: "src20",
|
|
115
|
-
stx20: "stx20",
|
|
116
118
|
rune: "rune"
|
|
117
119
|
};
|
|
118
120
|
const NonFungibleCryptoAssetProtocols = {
|
|
@@ -285,7 +287,6 @@ const BITCOIN_API_BASE_URL_TESTNET4 = "https://leather.mempool.space/testnet4/ap
|
|
|
285
287
|
const BITCOIN_API_BASE_URL_SIGNET = "https://mempool.space/signet/api";
|
|
286
288
|
const BESTINSLOT_API_BASE_URL_MAINNET = "https://leatherapi.bestinslot.xyz/v3";
|
|
287
289
|
const BESTINSLOT_API_BASE_URL_TESTNET = "https://leatherapi_testnet.bestinslot.xyz/v3";
|
|
288
|
-
const STX20_API_BASE_URL_MAINNET = "https://api.stx20.com/api/v1";
|
|
289
290
|
const BNS_V2_API_BASE_URL = "https://api.bnsv2.com";
|
|
290
291
|
const EMILY_API_BASE_URL_MAINNET = "https://sbtc-emily.com";
|
|
291
292
|
const EMILY_API_BASE_URL_TESTNET = "https://beta.sbtc-emily.com";
|
|
@@ -510,7 +511,23 @@ const swapProviderIds = [
|
|
|
510
511
|
"alex-sdk",
|
|
511
512
|
"velar-sdk"
|
|
512
513
|
];
|
|
513
|
-
const swapExecutionTypes = ["stacks-contract-call", "sbtc-bridge-
|
|
514
|
+
const swapExecutionTypes = ["stacks-contract-call", "sbtc-bridge-deposit"];
|
|
515
|
+
|
|
516
|
+
//#endregion
|
|
517
|
+
//#region src/token-analytics.model.ts
|
|
518
|
+
const topHolderKeys = [
|
|
519
|
+
1,
|
|
520
|
+
10,
|
|
521
|
+
50,
|
|
522
|
+
100,
|
|
523
|
+
200
|
|
524
|
+
];
|
|
525
|
+
const percentileKeys = [
|
|
526
|
+
10,
|
|
527
|
+
25,
|
|
528
|
+
50,
|
|
529
|
+
75
|
|
530
|
+
];
|
|
514
531
|
|
|
515
532
|
//#endregion
|
|
516
533
|
//#region src/yield/yield-provider.model.ts
|
|
@@ -711,5 +728,5 @@ function getCategoryDisplayName(category) {
|
|
|
711
728
|
}
|
|
712
729
|
|
|
713
730
|
//#endregion
|
|
714
|
-
export { ActivityLevels, BESTINSLOT_API_BASE_URL_MAINNET, BESTINSLOT_API_BASE_URL_TESTNET, BITCOIN_API_BASE_URL_MAINNET, BITCOIN_API_BASE_URL_SIGNET, BITCOIN_API_BASE_URL_TESTNET3, BITCOIN_API_BASE_URL_TESTNET4, BNS_V2_API_BASE_URL, BtcFeeType, ChainId, CryptoAssetCategories, CryptoAssetChains, CryptoAssetProtocols, EMILY_API_BASE_URL_DEVENV, EMILY_API_BASE_URL_MAINNET, EMILY_API_BASE_URL_TESTNET, FeeCalculationTypes, FeeTypes, FungibleCryptoAssetProtocols, GeneralActivityTypes, HIRO_API_BASE_URL_MAINNET, HIRO_API_BASE_URL_MAINNET_EXTENDED, HIRO_API_BASE_URL_NAKAMOTO_TESTNET, HIRO_API_BASE_URL_TESTNET, HIRO_API_BASE_URL_TESTNET_EXTENDED, NonFungibleCryptoAssetProtocols, OnChainActivityStatuses, OnChainActivityTypes,
|
|
731
|
+
export { ActivityLevels, BESTINSLOT_API_BASE_URL_MAINNET, BESTINSLOT_API_BASE_URL_TESTNET, BITCOIN_API_BASE_URL_MAINNET, BITCOIN_API_BASE_URL_SIGNET, BITCOIN_API_BASE_URL_TESTNET3, BITCOIN_API_BASE_URL_TESTNET4, BNS_V2_API_BASE_URL, BtcFeeType, ChainId, CryptoAssetCategories, CryptoAssetChains, CryptoAssetProtocols, EMILY_API_BASE_URL_DEVENV, EMILY_API_BASE_URL_MAINNET, EMILY_API_BASE_URL_TESTNET, FeeCalculationTypes, FeeTypes, FungibleCryptoAssetProtocols, GeneralActivityTypes, HIRO_API_BASE_URL_MAINNET, HIRO_API_BASE_URL_MAINNET_EXTENDED, HIRO_API_BASE_URL_NAKAMOTO_TESTNET, HIRO_API_BASE_URL_TESTNET, HIRO_API_BASE_URL_TESTNET_EXTENDED, NonFungibleCryptoAssetProtocols, OnChainActivityStatuses, OnChainActivityTypes, WalletActivityTypes, WalletDefaultNetworkConfigurationIds, YieldProductCategories, YieldProductKeys, YieldProductToProviderMap, YieldProviderKeys, accountAddressesSchema, accountDisplayPreferenceSchema, accountIdSchema, analyticsPreferenceSchema, bitcoinAddressInfoSchema, bitcoinNetworkModesSchema, bitcoinNetworkSchema, bitcoinNetworkToNetworkMode, bitcoinNetworks, bitcoinUnitSchema, bnsContractAddress, bnsContractName, btcTxTimeMap, createMarketData, createMarketPair, defaultCurrentNetwork, defaultNetworkConfigurationsSchema, defaultNetworksKeyedById, emailAddressSchema, enrichPositionWithMetadata, enrichPositionWithProduct, enrichPositionWithProvider, filterPositionsByCategory, filterPositionsByProduct, filterPositionsByProvider, formatMarketPair, getCategoryDisplayName, getCategoryForProduct, getPositionsInCategories, getProductsForProvider, getProductsInCategory, getProviderForProduct, groupPositionsByCategory, groupPositionsByProvider, hasPositionsInCategory, hasPositionsInProvider, historicalPeriods, inscriptionMimeTypes, isBitflowAmmLpPosition, isBitflowAmmStakingPosition, isBrc20Asset, isBtcAsset, isFungibleAsset, isGraniteBorrowPosition, isGraniteEarnPosition, isInscriptionAsset, isNativeAsset, isNonFungibleAsset, isProductInProvider, isRuneAsset, isSip10Asset, isSip9Asset, isSrc20Asset, isStackingDaoPooledPosition, isStackingDaoStStxBtcPosition, isStackingDaoStStxPosition, isStampAsset, isStxAsset, isSwappableAsset, isZestPosition, networkConfigurationSchema, networkModes, percentileKeys, sip9ContentTypes, sortPositionsByApy, sortPositionsByBalance, sortPositionsByUpdateTime, stacksAddressInfoSchema, supportedBlockchains, swapExecutionTypes, swapProviderIds, testnetModes, topHolderKeys, transactionFeeQuoteType, transactionFeeTiers, walletIdSchema, whenInputCurrencyMode };
|
|
715
732
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["btcTxTimeMap: Record<keyof AverageBitcoinFeeRates, string>","networkMainnet: NetworkConfiguration","networkTestnet: NetworkConfiguration","networkTestnet4: NetworkConfiguration","networkSignet: NetworkConfiguration","networkSbtcTestnet: NetworkConfiguration","networkSbtcDevenv: NetworkConfiguration","networkDevnet: NetworkConfiguration","defaultCurrentNetwork: NetworkConfiguration","defaultNetworksKeyedById: Record<\n WalletDefaultNetworkConfigurationIds,\n NetworkConfiguration\n>","grouped: Partial<Record<YieldProviderKey, YieldPosition[]>>","grouped: Record<string, YieldPosition[]>"],"sources":["../src/account.model.ts","../src/activity/activity-level.model.ts","../src/activity/activity-status.model.ts","../src/activity/activity-type.model.ts","../src/assets/asset-type-guards.ts","../src/assets/asset.model.ts","../src/assets/sip9-asset.model.ts","../src/bitcoin.model.ts","../src/bns.model.ts","../src/fees/bitcoin-fees.model.ts","../src/fees/fees.model.ts","../src/fees/transaction-fees.model.ts","../src/inscription-mime-type.model.ts","../src/market.model.ts","../src/network/network.model.ts","../src/network/network.schema.ts","../src/settings.model.ts","../src/swap/swap.model.ts","../src/yield/yield-provider.model.ts","../src/yield/yield-product.model.ts","../src/yield/helpers/yield.helpers.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const walletIdSchema = z.object({\n fingerprint: z.string(),\n});\n\nexport const accountIdSchema = walletIdSchema.and(z.object({ accountIndex: z.number() }));\n\nexport const bitcoinAddressInfoSchema = z.object({\n taprootDescriptor: z.string(),\n nativeSegwitDescriptor: z.string(),\n zeroIndexTaprootPayerAddress: z.string().optional(),\n zeroIndexNativeSegwitPayerAddress: z.string().optional(),\n});\n\nexport const stacksAddressInfoSchema = z.object({\n stxAddress: z.string(),\n});\n\nexport const accountAddressesSchema = z.object({\n id: accountIdSchema,\n bitcoin: bitcoinAddressInfoSchema.optional(),\n stacks: stacksAddressInfoSchema.optional(),\n});\n\nexport type WalletId = z.infer<typeof walletIdSchema>;\nexport type AccountId = z.infer<typeof accountIdSchema>;\nexport type BitcoinAddressInfo = z.infer<typeof bitcoinAddressInfoSchema>;\nexport type StacksAddressInfo = z.infer<typeof stacksAddressInfoSchema>;\nexport type AccountAddresses = z.infer<typeof accountAddressesSchema>;\n","export const ActivityLevels = {\n account: 'account',\n app: 'app',\n} as const;\nexport type ActivityLevel = keyof typeof ActivityLevels;\n","export const OnChainActivityStatuses = {\n pending: 'pending',\n success: 'success',\n failed: 'failed',\n} as const;\nexport type OnChainActivityStatus = keyof typeof OnChainActivityStatuses;\n","export const OnChainActivityTypes = {\n deploySmartContract: 'deploySmartContract',\n executeSmartContract: 'executeSmartContract',\n lockAsset: 'lockAsset',\n sendAsset: 'sendAsset',\n receiveAsset: 'receiveAsset',\n swapAssets: 'swapAssets',\n} as const;\nexport type OnChainActivityType = keyof typeof OnChainActivityTypes;\n\nexport const WalletActivityTypes = {\n connectApp: 'connectApp',\n signMessage: 'signMessage',\n} as const;\nexport type WalletActivityType = keyof typeof WalletActivityTypes;\n\nexport const GeneralActivityTypes = {\n walletAdded: 'walletAdded',\n receiveAnnouncement: 'receiveAnnouncement',\n featureWaitlistNotification: 'featureWaitlistNotification',\n} as const;\nexport type GeneralActivityType = keyof typeof GeneralActivityTypes;\n\nexport type ActivityType = OnChainActivityType | WalletActivityType | GeneralActivityType;\n","import {\n Brc20Asset,\n BtcAsset,\n CryptoAsset,\n FungibleCryptoAsset,\n InscriptionAsset,\n NativeCryptoAsset,\n NonFungibleCryptoAsset,\n RuneAsset,\n Sip10Asset,\n Src20Asset,\n StampAsset,\n Stx20Asset,\n StxAsset,\n} from './asset.model';\nimport { Sip9Asset } from './sip9-asset.model';\n\nexport function isFungibleAsset(asset: CryptoAsset): asset is FungibleCryptoAsset {\n return asset.category === 'fungible';\n}\n\nexport function isNonFungibleAsset(asset: CryptoAsset): asset is NonFungibleCryptoAsset {\n return asset.category === 'nft';\n}\n\nexport function isBtcAsset(asset: CryptoAsset): asset is BtcAsset {\n return asset.protocol === 'nativeBtc';\n}\n\nexport function isStxAsset(asset: CryptoAsset): asset is StxAsset {\n return asset.protocol === 'nativeStx';\n}\n\nexport function isNativeAsset(asset: CryptoAsset): asset is NativeCryptoAsset {\n return isBtcAsset(asset) || isStxAsset(asset);\n}\n\nexport function isSip10Asset(asset: CryptoAsset): asset is Sip10Asset {\n return asset.protocol === 'sip10';\n}\n\nexport function isSwappableAsset(asset: CryptoAsset): asset is NativeCryptoAsset | Sip10Asset {\n return isNativeAsset(asset) || isSip10Asset(asset);\n}\n\nexport function isBrc20Asset(asset: CryptoAsset): asset is Brc20Asset {\n return asset.protocol === 'brc20';\n}\n\nexport function isSrc20Asset(asset: CryptoAsset): asset is Src20Asset {\n return asset.protocol === 'src20';\n}\n\nexport function isStx20Asset(asset: CryptoAsset): asset is Stx20Asset {\n return asset.protocol === 'stx20';\n}\n\nexport function isRuneAsset(asset: CryptoAsset): asset is RuneAsset {\n return asset.protocol === 'rune';\n}\n\nexport function isInscriptionAsset(asset: CryptoAsset): asset is InscriptionAsset {\n return asset.protocol === 'inscription';\n}\n\nexport function isStampAsset(asset: CryptoAsset): asset is StampAsset {\n return asset.protocol === 'stamp';\n}\n\nexport function isSip9Asset(asset: CryptoAsset): asset is Sip9Asset {\n return asset.protocol === 'sip9';\n}\n","import { InscriptionMimeType } from '../inscription-mime-type.model';\nimport { Sip9Asset } from './sip9-asset.model';\n\nexport const CryptoAssetChains = {\n bitcoin: 'bitcoin',\n stacks: 'stacks',\n} as const;\nexport const CryptoAssetCategories = {\n fungible: 'fungible',\n nft: 'nft',\n} as const;\nexport const FungibleCryptoAssetProtocols = {\n nativeBtc: 'nativeBtc',\n nativeStx: 'nativeStx',\n sip10: 'sip10',\n brc20: 'brc20',\n src20: 'src20',\n stx20: 'stx20',\n rune: 'rune',\n} as const;\nexport const NonFungibleCryptoAssetProtocols = {\n stamp: 'stamp',\n sip9: 'sip9',\n inscription: 'inscription',\n} as const;\nexport const CryptoAssetProtocols = {\n ...FungibleCryptoAssetProtocols,\n ...NonFungibleCryptoAssetProtocols,\n} as const;\n\nexport type CryptoAssetChain = keyof typeof CryptoAssetChains;\nexport type CryptoAssetCategory = keyof typeof CryptoAssetCategories;\nexport type FungibleCryptoAssetProtocol = keyof typeof FungibleCryptoAssetProtocols;\nexport type NonFungibleCryptoAssetProtocol = keyof typeof NonFungibleCryptoAssetProtocols;\nexport type CryptoAssetProtocol = FungibleCryptoAssetProtocol | NonFungibleCryptoAssetProtocol;\n\nexport interface BaseCryptoAsset {\n readonly chain: CryptoAssetChain;\n readonly category: CryptoAssetCategory;\n readonly protocol: CryptoAssetProtocol;\n}\n\n// Fungible asset types\ninterface BaseFungibleCryptoAsset extends BaseCryptoAsset {\n readonly category: 'fungible';\n readonly protocol: FungibleCryptoAssetProtocol;\n readonly symbol: string;\n readonly decimals: number;\n readonly hasMemo: boolean;\n}\nexport interface BtcAsset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'nativeBtc';\n readonly name: 'Bitcoin';\n readonly symbol: 'BTC';\n}\nexport interface StxAsset extends BaseFungibleCryptoAsset {\n readonly chain: 'stacks';\n readonly protocol: 'nativeStx';\n readonly name: 'Stacks';\n readonly symbol: 'STX';\n}\nexport interface Brc20Asset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'brc20';\n readonly symbol: string;\n}\nexport interface Src20Asset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'src20';\n readonly id: string;\n readonly symbol: string;\n readonly deploy_tx: string;\n readonly deploy_img: string;\n}\nexport interface RuneAsset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'rune';\n readonly spacedRuneName: string;\n readonly runeName: string;\n readonly symbol: string;\n}\nexport interface Sip10Asset extends BaseFungibleCryptoAsset {\n readonly chain: 'stacks';\n readonly protocol: 'sip10';\n readonly name: string;\n readonly canTransfer: boolean;\n readonly assetId: string;\n readonly contractId: string;\n readonly imageCanonicalUri: string;\n readonly symbol: string;\n}\nexport interface Stx20Asset extends BaseFungibleCryptoAsset {\n readonly chain: 'stacks';\n readonly protocol: 'stx20';\n readonly symbol: string;\n}\nexport type NativeCryptoAsset = BtcAsset | StxAsset;\nexport type FungibleCryptoAsset =\n | NativeCryptoAsset\n | Sip10Asset\n | Brc20Asset\n | Src20Asset\n | Stx20Asset\n | RuneAsset;\n\n// NFT asset types\nexport interface BaseNonFungibleCryptoAsset extends BaseCryptoAsset {\n readonly category: 'nft';\n readonly protocol: NonFungibleCryptoAssetProtocol;\n}\nexport interface InscriptionAsset extends BaseNonFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'inscription';\n readonly id: string;\n readonly mimeType: InscriptionMimeType;\n readonly number: number;\n readonly address: string;\n readonly title: string;\n readonly txid: string;\n readonly output: string;\n readonly offset: string;\n readonly preview: string;\n readonly src: string;\n readonly thumbnailSrc?: string;\n readonly value: string;\n readonly genesisBlockHash: string;\n readonly genesisTimestamp: number;\n readonly genesisBlockHeight: number;\n}\nexport interface StampAsset extends BaseNonFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'stamp';\n readonly stamp: number;\n readonly stampUrl: string;\n readonly stampExplorerUrl: string;\n readonly blockHeight: number;\n}\n\nexport type NonFungibleCryptoAsset = InscriptionAsset | StampAsset | Sip9Asset;\n\nexport type CryptoAsset = FungibleCryptoAsset | NonFungibleCryptoAsset;\n\nexport interface FungibleAssetId {\n protocol: FungibleCryptoAssetProtocol;\n id: string;\n}\n","import { Money } from '../money.model';\nimport { BaseNonFungibleCryptoAsset } from './asset.model';\n\nexport const sip9ContentTypes = [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'image/svg+xml',\n 'image/bmp',\n 'image/tiff',\n 'image/avif',\n 'video/mp4',\n 'video/webm',\n 'video/mov',\n 'video/quicktime',\n 'video/avi',\n 'video/x-msvideo',\n 'video/ogg',\n 'audio/mpeg',\n 'audio/mp3',\n 'audio/wav',\n 'audio/x-wav',\n 'audio/ogg',\n 'audio/aac',\n 'audio/flac',\n 'audio/webm',\n 'model/gltf+json',\n 'model/gltf-binary',\n 'application/octet-stream',\n 'text/plain',\n 'text/html',\n 'text/markdown',\n 'application/pdf',\n 'application/json',\n 'text/javascript',\n 'application/javascript',\n 'application/zip',\n 'unknown',\n '',\n] as const;\n\nexport type Sip9ContentType = (typeof sip9ContentTypes)[number];\n\nexport interface Sip9Collection {\n name: string;\n collectionExplorerUrl: string;\n totalItems?: number;\n floorPrice?: Money;\n latestSale?: Money;\n}\n\nexport interface Sip9AssetContent {\n contentUrl: string;\n contentType: Sip9ContentType;\n}\n\nexport interface Sip9Attribute {\n traitType: string;\n value: any;\n rarityPercent?: number;\n}\n\nexport interface Sip9Asset extends BaseNonFungibleCryptoAsset {\n readonly chain: 'stacks';\n readonly protocol: 'sip9';\n readonly assetId: string;\n readonly contractId: string;\n readonly tokenId: number;\n readonly name: string;\n readonly description: string;\n readonly content: Sip9AssetContent;\n readonly attributes?: Sip9Attribute[];\n readonly collection?: Sip9Collection;\n readonly creator?: string;\n readonly rarityRank?: number;\n}\n","import { z } from 'zod';\n\n// Branded type for Bitcoin addresses\nexport type BitcoinAddress = string & { readonly __brand: unique symbol };\n\nexport const bitcoinUnitSchema = z.enum(['bitcoin', 'satoshi']);\nexport type BitcoinUnit = z.infer<typeof bitcoinUnitSchema>;\n\nexport type BitcoinUnitSymbol = 'BTC' | 'sat';\n\nexport interface BitcoinUnitInfo {\n name: BitcoinUnit;\n symbol: BitcoinUnitSymbol;\n decimal: string;\n}\n","export const bnsContractAddress = {\n mainnet: 'SP2QEZ06AGJ3RKJPBV14SY1V5BBFNAW33D96YPGZF',\n testnet: 'ST2QEZ06AGJ3RKJPBV14SY1V5BBFNAW33D9SZJQ0M',\n};\n\nexport const bnsContractName = 'BNS-V2';\n\nexport interface BnsName {\n owner: string;\n name: string;\n namespace: string;\n fullName: string;\n renewalHeight: number;\n registeredAtBlockNumber: number;\n}\n\nexport interface BnsProfile {\n bnsName: BnsName;\n profileData: BnsProfileData;\n}\n\nexport interface BnsProfileData {\n name?: string;\n bio?: string;\n website?: string;\n pfpUrl?: string;\n location?: string;\n addresses?: BnsProfileDataAddresses;\n}\n\nexport interface BnsProfileDataAddresses {\n bitcoinPayment?: string;\n bitcoinOrdinal?: string;\n solana?: string;\n ethereum?: string;\n}\n","import type BigNumber from 'bignumber.js';\n\nexport interface AverageBitcoinFeeRates {\n fastestFee: BigNumber;\n halfHourFee: BigNumber;\n hourFee: BigNumber;\n}\n\nexport const btcTxTimeMap: Record<keyof AverageBitcoinFeeRates, string> = {\n fastestFee: '~10 – 20min',\n halfHourFee: '~30 min',\n hourFee: '~1 hour+',\n};\n\nexport enum BtcFeeType {\n High = 'High',\n Standard = 'Standard',\n Low = 'Low',\n}\n","import { Blockchain } from '../types';\nimport { StacksFeeEstimate } from './stacks-fees.model';\n\nexport enum FeeTypes {\n Low,\n Middle,\n High,\n Custom,\n Unknown,\n}\n\nexport enum FeeCalculationTypes {\n Api = 'api',\n Default = 'default',\n DefaultSimulated = 'default-simulated',\n FeesCapped = 'fees-capped',\n TokenTransferSpecific = 'token-transfer-specific',\n}\n\nexport interface Fees {\n blockchain: Blockchain;\n estimates: StacksFeeEstimate[];\n calculation: FeeCalculationTypes;\n}\n","import { Money } from '../money.model';\nimport { Blockchain } from '../types';\n\nexport const transactionFeeTiers = ['low', 'standard', 'high'] as const;\nexport type TransactionFeeTier = (typeof transactionFeeTiers)[number];\n\nexport interface TransactionFees {\n readonly chain: Blockchain;\n readonly options: Record<TransactionFeeTier, TransactionFeeQuote>;\n}\n\nexport const transactionFeeQuoteType = [\n 'flat',\n 'bitcoinFeeRate',\n 'stacksFeeRate',\n 'evm1559',\n] as const;\nexport type TransactionFeeQuoteType = (typeof transactionFeeQuoteType)[number];\n\nexport interface BaseTransactionFeeQuote {\n readonly type: TransactionFeeQuoteType;\n readonly value: Money;\n}\n\nexport interface FlatTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'flat';\n}\n\nexport interface BitcoinTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'bitcoinFeeRate';\n readonly rate: number;\n readonly rateUnit: 'sats/vB';\n readonly estimatedTxSize: number;\n readonly sizeUnit: 'vB';\n}\n\nexport interface StacksTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'stacksFeeRate';\n readonly rate: number;\n readonly rateUnit: 'µSTX/byte';\n readonly estimatedTxSize: number;\n readonly sizeUnit: 'byte';\n}\n\nexport interface EvmTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'evm1559';\n readonly baseFeePerGas: Money;\n readonly priorityFeePerGas: Money;\n readonly gasLimit: number;\n}\n\nexport type TransactionFeeQuote =\n | FlatTransactionFeeQuote\n | BitcoinTransactionFeeQuote\n | StacksTransactionFeeQuote\n | EvmTransactionFeeQuote;\n","/**\n * Inscriptions contain arbitrary data. When retrieving an inscription, it should be\n * classified into one of the types below, indicating that the app can handle it\n * appropriately and securely. Inscriptions of types not ready to be handled by the\n * app should be classified as \"other\".\n */\nexport const inscriptionMimeTypes = [\n 'audio',\n 'gltf',\n 'html',\n 'image',\n 'svg',\n 'text',\n 'video',\n 'other',\n] as const;\n\nexport type InscriptionMimeType = (typeof inscriptionMimeTypes)[number];\n","import type { Currency, QuoteCurrency } from './currencies.model';\nimport type { Money } from './money.model';\n\ninterface MarketPair {\n readonly base: Currency;\n readonly quote: QuoteCurrency;\n}\n\nexport function createMarketPair(base: Currency, quote: QuoteCurrency): MarketPair {\n return Object.freeze({ base, quote });\n}\n\nexport function formatMarketPair({ base, quote }: MarketPair) {\n return `${base}/${quote}`;\n}\n\nexport interface MarketData {\n readonly pair: MarketPair;\n readonly price: Money;\n}\n\nexport function createMarketData(pair: MarketPair, price: Money): MarketData {\n if (pair.quote !== price.symbol)\n throw new Error('Cannot create market data when price does not match quote');\n return Object.freeze({ pair, price });\n}\n\nexport const historicalPeriods = ['1d', '1w', '1m', '3m', '6m', '1y'] as const;\nexport type HistoricalPeriod = (typeof historicalPeriods)[number];\n\nexport interface MarketPriceSnapshot {\n price: Money;\n timestamp: number;\n}\n\nexport interface MarketPriceHistory {\n period: HistoricalPeriod;\n changePercentage: number;\n prices: MarketPriceSnapshot[];\n}\n","import { z } from 'zod';\n\nimport { Blockchain } from '../types';\nimport { networkConfigurationSchema } from './network.schema';\n\nexport const HIRO_API_BASE_URL_MAINNET = 'https://api.hiro.so';\nexport const HIRO_API_BASE_URL_TESTNET = 'https://api.testnet.hiro.so';\nexport const HIRO_API_BASE_URL_NAKAMOTO_TESTNET = 'https://api.nakamoto.testnet.hiro.so';\n\nexport const HIRO_API_BASE_URL_MAINNET_EXTENDED = 'https://api.hiro.so/extended/v1';\nexport const HIRO_API_BASE_URL_TESTNET_EXTENDED = 'https://api.testnet.hiro.so/extended';\n\nexport const BITCOIN_API_BASE_URL_MAINNET = 'https://leather.mempool.space/api';\nexport const BITCOIN_API_BASE_URL_TESTNET3 = 'https://leather.mempool.space/testnet/api';\nexport const BITCOIN_API_BASE_URL_TESTNET4 = 'https://leather.mempool.space/testnet4/api';\nexport const BITCOIN_API_BASE_URL_SIGNET = 'https://mempool.space/signet/api';\n\nexport const BESTINSLOT_API_BASE_URL_MAINNET = 'https://leatherapi.bestinslot.xyz/v3';\nexport const BESTINSLOT_API_BASE_URL_TESTNET = 'https://leatherapi_testnet.bestinslot.xyz/v3';\n\nexport const STX20_API_BASE_URL_MAINNET = 'https://api.stx20.com/api/v1';\n\nexport const BNS_V2_API_BASE_URL = 'https://api.bnsv2.com';\n\nexport const EMILY_API_BASE_URL_MAINNET = 'https://sbtc-emily.com';\nexport const EMILY_API_BASE_URL_TESTNET = 'https://beta.sbtc-emily.com';\nexport const EMILY_API_BASE_URL_DEVENV = 'http://localhost:3031';\n\n// Copied from @stacks/transactions to avoid dependencies\nexport enum ChainId {\n Testnet = 2147483648,\n Mainnet = 1,\n}\n\nexport enum WalletDefaultNetworkConfigurationIds {\n mainnet = 'mainnet',\n testnet = 'testnet',\n testnet4 = 'testnet4',\n signet = 'signet',\n sbtcTestnet = 'sbtcTestnet',\n sbtcDevenv = 'sbtcDevenv',\n devnet = 'devnet',\n}\n\nexport const defaultNetworkConfigurationsSchema = z.enum([\n 'mainnet',\n 'testnet',\n 'testnet4',\n 'signet',\n 'sbtcTestnet',\n 'sbtcDevenv',\n 'devnet',\n]);\nexport type DefaultNetworkConfigurations = z.infer<typeof defaultNetworkConfigurationsSchema>;\n\nexport const supportedBlockchains = ['stacks', 'bitcoin'] as const;\n\nexport type SupportedBlockchains = (typeof supportedBlockchains)[number];\n\nexport const networkModes = ['mainnet', 'testnet'] as const;\nexport const testnetModes = ['testnet', 'regtest', 'signet'] as const;\n\nexport const bitcoinNetworks = ['mainnet', 'testnet3', 'testnet4', 'regtest', 'signet'] as const;\nexport type BitcoinNetwork = (typeof bitcoinNetworks)[number];\n\nexport type NetworkModes = (typeof networkModes)[number];\ntype BitcoinTestnetModes = (typeof testnetModes)[number];\n\nexport function bitcoinNetworkToNetworkMode(network: BitcoinNetwork): BitcoinNetworkModes {\n switch (network) {\n case 'mainnet':\n return 'mainnet';\n case 'testnet3':\n return 'testnet';\n case 'testnet4':\n return 'testnet';\n case 'regtest':\n return 'regtest';\n case 'signet':\n return 'signet';\n default:\n // TODO: Needs exhaustive check. Cannot import 'assertUnreachable' since 'utils' package depends on 'models'.\n // Ideally this function should live in utils, but it's currently widely used in the extension.\n throw new Error(`Unhandled case: ${network}`);\n }\n}\n\nexport type BitcoinNetworkModes = NetworkModes | BitcoinTestnetModes;\n\ninterface BaseChainConfig {\n blockchain: Blockchain;\n}\n\nexport interface BitcoinChainConfig extends BaseChainConfig {\n blockchain: 'bitcoin';\n bitcoinUrl: string;\n bitcoinNetwork: BitcoinNetwork;\n mode: BitcoinNetworkModes;\n}\n\nexport interface StacksChainConfig extends BaseChainConfig {\n blockchain: 'stacks';\n url: string;\n /** The chainId of the network (or parent network if this is a subnet) */\n chainId: ChainId;\n /** An additional chainId for subnets. Indicated a subnet if defined and is mainly used for signing. */\n subnetChainId?: ChainId;\n}\n\nexport type NetworkConfiguration = z.infer<typeof networkConfigurationSchema>;\n\nconst networkMainnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.mainnet,\n name: 'Mainnet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Mainnet,\n url: HIRO_API_BASE_URL_MAINNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'mainnet',\n mode: 'mainnet',\n bitcoinUrl: BITCOIN_API_BASE_URL_MAINNET,\n },\n },\n};\n\nconst networkTestnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.testnet,\n name: 'Testnet3',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'testnet3',\n mode: 'testnet',\n bitcoinUrl: BITCOIN_API_BASE_URL_TESTNET3,\n },\n },\n};\n\nconst networkTestnet4: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.testnet4,\n name: 'Testnet4',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'testnet4',\n mode: 'testnet',\n bitcoinUrl: BITCOIN_API_BASE_URL_TESTNET4,\n },\n },\n};\n\nconst networkSignet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.signet,\n name: 'Signet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'signet',\n mode: 'signet',\n bitcoinUrl: BITCOIN_API_BASE_URL_SIGNET,\n },\n },\n};\n\nconst networkSbtcTestnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.sbtcTestnet,\n name: 'sBTC Testnet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'regtest',\n mode: 'regtest',\n bitcoinUrl: 'https://beta.sbtc-mempool.tech/api/proxy',\n },\n },\n};\n\nconst networkSbtcDevenv: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.sbtcDevenv,\n name: 'sBTC Devenv',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: 'http://localhost:3999',\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'regtest',\n mode: 'regtest',\n bitcoinUrl: 'http://localhost:3000/api/proxy',\n },\n },\n};\n\nconst networkDevnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.devnet,\n name: 'Devnet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: 'http://localhost:3999',\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'regtest',\n mode: 'regtest',\n bitcoinUrl: 'http://localhost:18443',\n },\n },\n};\n\nexport const defaultCurrentNetwork: NetworkConfiguration = networkMainnet;\n\nexport const defaultNetworksKeyedById: Record<\n WalletDefaultNetworkConfigurationIds,\n NetworkConfiguration\n> = {\n [WalletDefaultNetworkConfigurationIds.mainnet]: networkMainnet,\n [WalletDefaultNetworkConfigurationIds.testnet4]: networkTestnet4,\n [WalletDefaultNetworkConfigurationIds.testnet]: networkTestnet,\n [WalletDefaultNetworkConfigurationIds.signet]: networkSignet,\n [WalletDefaultNetworkConfigurationIds.sbtcTestnet]: networkSbtcTestnet,\n [WalletDefaultNetworkConfigurationIds.sbtcDevenv]: networkSbtcDevenv,\n [WalletDefaultNetworkConfigurationIds.devnet]: networkDevnet,\n};\n","import { z } from 'zod';\n\nimport { bitcoinNetworks, networkModes, testnetModes } from './network.model';\n\nexport const bitcoinNetworkModesSchema = z.enum([...networkModes, ...testnetModes]);\n\nexport const bitcoinNetworkSchema = z.enum([...bitcoinNetworks]);\n\nexport const networkConfigurationSchema = z.object({\n name: z.string(),\n id: z.string(),\n chain: z.object({\n bitcoin: z.object({\n blockchain: z.literal('bitcoin'),\n bitcoinUrl: z.string(),\n bitcoinNetwork: bitcoinNetworkSchema,\n mode: bitcoinNetworkModesSchema,\n }),\n stacks: z.object({\n blockchain: z.literal('stacks'),\n url: z.string(),\n chainId: z.number(),\n subnetChainId: z.number().optional(),\n }),\n }),\n});\n","import { z } from 'zod';\n\nimport { Blockchain } from './types';\n\nexport const accountDisplayPreferenceSchema = z.enum(['native-segwit', 'taproot', 'bns', 'stacks']);\nexport type AccountDisplayPreference = z.infer<typeof accountDisplayPreferenceSchema>;\n\nexport interface AccountDisplayPreferenceInfo {\n type: AccountDisplayPreference;\n blockchain: Blockchain;\n name: string;\n}\n\nexport const analyticsPreferenceSchema = z.enum(['consent-given', 'rejects-tracking']);\nexport type AnalyticsPreference = z.infer<typeof analyticsPreferenceSchema>;\n\nexport const emailAddressSchema = z.email({ error: 'Invalid email address' });\nexport type EmailAddress = z.infer<typeof emailAddressSchema>;\n","import { CryptoAssetId } from '../assets/asset-id.model';\nimport { NativeCryptoAsset, Sip10Asset } from '../assets/asset.model';\nimport { Money } from '../money.model';\n\nexport type SwappableFungibleCryptoAsset = NativeCryptoAsset | Sip10Asset;\n\nexport interface SwapAsset {\n readonly asset: SwappableFungibleCryptoAsset;\n readonly providerAssets: SwapProviderAsset[];\n}\n\nexport const swapProviderIds = ['bitflow-sdk', 'sbtc-bridge', 'alex-sdk', 'velar-sdk'] as const;\nexport type SwapProviderId = (typeof swapProviderIds)[number];\n\nexport interface SwapProvider {\n readonly id: SwapProviderId;\n readonly isAggregator: boolean;\n}\n\nexport interface SwapProviderAsset {\n readonly providerId: SwapProviderId;\n readonly providerAssetId: string;\n readonly assetId: CryptoAssetId;\n}\n\nexport type SwapQuote =\n | AlexSdkSwapQuote\n | VelarSdkSwapQuote\n | BitflowSdkSwapQuote\n | SbtcBridgeSwapQuote;\n\nexport interface BaseSwapQuote {\n readonly executionType: SwapExecutionType;\n readonly providerId: SwapProviderId;\n readonly baseAsset: SwappableFungibleCryptoAsset;\n readonly targetAsset: SwappableFungibleCryptoAsset;\n readonly baseAmount: Money;\n readonly targetAmount: Money;\n readonly dexPath: SwapDex[];\n readonly assetPath: (NativeCryptoAsset | Sip10Asset)[];\n readonly isExecutable: boolean;\n readonly executionConstraints: ExecutionConstraint[];\n readonly createdAt: Date;\n}\n\nexport interface ExecutionConstraint {\n readonly reason: 'minimum-threshold-not-met' | 'maximum-threshold-exceeded';\n readonly threshold: Money;\n}\n\nexport interface AlexSdkSwapQuote extends BaseSwapQuote {\n readonly providerId: 'alex-sdk';\n readonly providerQuoteData: {\n baseProviderAssetId: string;\n targetProviderAssetId: string;\n alexSdkAmmRoute: unknown;\n };\n}\n\nexport interface VelarSdkSwapQuote extends BaseSwapQuote {\n readonly providerId: 'velar-sdk';\n providerQuoteData: {\n readonly baseProviderAssetId: string;\n readonly targetProviderAssetId: string;\n };\n}\n\nexport interface BitflowSdkSwapQuote extends BaseSwapQuote {\n readonly providerId: 'bitflow-sdk';\n readonly providerQuoteData: {\n bitflowSdkSelectedSwapRoute: unknown;\n };\n}\n\nexport interface SbtcBridgeSwapQuote extends BaseSwapQuote {\n readonly providerId: 'sbtc-bridge';\n}\n\nexport interface SwapDex {\n readonly name: string;\n readonly url: string;\n readonly logo: string;\n readonly description: string;\n}\n\nexport const swapExecutionTypes = ['stacks-contract-call', 'sbtc-bridge-transfer'] as const;\nexport type SwapExecutionType = (typeof swapExecutionTypes)[number];\n\nexport interface BaseSwapExecutionData {\n readonly executionType: SwapExecutionType;\n readonly providerId: SwapProviderId;\n readonly quote: SwapQuote;\n}\nexport interface StacksContractCallSwapExecutionData extends BaseSwapExecutionData {\n readonly executionType: 'stacks-contract-call';\n readonly quote: SwapQuote;\n readonly contractAddress: string;\n readonly contractName: string;\n readonly functionName: string;\n readonly functionArgs: unknown[];\n readonly postConditions: unknown[];\n readonly postConditionMode?: unknown;\n}\nexport interface SbtcBridgeTransferSwapExecutionData extends BaseSwapExecutionData {\n readonly executionType: 'sbtc-bridge-transfer';\n}\nexport type SwapExecutionData =\n | StacksContractCallSwapExecutionData\n | SbtcBridgeTransferSwapExecutionData;\n","export const YieldProviderKeys = {\n bitflow: 'bitflow',\n zest: 'zest',\n granite: 'granite',\n stackingDao: 'stackingdao',\n lisa: 'lisa',\n hermetica: 'hermetica',\n fastPool: 'fast-pool',\n xverse: 'xverse',\n velar: 'velar',\n} as const;\nexport type YieldProviderKey = (typeof YieldProviderKeys)[keyof typeof YieldProviderKeys];\n\nexport interface YieldProvider {\n readonly key: YieldProviderKey;\n readonly name: string;\n readonly logo: string;\n readonly url: string;\n}\n","import { YieldProviderKey, YieldProviderKeys } from './yield-provider.model';\n\nexport const YieldProductKeys = {\n bitflowAmmLp: 'bitflow-amm-lp',\n bitflowAmmStaking: 'bitflow-amm-staking',\n zestBorrowMarket: 'zest-borrow-market',\n graniteV1Earn: 'granite-v1-earn',\n graniteV1Borrow: 'granite-v1-borrow',\n stackingDaoStstx: 'stackingdao-ststx',\n stackingDaoStstxbtc: 'stackingdao-ststxbtc',\n stackingDaoPooledStacking: 'stackingdao-pooled-stacking',\n lisaListx: 'lisa-listx',\n lisaLiquidStaking: 'lisa-liquid-staking',\n hermeticaUsdhStaking: 'hermetica-usdh-staking',\n velarAmmLp: 'velar-amm-lp',\n velarPerps: 'velar-perps',\n velarAmmLpFarming: 'velar-amm-lp-farming',\n fastPoolPooledStacking: 'fast-pool-pooled-stacking',\n xversePooledStacking: 'xverse-pooled-stacking',\n} as const;\nexport type YieldProductKey = (typeof YieldProductKeys)[keyof typeof YieldProductKeys];\n\nexport const YieldProductCategories = {\n AMM: 'amm',\n LENDING: 'lending',\n LIQUID_STACKING: 'liquid-stacking',\n POOLED_STACKING: 'pooled-stacking',\n STAKING: 'staking',\n PERPS: 'perps',\n} as const;\nexport type YieldProductCategory =\n (typeof YieldProductCategories)[keyof typeof YieldProductCategories];\n\nexport const YieldProductToProviderMap = {\n [YieldProductKeys.bitflowAmmLp]: YieldProviderKeys.bitflow,\n [YieldProductKeys.bitflowAmmStaking]: YieldProviderKeys.bitflow,\n [YieldProductKeys.zestBorrowMarket]: YieldProviderKeys.zest,\n [YieldProductKeys.graniteV1Earn]: YieldProviderKeys.granite,\n [YieldProductKeys.graniteV1Borrow]: YieldProviderKeys.granite,\n [YieldProductKeys.stackingDaoStstx]: YieldProviderKeys.stackingDao,\n [YieldProductKeys.stackingDaoStstxbtc]: YieldProviderKeys.stackingDao,\n [YieldProductKeys.stackingDaoPooledStacking]: YieldProviderKeys.stackingDao,\n [YieldProductKeys.lisaListx]: YieldProviderKeys.lisa,\n [YieldProductKeys.lisaLiquidStaking]: YieldProviderKeys.lisa,\n [YieldProductKeys.hermeticaUsdhStaking]: YieldProviderKeys.hermetica,\n [YieldProductKeys.velarAmmLp]: YieldProviderKeys.velar,\n [YieldProductKeys.velarPerps]: YieldProviderKeys.velar,\n [YieldProductKeys.velarAmmLpFarming]: YieldProviderKeys.velar,\n [YieldProductKeys.fastPoolPooledStacking]: YieldProviderKeys.fastPool,\n [YieldProductKeys.xversePooledStacking]: YieldProviderKeys.xverse,\n} as const;\n\nexport type YieldProduct = BaseYieldProduct | PooledStackingYieldProduct;\n\nexport interface BaseYieldProduct {\n readonly key: YieldProductKey;\n readonly provider: YieldProviderKey;\n readonly category: YieldProductCategory;\n readonly name: string;\n readonly url: string;\n}\n\n// normalizes pooled stacking product data\nexport interface PooledStackingYieldProduct extends BaseYieldProduct {\n readonly category: 'pooled-stacking';\n readonly stackerCount: number;\n}\n","import type {\n BitflowAmmLpPosition,\n BitflowAmmStakingPosition,\n} from '../providers/bitflow-position.model';\nimport type {\n GraniteV1BorrowPosition,\n GraniteV1EarnPosition,\n} from '../providers/granite-position.model';\nimport type {\n StackingDaoPooledStackingPosition,\n StackingDaoStStxBtcPosition,\n StackingDaoStStxPosition,\n} from '../providers/stacking-dao-position.model';\nimport type { ZestBorrowMarketPosition } from '../providers/zest-position.model';\nimport type { YieldPosition } from '../yield-position.model';\nimport {\n YieldProduct,\n YieldProductCategories,\n YieldProductCategory,\n YieldProductKey,\n YieldProductKeys,\n YieldProductToProviderMap,\n} from '../yield-product.model';\nimport { YieldProvider, YieldProviderKey } from '../yield-provider.model';\n\nexport function isBitflowAmmLpPosition(pos: YieldPosition): pos is BitflowAmmLpPosition {\n return pos.product === YieldProductKeys.bitflowAmmLp;\n}\n\nexport function isBitflowAmmStakingPosition(pos: YieldPosition): pos is BitflowAmmStakingPosition {\n return pos.product === YieldProductKeys.bitflowAmmStaking;\n}\n\nexport function isZestPosition(pos: YieldPosition): pos is ZestBorrowMarketPosition {\n return pos.product === YieldProductKeys.zestBorrowMarket;\n}\n\nexport function isGraniteEarnPosition(pos: YieldPosition): pos is GraniteV1EarnPosition {\n return pos.product === YieldProductKeys.graniteV1Earn;\n}\n\nexport function isGraniteBorrowPosition(pos: YieldPosition): pos is GraniteV1BorrowPosition {\n return pos.product === YieldProductKeys.graniteV1Borrow;\n}\n\nexport function isStackingDaoStStxPosition(pos: YieldPosition): pos is StackingDaoStStxPosition {\n return pos.product === YieldProductKeys.stackingDaoStstx;\n}\n\nexport function isStackingDaoStStxBtcPosition(\n pos: YieldPosition\n): pos is StackingDaoStStxBtcPosition {\n return pos.product === YieldProductKeys.stackingDaoStstxbtc;\n}\n\nexport function isStackingDaoPooledPosition(\n pos: YieldPosition\n): pos is StackingDaoPooledStackingPosition {\n return pos.product === YieldProductKeys.stackingDaoPooledStacking;\n}\n\nexport function filterPositionsByProvider(\n positions: YieldPosition[],\n provider: YieldProviderKey\n): YieldPosition[] {\n return positions.filter(p => p.provider === provider);\n}\n\nexport function filterPositionsByProduct(\n positions: YieldPosition[],\n product: YieldProductKey\n): YieldPosition[] {\n return positions.filter(p => p.product === product);\n}\n\nexport function filterPositionsByCategory(\n positions: YieldPosition[],\n products: YieldProduct[],\n category: YieldProductCategory\n): YieldPosition[] {\n const productMap = new Map(products.map(p => [p.key, p]));\n return positions.filter(pos => productMap.get(pos.product)?.category === category);\n}\n\nexport function sortPositionsByBalance(\n positions: YieldPosition[],\n ascending = false\n): YieldPosition[] {\n return [...positions].sort((a, b) => {\n const diff = a.totalBalance.amount.comparedTo(b.totalBalance.amount);\n return ascending ? diff : -diff;\n });\n}\n\nexport function sortPositionsByApy(positions: YieldPosition[], ascending = false): YieldPosition[] {\n return [...positions].sort((a, b) => {\n const apyA = a.apy;\n const apyB = b.apy;\n return ascending ? apyA - apyB : apyB - apyA;\n });\n}\n\nexport function sortPositionsByUpdateTime(\n positions: YieldPosition[],\n ascending = false\n): YieldPosition[] {\n return [...positions].sort((a, b) => {\n const timeA = 'updatedAt' in a && a.updatedAt instanceof Date ? a.updatedAt.getTime() : 0;\n const timeB = 'updatedAt' in b && b.updatedAt instanceof Date ? b.updatedAt.getTime() : 0;\n return ascending ? timeA - timeB : timeB - timeA;\n });\n}\n\nexport function getProviderForProduct(product: YieldProductKey): YieldProviderKey {\n return YieldProductToProviderMap[product];\n}\n\nexport function getCategoryForProduct(product: YieldProduct): YieldProductCategory {\n return product.category;\n}\n\nexport function isProductInProvider(product: YieldProductKey, provider: YieldProviderKey): boolean {\n return YieldProductToProviderMap[product] === provider;\n}\n\nexport function getProductsForProvider(provider: YieldProviderKey): YieldProductKey[] {\n return Object.entries(YieldProductToProviderMap)\n .filter(([_, p]) => p === provider)\n .map(([product]) => product as YieldProductKey);\n}\n\nexport function getProductsInCategory(\n products: YieldProduct[],\n category: YieldProductCategory\n): YieldProduct[] {\n return products.filter(p => p.category === category);\n}\n\nexport function groupPositionsByProvider(\n positions: YieldPosition[]\n): Record<YieldProviderKey, YieldPosition[]> {\n const grouped: Partial<Record<YieldProviderKey, YieldPosition[]>> = {};\n\n for (const position of positions) {\n const provider = position.provider;\n if (!grouped[provider]) {\n grouped[provider] = [];\n }\n grouped[provider].push(position);\n }\n\n return grouped as Record<YieldProviderKey, YieldPosition[]>;\n}\n\nexport function groupPositionsByCategory(\n positions: YieldPosition[],\n products: YieldProduct[]\n): Record<string, YieldPosition[]> {\n const grouped: Record<string, YieldPosition[]> = {};\n const productMap = new Map(products.map(p => [p.key, p]));\n\n for (const position of positions) {\n const product = productMap.get(position.product);\n if (!product) continue;\n\n const category = product.category;\n if (!grouped[category]) {\n grouped[category] = [];\n }\n grouped[category].push(position);\n }\n\n return grouped;\n}\n\nexport function getPositionsInCategories(\n positions: YieldPosition[],\n products: YieldProduct[],\n categories: YieldProductCategory[]\n): YieldPosition[] {\n const categorySet = new Set(categories);\n const productMap = new Map(products.map(p => [p.key, p]));\n return positions.filter(pos => {\n const product = productMap.get(pos.product);\n return product && categorySet.has(product.category);\n });\n}\n\nexport function hasPositionsInProvider(\n positions: YieldPosition[],\n provider: YieldProviderKey\n): boolean {\n return positions.some(p => p.provider === provider);\n}\n\nexport function hasPositionsInCategory(\n positions: YieldPosition[],\n products: YieldProduct[],\n category: YieldProductCategory\n): boolean {\n const productMap = new Map(products.map(p => [p.key, p]));\n return positions.some(pos => productMap.get(pos.product)?.category === category);\n}\n\nexport function enrichPositionWithProvider<T extends YieldPosition>(\n position: T,\n provider: YieldProvider\n): T & { providerData: YieldProvider } {\n return { ...position, providerData: provider };\n}\n\nexport function enrichPositionWithProduct<T extends YieldPosition>(\n position: T,\n product: YieldProduct\n): T & { productData: YieldProduct } {\n return { ...position, productData: product };\n}\n\nexport function enrichPositionWithMetadata<T extends YieldPosition>(\n position: T,\n provider: YieldProvider,\n product: YieldProduct\n): T & { providerData: YieldProvider; productData: YieldProduct } {\n return { ...position, providerData: provider, productData: product };\n}\n\nexport function getCategoryDisplayName(category: YieldProductCategory): string {\n const displayNames: Record<YieldProductCategory, string> = {\n [YieldProductCategories.AMM]: 'Liquidity Pools',\n [YieldProductCategories.LENDING]: 'Lending & Borrowing',\n [YieldProductCategories.LIQUID_STACKING]: 'Liquid Stacking',\n [YieldProductCategories.POOLED_STACKING]: 'Pooled Stacking',\n [YieldProductCategories.STAKING]: 'Staking',\n [YieldProductCategories.PERPS]: 'Perpetuals',\n };\n return displayNames[category] || category;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["btcTxTimeMap: Record<keyof AverageBitcoinFeeRates, string>","networkMainnet: NetworkConfiguration","networkTestnet: NetworkConfiguration","networkTestnet4: NetworkConfiguration","networkSignet: NetworkConfiguration","networkSbtcTestnet: NetworkConfiguration","networkSbtcDevenv: NetworkConfiguration","networkDevnet: NetworkConfiguration","defaultCurrentNetwork: NetworkConfiguration","defaultNetworksKeyedById: Record<\n WalletDefaultNetworkConfigurationIds,\n NetworkConfiguration\n>","grouped: Partial<Record<YieldProviderKey, YieldPosition[]>>","grouped: Record<string, YieldPosition[]>"],"sources":["../src/account.model.ts","../src/activity/activity-level.model.ts","../src/input-currency-mode.model.ts","../src/activity/activity-status.model.ts","../src/activity/activity-type.model.ts","../src/assets/asset-type-guards.ts","../src/assets/asset.model.ts","../src/assets/sip9-asset.model.ts","../src/bitcoin.model.ts","../src/bns.model.ts","../src/fees/bitcoin-fees.model.ts","../src/fees/fees.model.ts","../src/fees/transaction-fees.model.ts","../src/inscription-mime-type.model.ts","../src/market.model.ts","../src/network/network.model.ts","../src/network/network.schema.ts","../src/settings.model.ts","../src/swap/swap.model.ts","../src/token-analytics.model.ts","../src/yield/yield-provider.model.ts","../src/yield/yield-product.model.ts","../src/yield/helpers/yield.helpers.ts"],"sourcesContent":["import { z } from 'zod';\n\nexport const walletIdSchema = z.object({\n fingerprint: z.string(),\n});\n\nexport const accountIdSchema = walletIdSchema.and(z.object({ accountIndex: z.number() }));\n\nexport const bitcoinAddressInfoSchema = z.object({\n taprootDescriptor: z.string(),\n nativeSegwitDescriptor: z.string(),\n zeroIndexTaprootPayerAddress: z.string().optional(),\n zeroIndexNativeSegwitPayerAddress: z.string().optional(),\n});\n\nexport const stacksAddressInfoSchema = z.object({\n stxAddress: z.string(),\n});\n\nexport const accountAddressesSchema = z.object({\n id: accountIdSchema,\n bitcoin: bitcoinAddressInfoSchema.optional(),\n stacks: stacksAddressInfoSchema.optional(),\n});\n\nexport type WalletId = z.infer<typeof walletIdSchema>;\nexport type AccountId = z.infer<typeof accountIdSchema>;\n\nexport type BitcoinAddressInfo = z.infer<typeof bitcoinAddressInfoSchema>;\nexport type StacksAddressInfo = z.infer<typeof stacksAddressInfoSchema>;\nexport type AccountAddresses = z.infer<typeof accountAddressesSchema>;\n","export const ActivityLevels = {\n account: 'account',\n app: 'app',\n} as const;\nexport type ActivityLevel = keyof typeof ActivityLevels;\n","export type InputCurrencyMode = 'crypto' | 'quote';\n\nexport function whenInputCurrencyMode<TValue>(mode: InputCurrencyMode) {\n return <TMode extends Record<InputCurrencyMode, TValue>>(\n modes: TMode\n ): TMode[InputCurrencyMode] => modes[mode];\n}\n","export const OnChainActivityStatuses = {\n pending: 'pending',\n success: 'success',\n failed: 'failed',\n} as const;\nexport type OnChainActivityStatus = keyof typeof OnChainActivityStatuses;\n","export const OnChainActivityTypes = {\n deploySmartContract: 'deploySmartContract',\n executeSmartContract: 'executeSmartContract',\n lockAsset: 'lockAsset',\n sendAsset: 'sendAsset',\n receiveAsset: 'receiveAsset',\n swapAssets: 'swapAssets',\n} as const;\nexport type OnChainActivityType = keyof typeof OnChainActivityTypes;\n\nexport const WalletActivityTypes = {\n connectApp: 'connectApp',\n signMessage: 'signMessage',\n} as const;\nexport type WalletActivityType = keyof typeof WalletActivityTypes;\n\nexport const GeneralActivityTypes = {\n walletAdded: 'walletAdded',\n receiveAnnouncement: 'receiveAnnouncement',\n featureWaitlistNotification: 'featureWaitlistNotification',\n} as const;\nexport type GeneralActivityType = keyof typeof GeneralActivityTypes;\n\nexport type ActivityType = OnChainActivityType | WalletActivityType | GeneralActivityType;\n","import {\n Brc20Asset,\n BtcAsset,\n CryptoAsset,\n FungibleCryptoAsset,\n InscriptionAsset,\n NativeCryptoAsset,\n NonFungibleCryptoAsset,\n RuneAsset,\n Sip10Asset,\n Src20Asset,\n StampAsset,\n StxAsset,\n} from './asset.model';\nimport { Sip9Asset } from './sip9-asset.model';\n\nexport function isFungibleAsset(asset: CryptoAsset): asset is FungibleCryptoAsset {\n return asset.category === 'fungible';\n}\n\nexport function isNonFungibleAsset(asset: CryptoAsset): asset is NonFungibleCryptoAsset {\n return asset.category === 'nft';\n}\n\nexport function isBtcAsset(asset: CryptoAsset): asset is BtcAsset {\n return asset.protocol === 'nativeBtc';\n}\n\nexport function isStxAsset(asset: CryptoAsset): asset is StxAsset {\n return asset.protocol === 'nativeStx';\n}\n\nexport function isNativeAsset(asset: CryptoAsset): asset is NativeCryptoAsset {\n return isBtcAsset(asset) || isStxAsset(asset);\n}\n\nexport function isSip10Asset(asset: CryptoAsset): asset is Sip10Asset {\n return asset.protocol === 'sip10';\n}\n\nexport function isSwappableAsset(asset: CryptoAsset): asset is NativeCryptoAsset | Sip10Asset {\n return isNativeAsset(asset) || isSip10Asset(asset);\n}\n\nexport function isBrc20Asset(asset: CryptoAsset): asset is Brc20Asset {\n return asset.protocol === 'brc20';\n}\n\nexport function isSrc20Asset(asset: CryptoAsset): asset is Src20Asset {\n return asset.protocol === 'src20';\n}\n\nexport function isRuneAsset(asset: CryptoAsset): asset is RuneAsset {\n return asset.protocol === 'rune';\n}\n\nexport function isInscriptionAsset(asset: CryptoAsset): asset is InscriptionAsset {\n return asset.protocol === 'inscription';\n}\n\nexport function isStampAsset(asset: CryptoAsset): asset is StampAsset {\n return asset.protocol === 'stamp';\n}\n\nexport function isSip9Asset(asset: CryptoAsset): asset is Sip9Asset {\n return asset.protocol === 'sip9';\n}\n","import { InscriptionMimeType } from '../inscription-mime-type.model';\nimport { Sip9Asset } from './sip9-asset.model';\n\nexport const CryptoAssetChains = {\n bitcoin: 'bitcoin',\n stacks: 'stacks',\n} as const;\nexport const CryptoAssetCategories = {\n fungible: 'fungible',\n nft: 'nft',\n} as const;\nexport const FungibleCryptoAssetProtocols = {\n nativeBtc: 'nativeBtc',\n nativeStx: 'nativeStx',\n sip10: 'sip10',\n brc20: 'brc20',\n src20: 'src20',\n rune: 'rune',\n} as const;\nexport const NonFungibleCryptoAssetProtocols = {\n stamp: 'stamp',\n sip9: 'sip9',\n inscription: 'inscription',\n} as const;\nexport const CryptoAssetProtocols = {\n ...FungibleCryptoAssetProtocols,\n ...NonFungibleCryptoAssetProtocols,\n} as const;\n\nexport type CryptoAssetChain = keyof typeof CryptoAssetChains;\nexport type CryptoAssetCategory = keyof typeof CryptoAssetCategories;\nexport type FungibleCryptoAssetProtocol = keyof typeof FungibleCryptoAssetProtocols;\nexport type NonFungibleCryptoAssetProtocol = keyof typeof NonFungibleCryptoAssetProtocols;\nexport type CryptoAssetProtocol = FungibleCryptoAssetProtocol | NonFungibleCryptoAssetProtocol;\n\nexport interface BaseCryptoAsset {\n readonly chain: CryptoAssetChain;\n readonly category: CryptoAssetCategory;\n readonly protocol: CryptoAssetProtocol;\n}\n\n// Fungible asset types\ninterface BaseFungibleCryptoAsset extends BaseCryptoAsset {\n readonly category: 'fungible';\n readonly protocol: FungibleCryptoAssetProtocol;\n readonly symbol: string;\n readonly decimals: number;\n readonly hasMemo: boolean;\n}\nexport interface BtcAsset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'nativeBtc';\n readonly name: 'Bitcoin';\n readonly symbol: 'BTC';\n}\nexport interface StxAsset extends BaseFungibleCryptoAsset {\n readonly chain: 'stacks';\n readonly protocol: 'nativeStx';\n readonly name: 'Stacks';\n readonly symbol: 'STX';\n}\nexport interface Brc20Asset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'brc20';\n readonly symbol: string;\n}\nexport interface Src20Asset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'src20';\n readonly id: string;\n readonly symbol: string;\n readonly deploy_tx: string;\n readonly deploy_img: string;\n}\nexport interface RuneAsset extends BaseFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'rune';\n readonly spacedRuneName: string;\n readonly runeName: string;\n readonly symbol: string;\n}\nexport interface Sip10Asset extends BaseFungibleCryptoAsset {\n readonly chain: 'stacks';\n readonly protocol: 'sip10';\n readonly name: string;\n readonly canTransfer: boolean;\n readonly assetId: string;\n readonly contractId: string;\n readonly imageCanonicalUri: string;\n readonly symbol: string;\n}\nexport type NativeCryptoAsset = BtcAsset | StxAsset;\nexport type FungibleCryptoAsset =\n | NativeCryptoAsset\n | Sip10Asset\n | Brc20Asset\n | Src20Asset\n | RuneAsset;\n\n// NFT asset types\nexport interface BaseNonFungibleCryptoAsset extends BaseCryptoAsset {\n readonly category: 'nft';\n readonly protocol: NonFungibleCryptoAssetProtocol;\n}\nexport interface InscriptionAsset extends BaseNonFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'inscription';\n readonly id: string;\n readonly mimeType: InscriptionMimeType;\n readonly number: number;\n readonly address: string;\n readonly title: string;\n readonly txid: string;\n readonly output: string;\n readonly offset: string;\n readonly preview: string;\n readonly src: string;\n readonly thumbnailSrc?: string;\n readonly value: string;\n readonly genesisBlockHash: string;\n readonly genesisTimestamp: number;\n readonly genesisBlockHeight: number;\n}\nexport interface StampAsset extends BaseNonFungibleCryptoAsset {\n readonly chain: 'bitcoin';\n readonly protocol: 'stamp';\n readonly stamp: number;\n readonly stampUrl: string;\n readonly stampExplorerUrl: string;\n readonly blockHeight: number;\n}\n\nexport type NonFungibleCryptoAsset = InscriptionAsset | StampAsset | Sip9Asset;\n\nexport type CryptoAsset = FungibleCryptoAsset | NonFungibleCryptoAsset;\n\nexport interface FungibleAssetId {\n protocol: FungibleCryptoAssetProtocol;\n id: string;\n}\n","import { Money } from '../money.model';\nimport { BaseNonFungibleCryptoAsset } from './asset.model';\n\nexport const sip9ContentTypes = [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'image/svg+xml',\n 'image/bmp',\n 'image/tiff',\n 'image/avif',\n 'video/mp4',\n 'video/webm',\n 'video/mov',\n 'video/quicktime',\n 'video/avi',\n 'video/x-msvideo',\n 'video/ogg',\n 'audio/mpeg',\n 'audio/mp3',\n 'audio/wav',\n 'audio/x-wav',\n 'audio/ogg',\n 'audio/aac',\n 'audio/flac',\n 'audio/webm',\n 'model/gltf+json',\n 'model/gltf-binary',\n 'application/octet-stream',\n 'text/plain',\n 'text/html',\n 'text/markdown',\n 'application/pdf',\n 'application/json',\n 'text/javascript',\n 'application/javascript',\n 'application/zip',\n 'unknown',\n '',\n] as const;\n\nexport type Sip9ContentType = (typeof sip9ContentTypes)[number];\n\nexport interface Sip9Collection {\n name: string;\n collectionExplorerUrl: string;\n totalItems?: number;\n floorPrice?: Money;\n latestSale?: Money;\n}\n\nexport interface Sip9AssetContent {\n contentUrl: string;\n contentType: Sip9ContentType;\n}\n\nexport interface Sip9Attribute {\n traitType: string;\n value: any;\n rarityPercent?: number;\n}\n\nexport interface Sip9Asset extends BaseNonFungibleCryptoAsset {\n readonly chain: 'stacks';\n readonly protocol: 'sip9';\n readonly assetId: string;\n readonly contractId: string;\n readonly tokenId: number;\n readonly name: string;\n readonly description: string;\n readonly content: Sip9AssetContent;\n readonly attributes?: Sip9Attribute[];\n readonly collection?: Sip9Collection;\n readonly creator?: string;\n readonly rarityRank?: number;\n}\n","import { z } from 'zod';\n\n// Branded type for Bitcoin addresses\nexport type BitcoinAddress = string & { readonly __brand: unique symbol };\n\nexport const bitcoinUnitSchema = z.enum(['bitcoin', 'satoshi']);\nexport type BitcoinUnit = z.infer<typeof bitcoinUnitSchema>;\n\nexport type BitcoinUnitSymbol = 'BTC' | 'sat';\n\nexport interface BitcoinUnitInfo {\n name: BitcoinUnit;\n symbol: BitcoinUnitSymbol;\n decimal: string;\n}\n","export const bnsContractAddress = {\n mainnet: 'SP2QEZ06AGJ3RKJPBV14SY1V5BBFNAW33D96YPGZF',\n testnet: 'ST2QEZ06AGJ3RKJPBV14SY1V5BBFNAW33D9SZJQ0M',\n};\n\nexport const bnsContractName = 'BNS-V2';\n\nexport interface BnsName {\n owner: string;\n name: string;\n namespace: string;\n fullName: string;\n renewalHeight: number;\n registeredAtBlockNumber: number;\n}\n\nexport interface BnsProfile {\n bnsName: BnsName;\n profileData: BnsProfileData;\n}\n\nexport interface BnsProfileData {\n name?: string;\n bio?: string;\n website?: string;\n pfpUrl?: string;\n location?: string;\n addresses?: BnsProfileDataAddresses;\n}\n\nexport interface BnsProfileDataAddresses {\n bitcoinPayment?: string;\n bitcoinOrdinal?: string;\n solana?: string;\n ethereum?: string;\n}\n","import type BigNumber from 'bignumber.js';\n\nexport interface AverageBitcoinFeeRates {\n fastestFee: BigNumber;\n halfHourFee: BigNumber;\n hourFee: BigNumber;\n}\n\nexport const btcTxTimeMap: Record<keyof AverageBitcoinFeeRates, string> = {\n fastestFee: '~10 – 20min',\n halfHourFee: '~30 min',\n hourFee: '~1 hour+',\n};\n\nexport enum BtcFeeType {\n High = 'High',\n Standard = 'Standard',\n Low = 'Low',\n}\n","import { Blockchain } from '../types';\nimport { StacksFeeEstimate } from './stacks-fees.model';\n\nexport enum FeeTypes {\n Low,\n Middle,\n High,\n Custom,\n Unknown,\n}\n\nexport enum FeeCalculationTypes {\n Api = 'api',\n Default = 'default',\n DefaultSimulated = 'default-simulated',\n FeesCapped = 'fees-capped',\n TokenTransferSpecific = 'token-transfer-specific',\n}\n\nexport interface Fees {\n blockchain: Blockchain;\n estimates: StacksFeeEstimate[];\n calculation: FeeCalculationTypes;\n}\n","import { Money } from '../money.model';\nimport { Blockchain } from '../types';\n\nexport const transactionFeeTiers = ['low', 'standard', 'high'] as const;\nexport type TransactionFeeTier = (typeof transactionFeeTiers)[number];\n\nexport interface TransactionFees {\n readonly chain: Blockchain;\n readonly options: Record<TransactionFeeTier, TransactionFeeQuote>;\n}\n\nexport const transactionFeeQuoteType = [\n 'flat',\n 'bitcoinFeeRate',\n 'stacksFeeRate',\n 'evm1559',\n] as const;\nexport type TransactionFeeQuoteType = (typeof transactionFeeQuoteType)[number];\n\nexport interface BaseTransactionFeeQuote {\n readonly type: TransactionFeeQuoteType;\n readonly value: Money;\n}\n\nexport interface FlatTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'flat';\n}\n\nexport interface BitcoinTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'bitcoinFeeRate';\n readonly rate: number;\n readonly rateUnit: 'sats/vB';\n readonly estimatedTxSize: number;\n readonly sizeUnit: 'vB';\n}\n\nexport interface StacksTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'stacksFeeRate';\n readonly rate: number;\n readonly rateUnit: 'µSTX/byte';\n readonly estimatedTxSize: number;\n readonly sizeUnit: 'byte';\n}\n\nexport interface EvmTransactionFeeQuote extends BaseTransactionFeeQuote {\n readonly type: 'evm1559';\n readonly baseFeePerGas: Money;\n readonly priorityFeePerGas: Money;\n readonly gasLimit: number;\n}\n\nexport type TransactionFeeQuote =\n | FlatTransactionFeeQuote\n | BitcoinTransactionFeeQuote\n | StacksTransactionFeeQuote\n | EvmTransactionFeeQuote;\n","/**\n * Inscriptions contain arbitrary data. When retrieving an inscription, it should be\n * classified into one of the types below, indicating that the app can handle it\n * appropriately and securely. Inscriptions of types not ready to be handled by the\n * app should be classified as \"other\".\n */\nexport const inscriptionMimeTypes = [\n 'audio',\n 'gltf',\n 'html',\n 'image',\n 'svg',\n 'text',\n 'video',\n 'other',\n] as const;\n\nexport type InscriptionMimeType = (typeof inscriptionMimeTypes)[number];\n","import type { Currency, QuoteCurrency } from './currencies.model';\nimport type { Money } from './money.model';\n\ninterface MarketPair {\n readonly base: Currency;\n readonly quote: QuoteCurrency;\n}\n\nexport function createMarketPair(base: Currency, quote: QuoteCurrency): MarketPair {\n return Object.freeze({ base, quote });\n}\n\nexport function formatMarketPair({ base, quote }: MarketPair) {\n return `${base}/${quote}`;\n}\n\nexport interface MarketData {\n readonly pair: MarketPair;\n readonly price: Money;\n}\n\nexport function createMarketData(pair: MarketPair, price: Money): MarketData {\n if (pair.quote !== price.symbol)\n throw new Error('Cannot create market data when price does not match quote');\n return Object.freeze({ pair, price });\n}\n\nexport const historicalPeriods = ['1d', '1w', '1m', '3m', '6m', '1y'] as const;\nexport type HistoricalPeriod = (typeof historicalPeriods)[number];\n\nexport interface MarketPriceSnapshot {\n price: Money;\n timestamp: number;\n}\n\nexport interface MarketPriceHistory {\n period: HistoricalPeriod;\n changePercentage: number;\n prices: MarketPriceSnapshot[];\n}\n\nexport interface MarketStats {\n readonly priceChange: Partial<Record<HistoricalPeriod, number | null>>;\n readonly marketCap?: number;\n}\n","import { z } from 'zod';\n\nimport { Blockchain } from '../types';\nimport { networkConfigurationSchema } from './network.schema';\n\nexport const HIRO_API_BASE_URL_MAINNET = 'https://api.hiro.so';\nexport const HIRO_API_BASE_URL_TESTNET = 'https://api.testnet.hiro.so';\nexport const HIRO_API_BASE_URL_NAKAMOTO_TESTNET = 'https://api.nakamoto.testnet.hiro.so';\n\nexport const HIRO_API_BASE_URL_MAINNET_EXTENDED = 'https://api.hiro.so/extended/v1';\nexport const HIRO_API_BASE_URL_TESTNET_EXTENDED = 'https://api.testnet.hiro.so/extended';\n\nexport const BITCOIN_API_BASE_URL_MAINNET = 'https://leather.mempool.space/api';\nexport const BITCOIN_API_BASE_URL_TESTNET3 = 'https://leather.mempool.space/testnet/api';\nexport const BITCOIN_API_BASE_URL_TESTNET4 = 'https://leather.mempool.space/testnet4/api';\nexport const BITCOIN_API_BASE_URL_SIGNET = 'https://mempool.space/signet/api';\n\nexport const BESTINSLOT_API_BASE_URL_MAINNET = 'https://leatherapi.bestinslot.xyz/v3';\nexport const BESTINSLOT_API_BASE_URL_TESTNET = 'https://leatherapi_testnet.bestinslot.xyz/v3';\n\nexport const BNS_V2_API_BASE_URL = 'https://api.bnsv2.com';\n\nexport const EMILY_API_BASE_URL_MAINNET = 'https://sbtc-emily.com';\nexport const EMILY_API_BASE_URL_TESTNET = 'https://beta.sbtc-emily.com';\nexport const EMILY_API_BASE_URL_DEVENV = 'http://localhost:3031';\n\n// Copied from @stacks/transactions to avoid dependencies\nexport enum ChainId {\n Testnet = 2147483648,\n Mainnet = 1,\n}\n\nexport enum WalletDefaultNetworkConfigurationIds {\n mainnet = 'mainnet',\n testnet = 'testnet',\n testnet4 = 'testnet4',\n signet = 'signet',\n sbtcTestnet = 'sbtcTestnet',\n sbtcDevenv = 'sbtcDevenv',\n devnet = 'devnet',\n}\n\nexport const defaultNetworkConfigurationsSchema = z.enum([\n 'mainnet',\n 'testnet',\n 'testnet4',\n 'signet',\n 'sbtcTestnet',\n 'sbtcDevenv',\n 'devnet',\n]);\nexport type DefaultNetworkConfigurations = z.infer<typeof defaultNetworkConfigurationsSchema>;\n\nexport const supportedBlockchains = ['stacks', 'bitcoin'] as const;\n\nexport type SupportedBlockchains = (typeof supportedBlockchains)[number];\n\nexport const networkModes = ['mainnet', 'testnet'] as const;\nexport const testnetModes = ['testnet', 'regtest', 'signet'] as const;\n\nexport const bitcoinNetworks = ['mainnet', 'testnet3', 'testnet4', 'regtest', 'signet'] as const;\nexport type BitcoinNetwork = (typeof bitcoinNetworks)[number];\n\nexport type NetworkModes = (typeof networkModes)[number];\ntype BitcoinTestnetModes = (typeof testnetModes)[number];\n\nexport function bitcoinNetworkToNetworkMode(network: BitcoinNetwork): BitcoinNetworkModes {\n switch (network) {\n case 'mainnet':\n return 'mainnet';\n case 'testnet3':\n return 'testnet';\n case 'testnet4':\n return 'testnet';\n case 'regtest':\n return 'regtest';\n case 'signet':\n return 'signet';\n default:\n // TODO: Needs exhaustive check. Cannot import 'assertUnreachable' since 'utils' package depends on 'models'.\n // Ideally this function should live in utils, but it's currently widely used in the extension.\n throw new Error(`Unhandled case: ${network}`);\n }\n}\n\nexport type BitcoinNetworkModes = NetworkModes | BitcoinTestnetModes;\n\ninterface BaseChainConfig {\n blockchain: Blockchain;\n}\n\nexport interface BitcoinChainConfig extends BaseChainConfig {\n blockchain: 'bitcoin';\n bitcoinUrl: string;\n bitcoinNetwork: BitcoinNetwork;\n mode: BitcoinNetworkModes;\n}\n\nexport interface StacksChainConfig extends BaseChainConfig {\n blockchain: 'stacks';\n url: string;\n /** The chainId of the network (or parent network if this is a subnet) */\n chainId: ChainId;\n /** An additional chainId for subnets. Indicated a subnet if defined and is mainly used for signing. */\n subnetChainId?: ChainId;\n}\n\nexport type NetworkConfiguration = z.infer<typeof networkConfigurationSchema>;\n\nconst networkMainnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.mainnet,\n name: 'Mainnet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Mainnet,\n url: HIRO_API_BASE_URL_MAINNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'mainnet',\n mode: 'mainnet',\n bitcoinUrl: BITCOIN_API_BASE_URL_MAINNET,\n },\n },\n};\n\nconst networkTestnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.testnet,\n name: 'Testnet3',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'testnet3',\n mode: 'testnet',\n bitcoinUrl: BITCOIN_API_BASE_URL_TESTNET3,\n },\n },\n};\n\nconst networkTestnet4: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.testnet4,\n name: 'Testnet4',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'testnet4',\n mode: 'testnet',\n bitcoinUrl: BITCOIN_API_BASE_URL_TESTNET4,\n },\n },\n};\n\nconst networkSignet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.signet,\n name: 'Signet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'signet',\n mode: 'signet',\n bitcoinUrl: BITCOIN_API_BASE_URL_SIGNET,\n },\n },\n};\n\nconst networkSbtcTestnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.sbtcTestnet,\n name: 'sBTC Testnet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: HIRO_API_BASE_URL_TESTNET,\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'regtest',\n mode: 'regtest',\n bitcoinUrl: 'https://beta.sbtc-mempool.tech/api/proxy',\n },\n },\n};\n\nconst networkSbtcDevenv: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.sbtcDevenv,\n name: 'sBTC Devenv',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: 'http://localhost:3999',\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'regtest',\n mode: 'regtest',\n bitcoinUrl: 'http://localhost:3000/api/proxy',\n },\n },\n};\n\nconst networkDevnet: NetworkConfiguration = {\n id: WalletDefaultNetworkConfigurationIds.devnet,\n name: 'Devnet',\n chain: {\n stacks: {\n blockchain: 'stacks',\n chainId: ChainId.Testnet,\n url: 'http://localhost:3999',\n },\n bitcoin: {\n blockchain: 'bitcoin',\n bitcoinNetwork: 'regtest',\n mode: 'regtest',\n bitcoinUrl: 'http://localhost:18443',\n },\n },\n};\n\nexport const defaultCurrentNetwork: NetworkConfiguration = networkMainnet;\n\nexport const defaultNetworksKeyedById: Record<\n WalletDefaultNetworkConfigurationIds,\n NetworkConfiguration\n> = {\n [WalletDefaultNetworkConfigurationIds.mainnet]: networkMainnet,\n [WalletDefaultNetworkConfigurationIds.testnet4]: networkTestnet4,\n [WalletDefaultNetworkConfigurationIds.testnet]: networkTestnet,\n [WalletDefaultNetworkConfigurationIds.signet]: networkSignet,\n [WalletDefaultNetworkConfigurationIds.sbtcTestnet]: networkSbtcTestnet,\n [WalletDefaultNetworkConfigurationIds.sbtcDevenv]: networkSbtcDevenv,\n [WalletDefaultNetworkConfigurationIds.devnet]: networkDevnet,\n};\n","import { z } from 'zod';\n\nimport { bitcoinNetworks, networkModes, testnetModes } from './network.model';\n\nexport const bitcoinNetworkModesSchema = z.enum([...networkModes, ...testnetModes]);\n\nexport const bitcoinNetworkSchema = z.enum([...bitcoinNetworks]);\n\nexport const networkConfigurationSchema = z.object({\n name: z.string(),\n id: z.string(),\n chain: z.object({\n bitcoin: z.object({\n blockchain: z.literal('bitcoin'),\n bitcoinUrl: z.string(),\n bitcoinNetwork: bitcoinNetworkSchema,\n mode: bitcoinNetworkModesSchema,\n }),\n stacks: z.object({\n blockchain: z.literal('stacks'),\n url: z.string(),\n chainId: z.number(),\n subnetChainId: z.number().optional(),\n }),\n }),\n});\n","import { z } from 'zod';\n\nimport { Blockchain } from './types';\n\nexport const accountDisplayPreferenceSchema = z.enum(['native-segwit', 'taproot', 'bns', 'stacks']);\nexport type AccountDisplayPreference = z.infer<typeof accountDisplayPreferenceSchema>;\n\nexport interface AccountDisplayPreferenceInfo {\n type: AccountDisplayPreference;\n blockchain: Blockchain;\n name: string;\n}\n\nexport const analyticsPreferenceSchema = z.enum(['consent-given', 'rejects-tracking']);\nexport type AnalyticsPreference = z.infer<typeof analyticsPreferenceSchema>;\n\nexport const emailAddressSchema = z.email({ error: 'Invalid email address' });\nexport type EmailAddress = z.infer<typeof emailAddressSchema>;\n","import { CryptoAssetId } from '../assets/asset-id.model';\nimport { NativeCryptoAsset, Sip10Asset } from '../assets/asset.model';\nimport { Money } from '../money.model';\n\nexport type SwappableFungibleCryptoAsset = NativeCryptoAsset | Sip10Asset;\n\nexport interface SwapAsset {\n readonly asset: SwappableFungibleCryptoAsset;\n readonly providerAssets: SwapProviderAsset[];\n}\n\nexport const swapProviderIds = ['bitflow-sdk', 'sbtc-bridge', 'alex-sdk', 'velar-sdk'] as const;\nexport type SwapProviderId = (typeof swapProviderIds)[number];\n\nexport interface SwapProvider {\n readonly id: SwapProviderId;\n readonly isAggregator: boolean;\n}\n\nexport interface SwapProviderAsset {\n readonly providerId: SwapProviderId;\n readonly providerAssetId: string;\n readonly assetId: CryptoAssetId;\n}\n\nexport type SwapQuote =\n | AlexSdkSwapQuote\n | VelarSdkSwapQuote\n | BitflowSdkSwapQuote\n | SbtcBridgeSwapQuote;\n\nexport interface BaseSwapQuote {\n readonly executionType: SwapExecutionType;\n readonly providerId: SwapProviderId;\n readonly baseAsset: SwappableFungibleCryptoAsset;\n readonly targetAsset: SwappableFungibleCryptoAsset;\n readonly baseAmount: Money;\n readonly targetAmount: Money;\n readonly dexPath: SwapDex[];\n readonly assetPath: (NativeCryptoAsset | Sip10Asset)[];\n readonly isExecutable: boolean;\n readonly executionConstraints: ExecutionConstraint[];\n readonly createdAt: Date;\n}\n\nexport interface ExecutionConstraint {\n readonly reason: 'minimum-threshold-not-met' | 'maximum-threshold-exceeded';\n readonly threshold: Money;\n}\n\nexport interface AlexSdkSwapQuote extends BaseSwapQuote {\n readonly providerId: 'alex-sdk';\n readonly providerQuoteData: {\n baseProviderAssetId: string;\n targetProviderAssetId: string;\n alexSdkAmmRoute: unknown;\n };\n}\n\nexport interface VelarSdkSwapQuote extends BaseSwapQuote {\n readonly providerId: 'velar-sdk';\n providerQuoteData: {\n readonly baseProviderAssetId: string;\n readonly targetProviderAssetId: string;\n };\n}\n\nexport interface BitflowSdkSwapQuote extends BaseSwapQuote {\n readonly providerId: 'bitflow-sdk';\n readonly providerQuoteData: {\n bitflowSdkSelectedSwapRoute: unknown;\n };\n}\n\nexport interface SbtcBridgeSwapQuote extends BaseSwapQuote {\n readonly providerId: 'sbtc-bridge';\n readonly providerQuoteData: {\n signerSweepTxFeeSats: number;\n };\n}\n\nexport interface SwapDex {\n readonly name: string;\n readonly url: string;\n readonly logo: string;\n readonly description: string;\n}\n\nexport const swapExecutionTypes = ['stacks-contract-call', 'sbtc-bridge-deposit'] as const;\nexport type SwapExecutionType = (typeof swapExecutionTypes)[number];\n\nexport interface BaseSwapExecutionData {\n readonly executionType: SwapExecutionType;\n readonly providerId: SwapProviderId;\n readonly quote: SwapQuote;\n}\nexport interface StacksContractCallSwapExecutionData extends BaseSwapExecutionData {\n readonly executionType: 'stacks-contract-call';\n readonly contractAddress: string;\n readonly contractName: string;\n readonly functionName: string;\n readonly functionArgs: unknown[];\n readonly postConditions: unknown[];\n readonly postConditionMode?: unknown;\n}\nexport interface SbtcBridgeDepositSwapExecutionData extends BaseSwapExecutionData {\n readonly executionType: 'sbtc-bridge-deposit';\n}\nexport type SwapExecutionData =\n | StacksContractCallSwapExecutionData\n | SbtcBridgeDepositSwapExecutionData;\n","export interface TokenHolderSegment {\n readonly holderCount: number;\n readonly balance: number;\n readonly contracts: { readonly count: number; readonly balance: number };\n readonly multisigs: { readonly count: number; readonly balance: number };\n readonly individuals: { readonly count: number; readonly balance: number };\n}\n\nexport interface TokenAnalytics {\n readonly circulatingSupply: number;\n readonly holderCount?: number;\n readonly distributionScore?: number;\n readonly trustScore?: number;\n readonly trendingScore?: number;\n readonly updatedAt: string;\n}\n\nexport const topHolderKeys = [1, 10, 50, 100, 200] as const;\nexport const percentileKeys = [10, 25, 50, 75] as const;\n\nexport type TokenTopHolderKey = (typeof topHolderKeys)[number];\nexport type TokenDistributionPercentileKey = (typeof percentileKeys)[number];\n\nexport interface TokenDistribution {\n readonly topHolders: Partial<Record<TokenTopHolderKey, TokenHolderSegment>>;\n readonly percentiles: Partial<Record<TokenDistributionPercentileKey, TokenHolderSegment>>;\n readonly updatedAt: string;\n}\n","export const YieldProviderKeys = {\n bitflow: 'bitflow',\n zest: 'zest',\n granite: 'granite',\n stackingDao: 'stackingdao',\n lisa: 'lisa',\n hermetica: 'hermetica',\n fastPool: 'fast-pool',\n xverse: 'xverse',\n velar: 'velar',\n} as const;\nexport type YieldProviderKey = (typeof YieldProviderKeys)[keyof typeof YieldProviderKeys];\n\nexport interface YieldProvider {\n readonly key: YieldProviderKey;\n readonly name: string;\n readonly logo: string;\n readonly url: string;\n}\n","import { YieldProviderKey, YieldProviderKeys } from './yield-provider.model';\n\nexport const YieldProductKeys = {\n bitflowAmmLp: 'bitflow-amm-lp',\n bitflowAmmStaking: 'bitflow-amm-staking',\n zestBorrowMarket: 'zest-borrow-market',\n graniteV1Earn: 'granite-v1-earn',\n graniteV1Borrow: 'granite-v1-borrow',\n stackingDaoStstx: 'stackingdao-ststx',\n stackingDaoStstxbtc: 'stackingdao-ststxbtc',\n stackingDaoPooledStacking: 'stackingdao-pooled-stacking',\n lisaListx: 'lisa-listx',\n lisaLiquidStaking: 'lisa-liquid-staking',\n hermeticaUsdhStaking: 'hermetica-usdh-staking',\n velarAmmLp: 'velar-amm-lp',\n velarPerps: 'velar-perps',\n velarAmmLpFarming: 'velar-amm-lp-farming',\n fastPoolPooledStacking: 'fast-pool-pooled-stacking',\n xversePooledStacking: 'xverse-pooled-stacking',\n} as const;\nexport type YieldProductKey = (typeof YieldProductKeys)[keyof typeof YieldProductKeys];\n\nexport const YieldProductCategories = {\n AMM: 'amm',\n LENDING: 'lending',\n LIQUID_STACKING: 'liquid-stacking',\n POOLED_STACKING: 'pooled-stacking',\n STAKING: 'staking',\n PERPS: 'perps',\n} as const;\nexport type YieldProductCategory =\n (typeof YieldProductCategories)[keyof typeof YieldProductCategories];\n\nexport const YieldProductToProviderMap = {\n [YieldProductKeys.bitflowAmmLp]: YieldProviderKeys.bitflow,\n [YieldProductKeys.bitflowAmmStaking]: YieldProviderKeys.bitflow,\n [YieldProductKeys.zestBorrowMarket]: YieldProviderKeys.zest,\n [YieldProductKeys.graniteV1Earn]: YieldProviderKeys.granite,\n [YieldProductKeys.graniteV1Borrow]: YieldProviderKeys.granite,\n [YieldProductKeys.stackingDaoStstx]: YieldProviderKeys.stackingDao,\n [YieldProductKeys.stackingDaoStstxbtc]: YieldProviderKeys.stackingDao,\n [YieldProductKeys.stackingDaoPooledStacking]: YieldProviderKeys.stackingDao,\n [YieldProductKeys.lisaListx]: YieldProviderKeys.lisa,\n [YieldProductKeys.lisaLiquidStaking]: YieldProviderKeys.lisa,\n [YieldProductKeys.hermeticaUsdhStaking]: YieldProviderKeys.hermetica,\n [YieldProductKeys.velarAmmLp]: YieldProviderKeys.velar,\n [YieldProductKeys.velarPerps]: YieldProviderKeys.velar,\n [YieldProductKeys.velarAmmLpFarming]: YieldProviderKeys.velar,\n [YieldProductKeys.fastPoolPooledStacking]: YieldProviderKeys.fastPool,\n [YieldProductKeys.xversePooledStacking]: YieldProviderKeys.xverse,\n} as const;\n\nexport type YieldProduct = BaseYieldProduct | PooledStackingYieldProduct;\n\nexport interface BaseYieldProduct {\n readonly key: YieldProductKey;\n readonly provider: YieldProviderKey;\n readonly category: YieldProductCategory;\n readonly name: string;\n readonly url: string;\n}\n\n// normalizes pooled stacking product data\nexport interface PooledStackingYieldProduct extends BaseYieldProduct {\n readonly category: 'pooled-stacking';\n readonly stackerCount: number;\n}\n","import type {\n BitflowAmmLpPosition,\n BitflowAmmStakingPosition,\n} from '../providers/bitflow-position.model';\nimport type {\n GraniteV1BorrowPosition,\n GraniteV1EarnPosition,\n} from '../providers/granite-position.model';\nimport type {\n StackingDaoPooledStackingPosition,\n StackingDaoStStxBtcPosition,\n StackingDaoStStxPosition,\n} from '../providers/stacking-dao-position.model';\nimport type { ZestBorrowMarketPosition } from '../providers/zest-position.model';\nimport type { YieldPosition } from '../yield-position.model';\nimport {\n YieldProduct,\n YieldProductCategories,\n YieldProductCategory,\n YieldProductKey,\n YieldProductKeys,\n YieldProductToProviderMap,\n} from '../yield-product.model';\nimport { YieldProvider, YieldProviderKey } from '../yield-provider.model';\n\nexport function isBitflowAmmLpPosition(pos: YieldPosition): pos is BitflowAmmLpPosition {\n return pos.product === YieldProductKeys.bitflowAmmLp;\n}\n\nexport function isBitflowAmmStakingPosition(pos: YieldPosition): pos is BitflowAmmStakingPosition {\n return pos.product === YieldProductKeys.bitflowAmmStaking;\n}\n\nexport function isZestPosition(pos: YieldPosition): pos is ZestBorrowMarketPosition {\n return pos.product === YieldProductKeys.zestBorrowMarket;\n}\n\nexport function isGraniteEarnPosition(pos: YieldPosition): pos is GraniteV1EarnPosition {\n return pos.product === YieldProductKeys.graniteV1Earn;\n}\n\nexport function isGraniteBorrowPosition(pos: YieldPosition): pos is GraniteV1BorrowPosition {\n return pos.product === YieldProductKeys.graniteV1Borrow;\n}\n\nexport function isStackingDaoStStxPosition(pos: YieldPosition): pos is StackingDaoStStxPosition {\n return pos.product === YieldProductKeys.stackingDaoStstx;\n}\n\nexport function isStackingDaoStStxBtcPosition(\n pos: YieldPosition\n): pos is StackingDaoStStxBtcPosition {\n return pos.product === YieldProductKeys.stackingDaoStstxbtc;\n}\n\nexport function isStackingDaoPooledPosition(\n pos: YieldPosition\n): pos is StackingDaoPooledStackingPosition {\n return pos.product === YieldProductKeys.stackingDaoPooledStacking;\n}\n\nexport function filterPositionsByProvider(\n positions: YieldPosition[],\n provider: YieldProviderKey\n): YieldPosition[] {\n return positions.filter(p => p.provider === provider);\n}\n\nexport function filterPositionsByProduct(\n positions: YieldPosition[],\n product: YieldProductKey\n): YieldPosition[] {\n return positions.filter(p => p.product === product);\n}\n\nexport function filterPositionsByCategory(\n positions: YieldPosition[],\n products: YieldProduct[],\n category: YieldProductCategory\n): YieldPosition[] {\n const productMap = new Map(products.map(p => [p.key, p]));\n return positions.filter(pos => productMap.get(pos.product)?.category === category);\n}\n\nexport function sortPositionsByBalance(\n positions: YieldPosition[],\n ascending = false\n): YieldPosition[] {\n return [...positions].sort((a, b) => {\n const diff = a.totalBalance.amount.comparedTo(b.totalBalance.amount);\n return ascending ? diff : -diff;\n });\n}\n\nexport function sortPositionsByApy(positions: YieldPosition[], ascending = false): YieldPosition[] {\n return [...positions].sort((a, b) => {\n const apyA = a.apy;\n const apyB = b.apy;\n return ascending ? apyA - apyB : apyB - apyA;\n });\n}\n\nexport function sortPositionsByUpdateTime(\n positions: YieldPosition[],\n ascending = false\n): YieldPosition[] {\n return [...positions].sort((a, b) => {\n const timeA = 'updatedAt' in a && a.updatedAt instanceof Date ? a.updatedAt.getTime() : 0;\n const timeB = 'updatedAt' in b && b.updatedAt instanceof Date ? b.updatedAt.getTime() : 0;\n return ascending ? timeA - timeB : timeB - timeA;\n });\n}\n\nexport function getProviderForProduct(product: YieldProductKey): YieldProviderKey {\n return YieldProductToProviderMap[product];\n}\n\nexport function getCategoryForProduct(product: YieldProduct): YieldProductCategory {\n return product.category;\n}\n\nexport function isProductInProvider(product: YieldProductKey, provider: YieldProviderKey): boolean {\n return YieldProductToProviderMap[product] === provider;\n}\n\nexport function getProductsForProvider(provider: YieldProviderKey): YieldProductKey[] {\n return Object.entries(YieldProductToProviderMap)\n .filter(([_, p]) => p === provider)\n .map(([product]) => product as YieldProductKey);\n}\n\nexport function getProductsInCategory(\n products: YieldProduct[],\n category: YieldProductCategory\n): YieldProduct[] {\n return products.filter(p => p.category === category);\n}\n\nexport function groupPositionsByProvider(\n positions: YieldPosition[]\n): Record<YieldProviderKey, YieldPosition[]> {\n const grouped: Partial<Record<YieldProviderKey, YieldPosition[]>> = {};\n\n for (const position of positions) {\n const provider = position.provider;\n if (!grouped[provider]) {\n grouped[provider] = [];\n }\n grouped[provider].push(position);\n }\n\n return grouped as Record<YieldProviderKey, YieldPosition[]>;\n}\n\nexport function groupPositionsByCategory(\n positions: YieldPosition[],\n products: YieldProduct[]\n): Record<string, YieldPosition[]> {\n const grouped: Record<string, YieldPosition[]> = {};\n const productMap = new Map(products.map(p => [p.key, p]));\n\n for (const position of positions) {\n const product = productMap.get(position.product);\n if (!product) continue;\n\n const category = product.category;\n if (!grouped[category]) {\n grouped[category] = [];\n }\n grouped[category].push(position);\n }\n\n return grouped;\n}\n\nexport function getPositionsInCategories(\n positions: YieldPosition[],\n products: YieldProduct[],\n categories: YieldProductCategory[]\n): YieldPosition[] {\n const categorySet = new Set(categories);\n const productMap = new Map(products.map(p => [p.key, p]));\n return positions.filter(pos => {\n const product = productMap.get(pos.product);\n return product && categorySet.has(product.category);\n });\n}\n\nexport function hasPositionsInProvider(\n positions: YieldPosition[],\n provider: YieldProviderKey\n): boolean {\n return positions.some(p => p.provider === provider);\n}\n\nexport function hasPositionsInCategory(\n positions: YieldPosition[],\n products: YieldProduct[],\n category: YieldProductCategory\n): boolean {\n const productMap = new Map(products.map(p => [p.key, p]));\n return positions.some(pos => productMap.get(pos.product)?.category === category);\n}\n\nexport function enrichPositionWithProvider<T extends YieldPosition>(\n position: T,\n provider: YieldProvider\n): T & { providerData: YieldProvider } {\n return { ...position, providerData: provider };\n}\n\nexport function enrichPositionWithProduct<T extends YieldPosition>(\n position: T,\n product: YieldProduct\n): T & { productData: YieldProduct } {\n return { ...position, productData: product };\n}\n\nexport function enrichPositionWithMetadata<T extends YieldPosition>(\n position: T,\n provider: YieldProvider,\n product: YieldProduct\n): T & { providerData: YieldProvider; productData: YieldProduct } {\n return { ...position, providerData: provider, productData: product };\n}\n\nexport function getCategoryDisplayName(category: YieldProductCategory): string {\n const displayNames: Record<YieldProductCategory, string> = {\n [YieldProductCategories.AMM]: 'Liquidity Pools',\n [YieldProductCategories.LENDING]: 'Lending & Borrowing',\n [YieldProductCategories.LIQUID_STACKING]: 'Liquid Stacking',\n [YieldProductCategories.POOLED_STACKING]: 'Pooled Stacking',\n [YieldProductCategories.STAKING]: 'Staking',\n [YieldProductCategories.PERPS]: 'Perpetuals',\n };\n return displayNames[category] || category;\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@leather.io/models",
|
|
3
3
|
"author": "Leather.io contact@leather.io",
|
|
4
4
|
"description": "Leather models and types",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.53.0",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/leather-io/mono/tree/dev/packages/models",
|
|
8
8
|
"repository": {
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"prettier": "3.5.1",
|
|
29
29
|
"tsdown": "0.16.5",
|
|
30
30
|
"typescript": "5.9.3",
|
|
31
|
-
"@leather.io/
|
|
32
|
-
"@leather.io/
|
|
31
|
+
"@leather.io/tsconfig-config": "0.11.1",
|
|
32
|
+
"@leather.io/prettier-config": "0.9.0"
|
|
33
33
|
},
|
|
34
34
|
"keywords": [
|
|
35
35
|
"leather",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"types": "./dist/index.d.ts",
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "tsdown",
|
|
46
|
-
"build:watch": "tsdown --watch",
|
|
46
|
+
"build:watch": "tsdown --no-clean --watch",
|
|
47
47
|
"format": "prettier . --write --ignore-path ../../.prettierignore",
|
|
48
48
|
"format:check": "prettier . --check --ignore-path ../../.prettierignore",
|
|
49
49
|
"lint": "eslint --cache --max-warnings 0",
|
package/src/account.model.ts
CHANGED
|
@@ -25,6 +25,7 @@ export const accountAddressesSchema = z.object({
|
|
|
25
25
|
|
|
26
26
|
export type WalletId = z.infer<typeof walletIdSchema>;
|
|
27
27
|
export type AccountId = z.infer<typeof accountIdSchema>;
|
|
28
|
+
|
|
28
29
|
export type BitcoinAddressInfo = z.infer<typeof bitcoinAddressInfoSchema>;
|
|
29
30
|
export type StacksAddressInfo = z.infer<typeof stacksAddressInfoSchema>;
|
|
30
31
|
export type AccountAddresses = z.infer<typeof accountAddressesSchema>;
|
|
@@ -12,6 +12,8 @@ import {
|
|
|
12
12
|
WalletActivityType,
|
|
13
13
|
} from './activity-type.model';
|
|
14
14
|
|
|
15
|
+
export type SbtcBridgeStatus = 'pending' | 'accepted' | 'confirmed' | 'failed' | 'rbf';
|
|
16
|
+
|
|
15
17
|
export interface BaseActivity {
|
|
16
18
|
readonly level: ActivityLevel;
|
|
17
19
|
readonly type: ActivityType;
|
|
@@ -91,6 +93,7 @@ export interface SwapAssetsActivity extends BaseOnChainActivity {
|
|
|
91
93
|
crypto: Money;
|
|
92
94
|
quote: Money;
|
|
93
95
|
};
|
|
96
|
+
readonly sbtcBridgeStatus?: SbtcBridgeStatus;
|
|
94
97
|
}
|
|
95
98
|
|
|
96
99
|
// Wallet Activity
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
Sip10Asset,
|
|
11
11
|
Src20Asset,
|
|
12
12
|
StampAsset,
|
|
13
|
-
Stx20Asset,
|
|
14
13
|
StxAsset,
|
|
15
14
|
} from './asset.model';
|
|
16
15
|
import { Sip9Asset } from './sip9-asset.model';
|
|
@@ -51,10 +50,6 @@ export function isSrc20Asset(asset: CryptoAsset): asset is Src20Asset {
|
|
|
51
50
|
return asset.protocol === 'src20';
|
|
52
51
|
}
|
|
53
52
|
|
|
54
|
-
export function isStx20Asset(asset: CryptoAsset): asset is Stx20Asset {
|
|
55
|
-
return asset.protocol === 'stx20';
|
|
56
|
-
}
|
|
57
|
-
|
|
58
53
|
export function isRuneAsset(asset: CryptoAsset): asset is RuneAsset {
|
|
59
54
|
return asset.protocol === 'rune';
|
|
60
55
|
}
|
|
@@ -15,7 +15,6 @@ export const FungibleCryptoAssetProtocols = {
|
|
|
15
15
|
sip10: 'sip10',
|
|
16
16
|
brc20: 'brc20',
|
|
17
17
|
src20: 'src20',
|
|
18
|
-
stx20: 'stx20',
|
|
19
18
|
rune: 'rune',
|
|
20
19
|
} as const;
|
|
21
20
|
export const NonFungibleCryptoAssetProtocols = {
|
|
@@ -90,18 +89,12 @@ export interface Sip10Asset extends BaseFungibleCryptoAsset {
|
|
|
90
89
|
readonly imageCanonicalUri: string;
|
|
91
90
|
readonly symbol: string;
|
|
92
91
|
}
|
|
93
|
-
export interface Stx20Asset extends BaseFungibleCryptoAsset {
|
|
94
|
-
readonly chain: 'stacks';
|
|
95
|
-
readonly protocol: 'stx20';
|
|
96
|
-
readonly symbol: string;
|
|
97
|
-
}
|
|
98
92
|
export type NativeCryptoAsset = BtcAsset | StxAsset;
|
|
99
93
|
export type FungibleCryptoAsset =
|
|
100
94
|
| NativeCryptoAsset
|
|
101
95
|
| Sip10Asset
|
|
102
96
|
| Brc20Asset
|
|
103
97
|
| Src20Asset
|
|
104
|
-
| Stx20Asset
|
|
105
98
|
| RuneAsset;
|
|
106
99
|
|
|
107
100
|
// NFT asset types
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from './account.model';
|
|
2
2
|
export * from './activity/activity-level.model';
|
|
3
|
+
export * from './input-currency-mode.model';
|
|
3
4
|
export * from './activity/activity-status.model';
|
|
4
5
|
export * from './activity/activity-type.model';
|
|
5
6
|
export * from './activity/activity.model';
|
|
@@ -22,6 +23,7 @@ export * from './network/network.model';
|
|
|
22
23
|
export * from './network/network.schema';
|
|
23
24
|
export * from './settings.model';
|
|
24
25
|
export * from './swap/swap.model';
|
|
26
|
+
export * from './token-analytics.model';
|
|
25
27
|
export * from './transactions/bitcoin-transaction.model';
|
|
26
28
|
export * from './transactions/stacks-transaction.model';
|
|
27
29
|
export * from './transactions/transaction-error.model';
|
package/src/market.model.ts
CHANGED
|
@@ -18,8 +18,6 @@ export const BITCOIN_API_BASE_URL_SIGNET = 'https://mempool.space/signet/api';
|
|
|
18
18
|
export const BESTINSLOT_API_BASE_URL_MAINNET = 'https://leatherapi.bestinslot.xyz/v3';
|
|
19
19
|
export const BESTINSLOT_API_BASE_URL_TESTNET = 'https://leatherapi_testnet.bestinslot.xyz/v3';
|
|
20
20
|
|
|
21
|
-
export const STX20_API_BASE_URL_MAINNET = 'https://api.stx20.com/api/v1';
|
|
22
|
-
|
|
23
21
|
export const BNS_V2_API_BASE_URL = 'https://api.bnsv2.com';
|
|
24
22
|
|
|
25
23
|
export const EMILY_API_BASE_URL_MAINNET = 'https://sbtc-emily.com';
|
package/src/swap/swap.model.ts
CHANGED
|
@@ -74,6 +74,9 @@ export interface BitflowSdkSwapQuote extends BaseSwapQuote {
|
|
|
74
74
|
|
|
75
75
|
export interface SbtcBridgeSwapQuote extends BaseSwapQuote {
|
|
76
76
|
readonly providerId: 'sbtc-bridge';
|
|
77
|
+
readonly providerQuoteData: {
|
|
78
|
+
signerSweepTxFeeSats: number;
|
|
79
|
+
};
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
export interface SwapDex {
|
|
@@ -83,7 +86,7 @@ export interface SwapDex {
|
|
|
83
86
|
readonly description: string;
|
|
84
87
|
}
|
|
85
88
|
|
|
86
|
-
export const swapExecutionTypes = ['stacks-contract-call', 'sbtc-bridge-
|
|
89
|
+
export const swapExecutionTypes = ['stacks-contract-call', 'sbtc-bridge-deposit'] as const;
|
|
87
90
|
export type SwapExecutionType = (typeof swapExecutionTypes)[number];
|
|
88
91
|
|
|
89
92
|
export interface BaseSwapExecutionData {
|
|
@@ -93,7 +96,6 @@ export interface BaseSwapExecutionData {
|
|
|
93
96
|
}
|
|
94
97
|
export interface StacksContractCallSwapExecutionData extends BaseSwapExecutionData {
|
|
95
98
|
readonly executionType: 'stacks-contract-call';
|
|
96
|
-
readonly quote: SwapQuote;
|
|
97
99
|
readonly contractAddress: string;
|
|
98
100
|
readonly contractName: string;
|
|
99
101
|
readonly functionName: string;
|
|
@@ -101,9 +103,9 @@ export interface StacksContractCallSwapExecutionData extends BaseSwapExecutionDa
|
|
|
101
103
|
readonly postConditions: unknown[];
|
|
102
104
|
readonly postConditionMode?: unknown;
|
|
103
105
|
}
|
|
104
|
-
export interface
|
|
105
|
-
readonly executionType: 'sbtc-bridge-
|
|
106
|
+
export interface SbtcBridgeDepositSwapExecutionData extends BaseSwapExecutionData {
|
|
107
|
+
readonly executionType: 'sbtc-bridge-deposit';
|
|
106
108
|
}
|
|
107
109
|
export type SwapExecutionData =
|
|
108
110
|
| StacksContractCallSwapExecutionData
|
|
109
|
-
|
|
|
111
|
+
| SbtcBridgeDepositSwapExecutionData;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface TokenHolderSegment {
|
|
2
|
+
readonly holderCount: number;
|
|
3
|
+
readonly balance: number;
|
|
4
|
+
readonly contracts: { readonly count: number; readonly balance: number };
|
|
5
|
+
readonly multisigs: { readonly count: number; readonly balance: number };
|
|
6
|
+
readonly individuals: { readonly count: number; readonly balance: number };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface TokenAnalytics {
|
|
10
|
+
readonly circulatingSupply: number;
|
|
11
|
+
readonly holderCount?: number;
|
|
12
|
+
readonly distributionScore?: number;
|
|
13
|
+
readonly trustScore?: number;
|
|
14
|
+
readonly trendingScore?: number;
|
|
15
|
+
readonly updatedAt: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export const topHolderKeys = [1, 10, 50, 100, 200] as const;
|
|
19
|
+
export const percentileKeys = [10, 25, 50, 75] as const;
|
|
20
|
+
|
|
21
|
+
export type TokenTopHolderKey = (typeof topHolderKeys)[number];
|
|
22
|
+
export type TokenDistributionPercentileKey = (typeof percentileKeys)[number];
|
|
23
|
+
|
|
24
|
+
export interface TokenDistribution {
|
|
25
|
+
readonly topHolders: Partial<Record<TokenTopHolderKey, TokenHolderSegment>>;
|
|
26
|
+
readonly percentiles: Partial<Record<TokenDistributionPercentileKey, TokenHolderSegment>>;
|
|
27
|
+
readonly updatedAt: string;
|
|
28
|
+
}
|