@interest-protocol/blast-migrators-sdk 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/events.js ADDED
@@ -0,0 +1,180 @@
1
+ import { moveTypeNameBcs, suiObjectIdBcs, } from "@interest-protocol/blast-core/bcs";
2
+ import { normalizeSuiEventPosition, suiEventId, } from "@interest-protocol/blast-core/events";
3
+ import { requireU64, requireU128, } from "@interest-protocol/blast-core/integers";
4
+ import { feeSplitBcs } from "@interest-protocol/blast-launchpad-sdk/allocation";
5
+ import { bcs } from "@mysten/sui/bcs";
6
+ import { normalizeSuiAddress, parseStructTag } from "@mysten/sui/utils";
7
+ export const migratorEventSpecs = {
8
+ AutoLiquidityAdded: {
9
+ vault_id: "id",
10
+ meme_amount: "u64",
11
+ quote_amount: "u64",
12
+ meme_pending: "u64",
13
+ quote_pending: "u64",
14
+ },
15
+ AutoLpPositionOpened: {
16
+ vault_id: "id",
17
+ position_id: "id",
18
+ },
19
+ BuybackBurned: {
20
+ vault_id: "id",
21
+ quote_spent: "u64",
22
+ meme_burned: "u64",
23
+ quote_pending: "u64",
24
+ },
25
+ CetusPoolReserved: {
26
+ meme: "typeName",
27
+ quote: "typeName",
28
+ pool_creation_cap_id: "id",
29
+ tick_spacing: "u32",
30
+ },
31
+ CreatorFeesClaimed: {
32
+ vault_id: "id",
33
+ meme_amount: "u64",
34
+ quote_amount: "u64",
35
+ },
36
+ FeeSplitChanged: {
37
+ vault_id: "id",
38
+ old_fee_split: "feeSplit",
39
+ new_fee_split: "feeSplit",
40
+ },
41
+ FeesCollected: {
42
+ vault_id: "id",
43
+ gross_meme: "u64",
44
+ gross_quote: "u64",
45
+ protocol_destination: "optionAddress",
46
+ protocol_meme: "u64",
47
+ protocol_quote: "u64",
48
+ creator_meme: "u64",
49
+ creator_quote: "u64",
50
+ auto_lp_meme: "u64",
51
+ auto_lp_quote: "u64",
52
+ rewards_meme: "u64",
53
+ rewards_quote: "u64",
54
+ burn_meme: "u64",
55
+ burn_quote: "u64",
56
+ recipient_meme: "u64Vector",
57
+ recipient_quote: "u64Vector",
58
+ },
59
+ LpFeeDestinationChanged: {
60
+ old_destination: "address",
61
+ new_destination: "address",
62
+ },
63
+ LpFeePolicyChanged: {
64
+ meme: "optionTypeName",
65
+ old_meme_bps: "optionU64",
66
+ old_quote_bps: "optionU64",
67
+ new_meme_bps: "optionU64",
68
+ new_quote_bps: "optionU64",
69
+ },
70
+ ProtocolFeesClaimed: {
71
+ vault_id: "id",
72
+ meme: "typeName",
73
+ quote: "typeName",
74
+ claimant: "address",
75
+ meme_amount: "u64",
76
+ quote_amount: "u64",
77
+ },
78
+ ProtocolLpFeesClaimed: {
79
+ vault_id: "id",
80
+ protocol_destination: "address",
81
+ protocol_meme: "u64",
82
+ protocol_quote: "u64",
83
+ partner_meme: "u64",
84
+ partner_quote: "u64",
85
+ },
86
+ RewardPaid: {
87
+ round_id: "id",
88
+ index: "u64",
89
+ beneficiary: "address",
90
+ meme_amount: "u64",
91
+ quote_amount: "u64",
92
+ meme_remaining: "u64",
93
+ quote_remaining: "u64",
94
+ },
95
+ RoundPublished: {
96
+ vault_id: "id",
97
+ round_id: "id",
98
+ number: "u64",
99
+ start_checkpoint: "u64",
100
+ end_checkpoint: "u64",
101
+ root: "bytes",
102
+ manifest_digest: "bytes",
103
+ leaf_count: "u64",
104
+ meme_amount: "u64",
105
+ quote_amount: "u64",
106
+ meme_unallocated: "u64",
107
+ quote_unallocated: "u64",
108
+ },
109
+ VaultCreated: {
110
+ vault_id: "id",
111
+ pool_id: "id",
112
+ position_id: "id",
113
+ venue: "typeName",
114
+ meme: "typeName",
115
+ quote: "typeName",
116
+ residual_meme: "u64",
117
+ residual_quote: "u64",
118
+ liquidity: "u128",
119
+ fee_split: "feeSplit",
120
+ },
121
+ };
122
+ const U64Bcs = bcs.u64().transform({
123
+ input: (value) => requireU64("event u64", value),
124
+ output: (value) => BigInt(value),
125
+ });
126
+ const U128Bcs = bcs.u128().transform({
127
+ input: (value) => requireU128("event u128", value),
128
+ output: (value) => BigInt(value),
129
+ });
130
+ const BytesBcs = bcs.vector(bcs.u8()).transform({
131
+ input: (value) => Array.from(value),
132
+ output: (value) => Uint8Array.from(value),
133
+ });
134
+ const AddressBcs = bcs.Address.transform({
135
+ input: (value) => normalizeSuiAddress(value),
136
+ output: (value) => normalizeSuiAddress(value),
137
+ });
138
+ const MIGRATOR_EVENT_FIELD_BCS = {
139
+ id: suiObjectIdBcs,
140
+ typeName: moveTypeNameBcs,
141
+ address: AddressBcs,
142
+ u64: U64Bcs,
143
+ u128: U128Bcs,
144
+ u32: bcs.u32(),
145
+ bytes: BytesBcs,
146
+ u64Vector: bcs.vector(U64Bcs),
147
+ optionAddress: bcs.option(AddressBcs),
148
+ optionTypeName: bcs.option(moveTypeNameBcs),
149
+ optionU64: bcs.option(U64Bcs),
150
+ feeSplit: feeSplitBcs,
151
+ };
152
+ export const migratorEventBcs = Object.fromEntries(Object.entries(migratorEventSpecs).map(([name, spec]) => [
153
+ name,
154
+ bcs.struct(name, Object.fromEntries(Object.entries(spec).map(([field, descriptor]) => [
155
+ field,
156
+ MIGRATOR_EVENT_FIELD_BCS[descriptor],
157
+ ]))),
158
+ ]));
159
+ export function decodeMigratorEvent(event, packages) {
160
+ const originalPackageId = normalizeSuiAddress(packages.originalPackageId);
161
+ const tag = parseStructTag(event.eventType);
162
+ if (tag.address !== originalPackageId ||
163
+ tag.module !== "blast_events" ||
164
+ tag.typeParams.length !== 0 ||
165
+ !Object.hasOwn(migratorEventSpecs, tag.name)) {
166
+ throw new TypeError("migrator event has an unexpected event package");
167
+ }
168
+ const kind = tag.name;
169
+ return {
170
+ source: "migrators",
171
+ kind,
172
+ payload: migratorEventBcs[kind].parse(event.bcs),
173
+ sender: normalizeSuiAddress(event.sender),
174
+ position: normalizeSuiEventPosition(event),
175
+ };
176
+ }
177
+ export function migratorEventId(event) {
178
+ return suiEventId(event.position);
179
+ }
180
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export * from "@interest-protocol/blast-core/migration-math";
2
+ export * from "./bluefin-pool.ts";
3
+ export * from "./cetus-pool.ts";
4
+ export * from "./client.ts";
5
+ export * from "./events.ts";
6
+ export * from "./reducer.ts";
7
+ export * from "./state.ts";
8
+ export * from "./transactions.ts";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export * from "@interest-protocol/blast-core/migration-math";
2
+ export * from "./bluefin-pool.js";
3
+ export * from "./cetus-pool.js";
4
+ export * from "./client.js";
5
+ export * from "./events.js";
6
+ export * from "./reducer.js";
7
+ export * from "./state.js";
8
+ export * from "./transactions.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,139 @@
1
+ import type { NativeTransactionPosition } from "@interest-protocol/blast-core/events";
2
+ import type { FeeSplit } from "@interest-protocol/blast-launchpad-sdk/allocation";
3
+ import type { DecodedLaunchpadEvent } from "@interest-protocol/blast-launchpad-sdk/events";
4
+ import type { LaunchpadEventProjection } from "@interest-protocol/blast-launchpad-sdk/reducer";
5
+ import type { DecodedMigratorEvent, MigratorEventKind } from "./events.ts";
6
+ export type LpVaultEventProjection = {
7
+ vaultId: string;
8
+ /** The launch this vault completed, linked by Meme type in the product projection. */
9
+ launchId: string | null;
10
+ poolId: string;
11
+ positionId: string;
12
+ /** Separate full-range position Cetus auto-LP adds to; null until first use. */
13
+ autoLpPositionId: string | null;
14
+ venueType: string;
15
+ memeType: string;
16
+ quoteType: string;
17
+ feeSplit: FeeSplit;
18
+ creatorMeme: bigint;
19
+ creatorQuote: bigint;
20
+ autoLpMeme: bigint;
21
+ autoLpQuote: bigint;
22
+ rewardsMeme: bigint;
23
+ rewardsQuote: bigint;
24
+ /** Burn-share Quote waiting for a buyback. */
25
+ burnQuote: bigint;
26
+ /** Protocol migration residuals the venue returned. */
27
+ protocolMemeResidual: bigint;
28
+ protocolQuoteResidual: bigint;
29
+ /** Liquidity of the migration position. */
30
+ liquidity: bigint;
31
+ nextRound: bigint;
32
+ lastCheckpoint: bigint | null;
33
+ /** Cumulative protocol LP-fee payouts. */
34
+ protocolMemePaid: bigint;
35
+ protocolQuotePaid: bigint;
36
+ /** Blast's LP fees a partnered vault holds for its next partner claim. */
37
+ protocolMemeHeld: bigint;
38
+ protocolQuoteHeld: bigint;
39
+ /** Cumulative cut of Blast's LP fees paid to the launch's partner. */
40
+ partnerMemePaid: bigint;
41
+ partnerQuotePaid: bigint;
42
+ };
43
+ export type HolderRewardRoundProjection = {
44
+ roundId: string;
45
+ vaultId: string;
46
+ number: bigint;
47
+ startCheckpoint: bigint;
48
+ endCheckpoint: bigint;
49
+ root: string;
50
+ manifestDigest: string;
51
+ leafCount: bigint;
52
+ memeRemaining: bigint;
53
+ quoteRemaining: bigint;
54
+ paidIndexes: Readonly<Record<string, true>>;
55
+ };
56
+ export type LpFeePolicyProjection = {
57
+ /** Default Meme/Quote shares, once a change is replayed; initialization sets zero/zero. */
58
+ defaultShares: {
59
+ memeBps: bigint;
60
+ quoteBps: bigint;
61
+ };
62
+ /** Original Meme type keyed pairs that override the defaults. */
63
+ coinShares: Readonly<Record<string, {
64
+ memeBps: bigint;
65
+ quoteBps: bigint;
66
+ }>>;
67
+ /** Protocol destination once redirected; initialization pays the publisher. */
68
+ protocolDestination: string | null;
69
+ };
70
+ export type CetusPoolReservationProjection = {
71
+ memeType: string;
72
+ quoteType: string;
73
+ poolCreationCapId: string;
74
+ tickSpacing: number;
75
+ };
76
+ export type MigratorEventProjection = {
77
+ appliedEventIds: Readonly<Record<string, true>>;
78
+ eventCounts: Readonly<Record<MigratorEventKind, number>>;
79
+ vaults: Readonly<Record<string, LpVaultEventProjection>>;
80
+ rounds: Readonly<Record<string, HolderRewardRoundProjection>>;
81
+ lpFeePolicy: LpFeePolicyProjection;
82
+ /** Cetus pool-creation reservations, keyed by Meme type. */
83
+ cetusPoolReservations: Readonly<Record<string, CetusPoolReservationProjection>>;
84
+ };
85
+ export type { NativeTransactionPosition } from "@interest-protocol/blast-core/events";
86
+ export type PackagePublicationFact = {
87
+ source: "transactionEffects";
88
+ kind: "packagePublication";
89
+ position: NativeTransactionPosition;
90
+ packageId: string;
91
+ createdObjectIds: readonly string[];
92
+ };
93
+ export type CreatorCapOwnershipFact = {
94
+ source: "objectOwnership";
95
+ kind: "creatorCapOwnership";
96
+ checkpoint: bigint;
97
+ creatorCapId: string;
98
+ owner: string;
99
+ };
100
+ /** A coin a claim returned and where its transaction sent it. */
101
+ export type ReturnedCoin = {
102
+ objectId: string;
103
+ recipient: string;
104
+ };
105
+ /** The coins one claim returned: a launch protocol claim also returns Blast's SUI. */
106
+ export type ReturnedCoinRecipientsFact = {
107
+ source: "transactionEffects";
108
+ kind: "returnedCoinRecipients";
109
+ position: NativeTransactionPosition;
110
+ memeCoin: ReturnedCoin;
111
+ quoteCoin: ReturnedCoin;
112
+ } & ({
113
+ claim: "launchCreatorFees" | "lpCreatorFees" | "lpProtocolFees";
114
+ } | {
115
+ claim: "launchProtocolFees";
116
+ suiCoin: ReturnedCoin;
117
+ });
118
+ export type NativeReconstructionFact = PackagePublicationFact | CreatorCapOwnershipFact | ReturnedCoinRecipientsFact;
119
+ export type NativeFactProjection = {
120
+ appliedFactIds: Readonly<Record<string, true>>;
121
+ packagePublications: Readonly<Record<string, PackagePublicationFact>>;
122
+ creatorCapOwners: Readonly<Record<string, {
123
+ source: "objectOwnership";
124
+ checkpoint: bigint;
125
+ owner: string;
126
+ }>>;
127
+ returnedCoinRecipients: Readonly<Record<string, ReturnedCoinRecipientsFact>>;
128
+ };
129
+ export type LaunchpadProductProjection = {
130
+ launchpad: LaunchpadEventProjection;
131
+ migrators: MigratorEventProjection;
132
+ native: NativeFactProjection;
133
+ };
134
+ export type LaunchpadProductInput = DecodedLaunchpadEvent | DecodedMigratorEvent | NativeReconstructionFact;
135
+ export declare function createMigratorEventProjection(): MigratorEventProjection;
136
+ export declare function createLaunchpadProductProjection(): LaunchpadProductProjection;
137
+ export declare function reduceMigratorEvent(state: MigratorEventProjection, event: DecodedMigratorEvent): MigratorEventProjection;
138
+ export declare function reduceLaunchpadProductInput(state: LaunchpadProductProjection, input: LaunchpadProductInput): LaunchpadProductProjection;
139
+ //# sourceMappingURL=reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"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"}