@solard/sdk 0.2.27 → 0.2.31

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.
@@ -1,190 +1,206 @@
1
- import { describe, expect, test } from "bun:test";
2
- import { readFileSync } from "node:fs";
3
- import { join } from "node:path";
4
-
5
- const source = readFileSync(join(import.meta.dir, "index.ts"), "utf8");
6
- const client = readFileSync(join(import.meta.dir, "client.ts"), "utf8");
7
- const protocol = readFileSync(join(import.meta.dir, "protocol.ts"), "utf8");
8
- const defaultClient = readFileSync(join(import.meta.dir, "default.ts"), "utf8");
9
- const live = readFileSync(join(import.meta.dir, "live.ts"), "utf8");
10
-
11
- function exportedNames(value: string) {
12
- const values: string[] = [];
13
- const types: string[] = [];
14
- const pattern = /export\s+(type\s+)?\{([\s\S]*?)\}\s+from\s+["'][^"']+["'];/g;
15
- for (const match of value.matchAll(pattern)) {
16
- const target = match[1] ? types : values;
17
- for (const raw of match[2]!.split(",")) {
18
- const name =
19
- raw.trim().split(/\s+as\s+/)[1] ?? raw.trim().split(/\s+as\s+/)[0];
20
- if (name) target.push(name.trim());
21
- }
22
- }
23
- return {
24
- values: [...new Set(values)].sort(),
25
- types: [...new Set(types)].sort(),
26
- };
27
- }
28
-
29
- describe("sdk membrane", () => {
30
- test("has an exact curated root export surface", () => {
31
- expect(exportedNames(source)).toEqual({
1
+ import { describe, expect, test } from "bun:test";
2
+ import { readFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+
5
+ const source = readFileSync(join(import.meta.dir, "index.ts"), "utf8");
6
+ const client = readFileSync(join(import.meta.dir, "client.ts"), "utf8");
7
+ const protocol = readFileSync(join(import.meta.dir, "protocol.ts"), "utf8");
8
+ const defaultClient = readFileSync(join(import.meta.dir, "default.ts"), "utf8");
9
+ const live = readFileSync(join(import.meta.dir, "live.ts"), "utf8");
10
+
11
+ function exportedNames(value: string) {
12
+ const values: string[] = [];
13
+ const types: string[] = [];
14
+ const pattern = /export\s+(type\s+)?\{([\s\S]*?)\}\s+from\s+["'][^"']+["'];/g;
15
+ for (const match of value.matchAll(pattern)) {
16
+ const target = match[1] ? types : values;
17
+ for (const raw of match[2]!.split(",")) {
18
+ const name =
19
+ raw.trim().split(/\s+as\s+/)[1] ?? raw.trim().split(/\s+as\s+/)[0];
20
+ if (name) target.push(name.trim());
21
+ }
22
+ }
23
+ return {
24
+ values: [...new Set(values)].sort(),
25
+ types: [...new Set(types)].sort(),
26
+ };
27
+ }
28
+
29
+ describe("sdk membrane", () => {
30
+ test("has an exact curated root export surface", () => {
31
+ expect(exportedNames(source)).toEqual({
32
32
  values: [
33
- "createSolard",
34
- "default",
35
- "fetchTokenMetadata",
36
- "formatRaw",
37
- "getSolUsdPrice",
38
- "publicTokenMetadataUrl",
39
- "subscribeLaunches",
40
- "subscribeMigrations",
41
- "listenTrades",
42
- "sol",
43
- "tokenAmount",
44
- ].sort(),
33
+ "normalizeValueBandPolicy", "planValueBandDecision", "valueBandThresholds",
34
+ "normalizeTargetWeightPolicy", "planTargetWeightRebalance",
35
+ "buildHistoricalCandles", "runHistoricalStrategy", "sweepHistoricalStrategies",
36
+ "LAUNCHLAB_PLATFORM_PRESETS", "resolveLaunchLabPlatform",
37
+ "createSolard",
38
+ "default",
39
+ "fetchTokenMetadata",
40
+ "formatRaw",
41
+ "getSolUsdPrice",
42
+ "isDefinitivePreSubmissionError",
43
+ "publicTokenMetadataUrl",
44
+ "subscribeLaunches",
45
+ "subscribeMigrations",
46
+ "listenTrades",
47
+ "sol",
48
+ "tokenAmount",
49
+ ].sort(),
45
50
  types: [
46
- "ClaimCreatorRewardsOptions",
47
- "CreatorRewardClaimPayout",
48
- "CreatorRewardClaimResult",
49
- "CumulativeDistributionExecuteOptions",
50
- "CumulativeDistributionInput",
51
- "CumulativeDistributionPlan",
52
- "CumulativeDistributionRecipient",
53
- "CumulativeDistributionState",
54
- "CumulativeEntitlement",
55
- "FetchTokenMetadataOptions",
56
- "GetSolUsdPriceOptions",
57
- "HumanAmount",
58
- "LaunchEvent",
59
- "LaunchSubscription",
60
- "LaunchVenue",
61
- "MigrationDestination",
62
- "MigrationEvent",
63
- "MigrationSubscription",
64
- "MigrationVenue",
65
- "MarketHistory",
66
- "MarketHistoryOptions",
67
- "MarketPrice",
68
- "SolUsdPrice",
69
- "SolUsdSource",
70
- "SubscribeLaunchesOptions",
71
- "SubscribeMigrationsOptions",
72
- "ListenTradesOptions",
73
- "MergedReplayEventStream",
74
- "QuoteAsset",
75
- "ReplayCoverage",
76
- "ReplayEventSubscription",
77
- "ReplayEventsOptions",
78
- "ReplayHistory",
79
- "ReplayItem",
80
- "ReplayOptions",
81
- "ReplayPayout",
82
- "ReplayTransaction",
83
- "RecordConfirmedTradeInput",
84
- "SendReceipt",
85
- "SenderId",
86
- "SimulationResult",
87
- "SolardDecodedTransaction",
88
- "SolardPosition",
89
- "SolardPositionQuery",
90
- "SolardTransactionNativeBalance",
91
- "SolardTransactionOptions",
92
- "SolardTransactionTokenBalance",
93
- "SolardTrade",
94
- "SolardTradeQuery",
95
- "SolardTradeSide",
96
- "SolardTradeStatus",
97
- "TradeEvent",
98
- "TradeMarket",
99
- "TradeSide",
100
- "TradeListener",
101
- "TradeVenue",
102
- "Solard",
103
- "SolardBuyInput",
104
- "SolardSellInput",
105
- "SolardTradeExecutionOptions",
106
- "SolardTradeExecutionResult",
107
- "SolardCanonicalEvent",
108
- "SolardClaimAttribution",
109
- "SolardClaimEvent",
110
- "SolardEventsApi",
111
- "SolardHistoryApi",
112
- "SolardOptions",
113
- "ExcludedTokenHolder",
114
- "TokenHolder",
115
- "TokenHolderSnapshot",
116
- "TokenHolderSnapshotOptions",
117
- "TokenEventHistoryProgress",
118
- "TokenMetadata",
119
- "TokenMetadataHint",
120
- "TokenMetadataKind",
121
- "TokenMetadataMode",
122
- "TokenRef",
123
- "TokenRow",
124
- "WalletInfo",
125
- "WalletPrivateKeyExport",
126
- "WalletPrivateKeyFormat",
127
- "WalletRef",
128
- ].sort(),
129
- });
130
- });
131
-
132
- test("does not wildcard-export or deep-import core", () => {
133
- expect(source).not.toContain('export * from "@solard/core"');
134
- expect(source).not.toMatch(/\.\.\/\.\.\/core\/src|@solard\/core\//);
135
- expect(client).not.toMatch(/\.\.\/\.\.\/core\/src|@solard\/core\//);
136
- });
137
-
138
- test("keeps raw protocol decoders off the root surface", () => {
139
- expect(source).not.toMatch(
140
- /decode(?:ProgramDataLogs|PumpProgramData|PumpSwapProgramData|RaydiumLaunchLabProgramData)/,
141
- );
142
- expect(exportedNames(protocol)).toEqual({
143
- values: [
144
- "decodeProgramDataLogs",
145
- "decodePumpProgramData",
146
- "decodePumpSwapProgramData",
147
- "decodeRaydiumLaunchLabProgramData",
148
- ].sort(),
149
- types: [
150
- "PumpDecodedEvent",
151
- "PumpSwapDecodedEvent",
152
- "RaydiumLaunchLabDecodedEvent",
153
- ].sort(),
154
- });
155
- });
156
-
157
- test("exports a lazy zero-config default client", () => {
158
- expect(source).toContain('export { default } from "./default.ts"');
159
- expect(defaultClient).toContain("instance ??= createSolard()");
160
- expect(defaultClient).toContain('if (key === "close")');
161
- expect(defaultClient).toContain("getSolUsdPrice");
162
- expect(defaultClient).toContain("listenTrades");
163
- expect(defaultClient).toContain("subscribeLaunches");
164
- expect(defaultClient).toContain("subscribeMigrations");
165
- expect(defaultClient).not.toContain("export default createSolard()");
166
- expect(live).toContain("process.env.RPC_ENDPOINT");
167
- expect(live).not.toContain("SOLANA_RPC_URL");
168
- expect(live).not.toContain("HELIUS_RPC_URL");
169
- expect(live).not.toContain("SOLANA_WS_URL");
170
- expect(live).not.toContain("HELIUS_WS_URL");
171
- });
172
-
173
- test("does not create persistence at module import", () => {
174
- expect(source).not.toMatch(/createCoreSolard|createTraderSolard\(\)/);
175
- expect(defaultClient).not.toMatch(/^const\s+\w+\s*=\s*createSolard\(\)/m);
176
- expect(client.indexOf("createCoreSolard(options)")).toBeGreaterThan(
177
- client.indexOf("export function createSolard"),
178
- );
179
- expect(client).toContain(
180
- "recordConfirmedTrade: core.recordConfirmedTrade.bind(core)",
181
- );
182
- expect(client).toContain("trades: core.trades.bind(core)");
183
- });
184
-
185
- test("does not expose core repositories or secret-bearing handles", () => {
186
- expect(client).not.toMatch(
187
- /\b(?:db|wallets|tokens|groups|executions|positions|prices|alts|senders|venues|claimSources|launches|launchpads|connection|signer)\s*:/,
188
- );
189
- });
190
- });
51
+ "TradeListenerMigration",
52
+ "ValueBandPolicy", "ValueBandRuntimeState", "ValueBandDecision",
53
+ "TargetWeightPolicy", "TargetWeightRebalancePlan",
54
+ "HistoricalTradeTape", "HistoricalCandle", "HistoricalStrategy",
55
+ "HistoricalExecutionOptions", "HistoricalStrategyResult",
56
+ "CreatorFeeDiscovery", "CreatorFeeGroup", "CreatorFeeItem",
57
+ "WalletLedger", "WalletLedgerEntry", "WalletLedgerOptions", "CurrentMarket",
58
+ "PreparedTokenDeployment", "PrepareDeploymentArgs",
59
+ "TradeLandingPolicy",
60
+ "LiveEndpointOptions",
61
+ "LivePoolReserves",
62
+ "ClaimCreatorRewardsOptions",
63
+ "CreatorRewardClaimPayout",
64
+ "CreatorRewardClaimResult",
65
+ "CumulativeDistributionExecuteOptions",
66
+ "CumulativeDistributionInput",
67
+ "CumulativeDistributionPlan",
68
+ "CumulativeDistributionRecipient",
69
+ "CumulativeDistributionState",
70
+ "CumulativeEntitlement",
71
+ "FetchTokenMetadataOptions",
72
+ "GetSolUsdPriceOptions",
73
+ "HumanAmount",
74
+ "LaunchEvent",
75
+ "LaunchSubscription",
76
+ "LaunchVenue",
77
+ "MigrationDestination",
78
+ "MigrationEvent",
79
+ "MigrationSubscription",
80
+ "MigrationVenue",
81
+ "MarketHistory",
82
+ "MarketHistoryOptions",
83
+ "MarketPrice",
84
+ "SolUsdPrice",
85
+ "SolUsdSource",
86
+ "SubscribeLaunchesOptions",
87
+ "SubscribeMigrationsOptions",
88
+ "ListenTradesOptions",
89
+ "MergedReplayEventStream",
90
+ "QuoteAsset",
91
+ "ReplayCoverage",
92
+ "ReplayEventSubscription",
93
+ "ReplayEventsOptions",
94
+ "ReplayHistory",
95
+ "ReplayItem",
96
+ "ReplayOptions",
97
+ "ReplayPayout",
98
+ "ReplayTransaction",
99
+ "RecordConfirmedTradeInput",
100
+ "SendReceipt",
101
+ "SenderId",
102
+ "SimulationResult",
103
+ "SolardDecodedTransaction",
104
+ "SolardPosition",
105
+ "SolardPositionQuery",
106
+ "SolardTransactionNativeBalance",
107
+ "SolardTransactionOptions",
108
+ "SolardTransactionTokenBalance",
109
+ "SolardTrade",
110
+ "SolardTradeQuery",
111
+ "SolardTradeSide",
112
+ "SolardTradeStatus",
113
+ "TradeEvent",
114
+ "TradeMarket",
115
+ "TradeSide",
116
+ "TradeListener",
117
+ "TradeVenue",
118
+ "Solard",
119
+ "SolardBuyInput",
120
+ "SolardSellInput",
121
+ "SolardTradeExecutionOptions",
122
+ "SolardTradeExecutionResult",
123
+ "SolardCanonicalEvent",
124
+ "SolardClaimAttribution",
125
+ "SolardClaimEvent",
126
+ "SolardEventsApi",
127
+ "SolardHistoryApi",
128
+ "SolardOptions",
129
+ "ExcludedTokenHolder",
130
+ "TokenHolder",
131
+ "TokenHolderSnapshot",
132
+ "TokenHolderSnapshotOptions",
133
+ "TokenEventHistoryProgress",
134
+ "TokenMetadata",
135
+ "TokenMetadataHint",
136
+ "TokenMetadataKind",
137
+ "TokenMetadataMode",
138
+ "TokenRef",
139
+ "TokenRow",
140
+ "WalletInfo",
141
+ "WalletPrivateKeyExport",
142
+ "WalletPrivateKeyFormat",
143
+ "WalletRef",
144
+ ].sort(),
145
+ });
146
+ });
147
+
148
+ test("does not wildcard-export or deep-import core", () => {
149
+ expect(source).not.toContain('export * from "@solard/core"');
150
+ expect(source).not.toMatch(/\.\.\/\.\.\/core\/src|@solard\/core\//);
151
+ expect(client).not.toMatch(/\.\.\/\.\.\/core\/src|@solard\/core\//);
152
+ });
153
+
154
+ test("keeps raw protocol decoders off the root surface", () => {
155
+ expect(source).not.toMatch(
156
+ /decode(?:ProgramDataLogs|PumpProgramData|PumpSwapProgramData|RaydiumLaunchLabProgramData)/,
157
+ );
158
+ expect(exportedNames(protocol)).toEqual({
159
+ values: [
160
+ "decodeProgramDataLogs",
161
+ "decodePumpProgramData",
162
+ "decodePumpSwapProgramData",
163
+ "decodeRaydiumLaunchLabProgramData",
164
+ ].sort(),
165
+ types: [
166
+ "PumpDecodedEvent",
167
+ "PumpSwapDecodedEvent",
168
+ "RaydiumLaunchLabDecodedEvent",
169
+ ].sort(),
170
+ });
171
+ });
172
+
173
+ test("exports a lazy zero-config default client", () => {
174
+ expect(source).toContain('export { default } from "./default.ts"');
175
+ expect(defaultClient).toContain("instance ??= createSolard()");
176
+ expect(defaultClient).toContain('if (key === "close")');
177
+ expect(defaultClient).toContain("getSolUsdPrice");
178
+ expect(defaultClient).toContain("listenTrades");
179
+ expect(defaultClient).toContain("subscribeLaunches");
180
+ expect(defaultClient).toContain("subscribeMigrations");
181
+ expect(defaultClient).not.toContain("export default createSolard()");
182
+ expect(live).toContain("process.env.RPC_ENDPOINT");
183
+ expect(live).not.toContain("SOLANA_RPC_URL");
184
+ expect(live).not.toContain("HELIUS_RPC_URL");
185
+ expect(live).not.toContain("SOLANA_WS_URL");
186
+ expect(live).not.toContain("HELIUS_WS_URL");
187
+ });
188
+
189
+ test("does not create persistence at module import", () => {
190
+ expect(source).not.toMatch(/createCoreSolard|createTraderSolard\(\)/);
191
+ expect(defaultClient).not.toMatch(/^const\s+\w+\s*=\s*createSolard\(\)/m);
192
+ expect(client.indexOf("createCoreSolard(options)")).toBeGreaterThan(
193
+ client.indexOf("export function createSolard"),
194
+ );
195
+ expect(client).toContain(
196
+ "recordConfirmedTrade: core.recordConfirmedTrade.bind(core)",
197
+ );
198
+ expect(client).toContain("trades: core.trades.bind(core)");
199
+ });
200
+
201
+ test("does not expose core repositories or secret-bearing handles", () => {
202
+ expect(client).not.toMatch(
203
+ /\b(?:db|wallets|tokens|groups|executions|positions|prices|alts|senders|venues|claimSources|launches|launchpads|connection|signer)\s*:/,
204
+ );
205
+ });
206
+ });
package/src/index.ts CHANGED
@@ -1,106 +1,148 @@
1
- export { default } from "./default.ts";
1
+ export { default } from "./default.ts";
2
2
  export { createSolard } from "./client.ts";
3
- export type {
4
- Solard,
5
- SolardBuyInput,
6
- SolardEventsApi,
7
- SolardHistoryApi,
8
- SolardOptions,
9
- SolardSellInput,
10
- SolardTradeExecutionOptions,
11
- SolardTradeExecutionResult,
12
- } from "./client.ts";
13
-
14
- export { formatRaw, sol, tokenAmount } from "@solard/core";
15
-
16
- export type {
17
- ClaimCreatorRewardsOptions,
18
- CreatorRewardClaimPayout,
19
- CreatorRewardClaimResult,
20
- CumulativeDistributionExecuteOptions,
21
- CumulativeDistributionInput,
22
- CumulativeDistributionPlan,
23
- CumulativeDistributionRecipient,
24
- CumulativeDistributionState,
25
- CumulativeEntitlement,
26
- HumanAmount,
27
- MarketHistory,
28
- MarketHistoryOptions,
29
- MarketPrice,
30
- MergedReplayEventStream,
31
- QuoteAsset,
32
- ReplayCoverage,
33
- ReplayEventSubscription,
34
- ReplayEventsOptions,
35
- ReplayHistory,
36
- ReplayItem,
37
- ReplayOptions,
38
- ReplayPayout,
39
- ReplayTransaction,
40
- RecordConfirmedTradeInput,
41
- SendReceipt,
42
- SenderId,
43
- SimulationResult,
44
- SolardDecodedTransaction,
45
- SolardPosition,
46
- SolardPositionQuery,
47
- SolardTransactionNativeBalance,
48
- SolardTransactionOptions,
49
- SolardTransactionTokenBalance,
50
- SolardTrade,
51
- SolardTradeQuery,
52
- SolardTradeSide,
53
- SolardTradeStatus,
54
- SolardCanonicalEvent,
55
- SolardClaimAttribution,
56
- SolardClaimEvent,
57
- TokenEventHistoryProgress,
58
- TokenHolder,
59
- ExcludedTokenHolder,
60
- TokenHolderSnapshot,
61
- TokenHolderSnapshotOptions,
62
- TokenRef,
63
- TokenRow,
64
- WalletInfo,
65
- WalletPrivateKeyExport,
66
- WalletPrivateKeyFormat,
67
- WalletRef,
68
- } from "@solard/core";
69
-
70
3
  export {
71
- fetchTokenMetadata,
72
- getSolUsdPrice,
73
- publicTokenMetadataUrl,
4
+ normalizeValueBandPolicy,
5
+ planValueBandDecision,
6
+ valueBandThresholds,
7
+ normalizeTargetWeightPolicy,
8
+ planTargetWeightRebalance,
9
+ buildHistoricalCandles,
10
+ runHistoricalStrategy,
11
+ sweepHistoricalStrategies,
12
+ LAUNCHLAB_PLATFORM_PRESETS,
13
+ resolveLaunchLabPlatform,
74
14
  } from "@solard/core";
75
- export {
76
- listenTrades,
77
- subscribeLaunches,
78
- subscribeMigrations,
79
- } from "./live.ts";
15
+ export type {
16
+ ValueBandPolicy,
17
+ ValueBandRuntimeState,
18
+ ValueBandDecision,
19
+ TargetWeightPolicy,
20
+ TargetWeightRebalancePlan,
21
+ HistoricalTradeTape,
22
+ HistoricalCandle,
23
+ HistoricalStrategy,
24
+ HistoricalExecutionOptions,
25
+ HistoricalStrategyResult,
26
+ CreatorFeeDiscovery,
27
+ CreatorFeeGroup,
28
+ CreatorFeeItem,
29
+ WalletLedger,
30
+ WalletLedgerEntry,
31
+ WalletLedgerOptions,
32
+ CurrentMarket,
33
+ PreparedTokenDeployment,
34
+ PrepareDeploymentArgs,
35
+ } from "@solard/core";
36
+ export type {
37
+ Solard,
38
+ SolardBuyInput,
39
+ SolardEventsApi,
40
+ SolardHistoryApi,
41
+ SolardOptions,
42
+ SolardSellInput,
43
+ SolardTradeExecutionOptions,
44
+ SolardTradeExecutionResult,
45
+ } from "./client.ts";
46
+
47
+ export {
48
+ formatRaw,
49
+ sol,
50
+ tokenAmount,
51
+ isDefinitivePreSubmissionError,
52
+ } from "@solard/core";
53
+
54
+ export type {
55
+ ClaimCreatorRewardsOptions,
56
+ TradeLandingPolicy,
57
+ LivePoolReserves,
58
+ CreatorRewardClaimPayout,
59
+ CreatorRewardClaimResult,
60
+ CumulativeDistributionExecuteOptions,
61
+ CumulativeDistributionInput,
62
+ CumulativeDistributionPlan,
63
+ CumulativeDistributionRecipient,
64
+ CumulativeDistributionState,
65
+ CumulativeEntitlement,
66
+ HumanAmount,
67
+ MarketHistory,
68
+ MarketHistoryOptions,
69
+ MarketPrice,
70
+ MergedReplayEventStream,
71
+ QuoteAsset,
72
+ ReplayCoverage,
73
+ ReplayEventSubscription,
74
+ ReplayEventsOptions,
75
+ ReplayHistory,
76
+ ReplayItem,
77
+ ReplayOptions,
78
+ ReplayPayout,
79
+ ReplayTransaction,
80
+ RecordConfirmedTradeInput,
81
+ SendReceipt,
82
+ SenderId,
83
+ SimulationResult,
84
+ SolardDecodedTransaction,
85
+ SolardPosition,
86
+ SolardPositionQuery,
87
+ SolardTransactionNativeBalance,
88
+ SolardTransactionOptions,
89
+ SolardTransactionTokenBalance,
90
+ SolardTrade,
91
+ SolardTradeQuery,
92
+ SolardTradeSide,
93
+ SolardTradeStatus,
94
+ SolardCanonicalEvent,
95
+ SolardClaimAttribution,
96
+ SolardClaimEvent,
97
+ TokenEventHistoryProgress,
98
+ TokenHolder,
99
+ ExcludedTokenHolder,
100
+ TokenHolderSnapshot,
101
+ TokenHolderSnapshotOptions,
102
+ TokenRef,
103
+ TokenRow,
104
+ WalletInfo,
105
+ WalletPrivateKeyExport,
106
+ WalletPrivateKeyFormat,
107
+ WalletRef,
108
+ } from "@solard/core";
109
+
110
+ export {
111
+ fetchTokenMetadata,
112
+ getSolUsdPrice,
113
+ publicTokenMetadataUrl,
114
+ } from "@solard/core";
115
+ export {
116
+ listenTrades,
117
+ subscribeLaunches,
118
+ subscribeMigrations,
119
+ } from "./live.ts";
80
120
  export type {
81
121
  ListenTradesOptions,
82
- SubscribeLaunchesOptions,
83
- SubscribeMigrationsOptions,
122
+ LiveEndpointOptions,
123
+ SubscribeLaunchesOptions,
124
+ SubscribeMigrationsOptions,
84
125
  TradeListener,
85
- } from "./live.ts";
86
- export type {
87
- LaunchEvent,
88
- LaunchSubscription,
89
- LaunchVenue,
90
- MigrationDestination,
91
- MigrationEvent,
92
- MigrationSubscription,
93
- MigrationVenue,
94
- GetSolUsdPriceOptions,
95
- SolUsdPrice,
96
- SolUsdSource,
97
- TradeEvent,
98
- TradeMarket,
99
- TradeSide,
100
- TradeVenue,
101
- FetchTokenMetadataOptions,
102
- TokenMetadata,
103
- TokenMetadataHint,
104
- TokenMetadataKind,
105
- TokenMetadataMode,
106
- } from "@solard/core";
126
+ TradeListenerMigration,
127
+ } from "./live.ts";
128
+ export type {
129
+ LaunchEvent,
130
+ LaunchSubscription,
131
+ LaunchVenue,
132
+ MigrationDestination,
133
+ MigrationEvent,
134
+ MigrationSubscription,
135
+ MigrationVenue,
136
+ GetSolUsdPriceOptions,
137
+ SolUsdPrice,
138
+ SolUsdSource,
139
+ TradeEvent,
140
+ TradeMarket,
141
+ TradeSide,
142
+ TradeVenue,
143
+ FetchTokenMetadataOptions,
144
+ TokenMetadata,
145
+ TokenMetadataHint,
146
+ TokenMetadataKind,
147
+ TokenMetadataMode,
148
+ } from "@solard/core";