@send-fun/sdk 1.0.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/LICENSE +21 -0
- package/README.md +32 -0
- package/dist/index.cjs +12808 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +4406 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +4405 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +12749 -0
- package/dist/index.mjs.map +1 -0
- package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/package.json +72 -0
- package/src/constants.ts +38 -0
- package/src/dex/generated/accounts/globalConfig.ts +189 -0
- package/src/dex/generated/accounts/index.ts +12 -0
- package/src/dex/generated/accounts/pool.ts +244 -0
- package/src/dex/generated/accounts/rewardAccrual.ts +191 -0
- package/src/dex/generated/accounts/sendDex.accounts.ts +47 -0
- package/src/dex/generated/errors/index.ts +9 -0
- package/src/dex/generated/errors/sendDex.ts +161 -0
- package/src/dex/generated/events/anchorEventCpiDiscriminator.framing.ts +28 -0
- package/src/dex/generated/events/creatorClaimEvent.ts +119 -0
- package/src/dex/generated/events/depositQuoteEvent.ts +115 -0
- package/src/dex/generated/events/index.ts +16 -0
- package/src/dex/generated/events/poolCreateEvent.ts +128 -0
- package/src/dex/generated/events/protocolClaimEvent.ts +111 -0
- package/src/dex/generated/events/sendDex.events.ts +184 -0
- package/src/dex/generated/events/tokenCreateEvent.ts +143 -0
- package/src/dex/generated/events/tradeEvent.ts +143 -0
- package/src/dex/generated/index.ts +16 -0
- package/src/dex/generated/instructions/buyExactIn.ts +815 -0
- package/src/dex/generated/instructions/buyExactOut.ts +815 -0
- package/src/dex/generated/instructions/claimCreatorFees.ts +648 -0
- package/src/dex/generated/instructions/claimProtocolFees.ts +640 -0
- package/src/dex/generated/instructions/index.ts +15 -0
- package/src/dex/generated/instructions/sellExactIn.ts +815 -0
- package/src/dex/generated/instructions/sellExactOut.ts +815 -0
- package/src/dex/generated/instructions/sendDex.instructions.ts +173 -0
- package/src/dex/generated/pdas/eventAuthority.ts +20 -0
- package/src/dex/generated/pdas/globalConfig.ts +20 -0
- package/src/dex/generated/pdas/index.ts +14 -0
- package/src/dex/generated/pdas/lpMint.ts +36 -0
- package/src/dex/generated/pdas/pool.ts +34 -0
- package/src/dex/generated/pdas/rewardAccrual.ts +37 -0
- package/src/dex/generated/pdas/wsolRewardAccrual.ts +20 -0
- package/src/dex/generated/plugins/index.ts +9 -0
- package/src/dex/generated/plugins/sendDex.ts +282 -0
- package/src/dex/generated/programs/index.ts +9 -0
- package/src/dex/generated/programs/sendDex.ts +12 -0
- package/src/dex/generated/types/index.ts +10 -0
- package/src/dex/generated/types/poolStatus.ts +38 -0
- package/src/dex/generated/types/tradeDirection.ts +38 -0
- package/src/dex/index.ts +8 -0
- package/src/dex/trade.ts +215 -0
- package/src/index.ts +8 -0
- package/src/launchpad/create.ts +116 -0
- package/src/launchpad/generated/accounts/bondingCurve.ts +273 -0
- package/src/launchpad/generated/accounts/globalConfig.ts +211 -0
- package/src/launchpad/generated/accounts/index.ts +12 -0
- package/src/launchpad/generated/accounts/rewardAccrual.ts +191 -0
- package/src/launchpad/generated/accounts/sendLaunchpad.accounts.ts +50 -0
- package/src/launchpad/generated/errors/index.ts +9 -0
- package/src/launchpad/generated/errors/sendLaunchpad.ts +175 -0
- package/src/launchpad/generated/events/anchorEventCpiDiscriminator.framing.ts +28 -0
- package/src/launchpad/generated/events/completeEvent.ts +120 -0
- package/src/launchpad/generated/events/creatorClaimEvent.ts +122 -0
- package/src/launchpad/generated/events/index.ts +17 -0
- package/src/launchpad/generated/events/migrateEvent.ts +121 -0
- package/src/launchpad/generated/events/protocolClaimEvent.ts +114 -0
- package/src/launchpad/generated/events/recycleEvent.ts +113 -0
- package/src/launchpad/generated/events/sendLaunchpad.events.ts +207 -0
- package/src/launchpad/generated/events/tokenCreateEvent.ts +156 -0
- package/src/launchpad/generated/events/tradeEvent.ts +148 -0
- package/src/launchpad/generated/index.ts +16 -0
- package/src/launchpad/generated/instructions/buyExactIn.ts +818 -0
- package/src/launchpad/generated/instructions/buyExactOut.ts +818 -0
- package/src/launchpad/generated/instructions/claimCreatorFees.ts +651 -0
- package/src/launchpad/generated/instructions/claimProtocolFees.ts +640 -0
- package/src/launchpad/generated/instructions/createToken.ts +1150 -0
- package/src/launchpad/generated/instructions/index.ts +17 -0
- package/src/launchpad/generated/instructions/migrate.ts +840 -0
- package/src/launchpad/generated/instructions/sellExactIn.ts +818 -0
- package/src/launchpad/generated/instructions/sellExactOut.ts +818 -0
- package/src/launchpad/generated/instructions/sendLaunchpad.instructions.ts +210 -0
- package/src/launchpad/generated/pdas/bondingCurve.ts +39 -0
- package/src/launchpad/generated/pdas/eventAuthority.ts +20 -0
- package/src/launchpad/generated/pdas/globalConfig.ts +20 -0
- package/src/launchpad/generated/pdas/index.ts +14 -0
- package/src/launchpad/generated/pdas/migrationAuthority.ts +20 -0
- package/src/launchpad/generated/pdas/rewardAccrual.ts +37 -0
- package/src/launchpad/generated/pdas/wsolRewardAccrual.ts +20 -0
- package/src/launchpad/generated/plugins/index.ts +9 -0
- package/src/launchpad/generated/plugins/sendLaunchpad.ts +315 -0
- package/src/launchpad/generated/programs/index.ts +9 -0
- package/src/launchpad/generated/programs/sendLaunchpad.ts +12 -0
- package/src/launchpad/generated/types/bondingCurveStatus.ts +43 -0
- package/src/launchpad/generated/types/index.ts +10 -0
- package/src/launchpad/generated/types/tradeDirection.ts +38 -0
- package/src/launchpad/index.ts +10 -0
- package/src/launchpad/migrate.ts +54 -0
- package/src/launchpad/trade.ts +247 -0
- package/src/math/amm.ts +511 -0
- package/src/math/fee-decay.ts +49 -0
- package/src/math/fees.ts +75 -0
- package/src/math/index.ts +3 -0
- package/src/math/internal.ts +16 -0
- package/src/nexus/fee-helpers.ts +49 -0
- package/src/nexus/generated/accounts/altRegistry.ts +177 -0
- package/src/nexus/generated/accounts/creatorFeeConfig.ts +200 -0
- package/src/nexus/generated/accounts/feePreset.ts +196 -0
- package/src/nexus/generated/accounts/globalConfig.ts +188 -0
- package/src/nexus/generated/accounts/index.ts +19 -0
- package/src/nexus/generated/accounts/partnerConfig.ts +209 -0
- package/src/nexus/generated/accounts/partnerMetadata.ts +216 -0
- package/src/nexus/generated/accounts/rewardState.ts +209 -0
- package/src/nexus/generated/accounts/sendNexus.accounts.ts +85 -0
- package/src/nexus/generated/accounts/stakingConfig.ts +197 -0
- package/src/nexus/generated/accounts/userRewardDebt.ts +221 -0
- package/src/nexus/generated/accounts/userStakePosition.ts +218 -0
- package/src/nexus/generated/constants/index.ts +9 -0
- package/src/nexus/generated/constants/sendNexus.ts +13 -0
- package/src/nexus/generated/errors/index.ts +9 -0
- package/src/nexus/generated/errors/sendNexus.ts +229 -0
- package/src/nexus/generated/events/anchorEventCpiDiscriminator.framing.ts +28 -0
- package/src/nexus/generated/events/claimEvent.ts +106 -0
- package/src/nexus/generated/events/index.ts +13 -0
- package/src/nexus/generated/events/sendNexus.events.ts +121 -0
- package/src/nexus/generated/events/stakeEvent.ts +106 -0
- package/src/nexus/generated/events/unstakeEvent.ts +106 -0
- package/src/nexus/generated/index.ts +17 -0
- package/src/nexus/generated/instructions/claim.ts +740 -0
- package/src/nexus/generated/instructions/createUserRewardDebt.ts +498 -0
- package/src/nexus/generated/instructions/index.ts +14 -0
- package/src/nexus/generated/instructions/sendNexus.instructions.ts +146 -0
- package/src/nexus/generated/instructions/settle.ts +517 -0
- package/src/nexus/generated/instructions/stake.ts +615 -0
- package/src/nexus/generated/instructions/unstake.ts +593 -0
- package/src/nexus/generated/pdas/altRegistry.ts +20 -0
- package/src/nexus/generated/pdas/creatorFeeConfig.ts +39 -0
- package/src/nexus/generated/pdas/defaultFeePreset.ts +37 -0
- package/src/nexus/generated/pdas/defaultPartner.ts +40 -0
- package/src/nexus/generated/pdas/defaultPartnerMetadata.ts +42 -0
- package/src/nexus/generated/pdas/eventAuthority.ts +20 -0
- package/src/nexus/generated/pdas/feePreset.ts +39 -0
- package/src/nexus/generated/pdas/globalConfig.ts +20 -0
- package/src/nexus/generated/pdas/index.ts +22 -0
- package/src/nexus/generated/pdas/partnerConfig.ts +36 -0
- package/src/nexus/generated/pdas/partnerMetadata.ts +38 -0
- package/src/nexus/generated/pdas/rewardState.ts +36 -0
- package/src/nexus/generated/pdas/stakingConfig.ts +20 -0
- package/src/nexus/generated/pdas/userRewardDebt.ts +41 -0
- package/src/nexus/generated/pdas/userStakePosition.ts +39 -0
- package/src/nexus/generated/plugins/index.ts +9 -0
- package/src/nexus/generated/plugins/sendNexus.ts +494 -0
- package/src/nexus/generated/programs/index.ts +9 -0
- package/src/nexus/generated/programs/sendNexus.ts +12 -0
- package/src/nexus/generated/types/authPlatformEntry.ts +52 -0
- package/src/nexus/generated/types/callerType.ts +38 -0
- package/src/nexus/generated/types/dexFees.ts +64 -0
- package/src/nexus/generated/types/feeConfig.ts +73 -0
- package/src/nexus/generated/types/index.ts +13 -0
- package/src/nexus/generated/types/launchpadFees.ts +63 -0
- package/src/nexus/index.ts +9 -0
- package/src/nexus/staking.ts +581 -0
- package/src/platform.ts +19 -0
- package/src/transfer-fee.ts +216 -0
- package/src/utils/chunk.ts +21 -0
- package/src/utils/creator-hash.ts +57 -0
- package/src/utils/index.ts +9 -0
- package/src/utils/mint-info.ts +102 -0
- package/src/utils/partner.ts +5 -0
- package/src/utils/pda.ts +24 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
assertIsInstructionWithAccounts,
|
|
11
|
+
containsBytes,
|
|
12
|
+
type Address,
|
|
13
|
+
type Instruction,
|
|
14
|
+
type InstructionWithData,
|
|
15
|
+
type ReadonlyUint8Array,
|
|
16
|
+
} from '@solana/kit';
|
|
17
|
+
import { SEND_DEX_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
18
|
+
import {
|
|
19
|
+
BUY_EXACT_IN_DISCRIMINATOR,
|
|
20
|
+
parseBuyExactInInstruction,
|
|
21
|
+
type ParsedBuyExactInInstruction,
|
|
22
|
+
} from './buyExactIn.js';
|
|
23
|
+
import {
|
|
24
|
+
BUY_EXACT_OUT_DISCRIMINATOR,
|
|
25
|
+
parseBuyExactOutInstruction,
|
|
26
|
+
type ParsedBuyExactOutInstruction,
|
|
27
|
+
} from './buyExactOut.js';
|
|
28
|
+
import {
|
|
29
|
+
CLAIM_CREATOR_FEES_DISCRIMINATOR,
|
|
30
|
+
parseClaimCreatorFeesInstruction,
|
|
31
|
+
type ParsedClaimCreatorFeesInstruction,
|
|
32
|
+
} from './claimCreatorFees.js';
|
|
33
|
+
import {
|
|
34
|
+
CLAIM_PROTOCOL_FEES_DISCRIMINATOR,
|
|
35
|
+
parseClaimProtocolFeesInstruction,
|
|
36
|
+
type ParsedClaimProtocolFeesInstruction,
|
|
37
|
+
} from './claimProtocolFees.js';
|
|
38
|
+
import {
|
|
39
|
+
parseSellExactInInstruction,
|
|
40
|
+
SELL_EXACT_IN_DISCRIMINATOR,
|
|
41
|
+
type ParsedSellExactInInstruction,
|
|
42
|
+
} from './sellExactIn.js';
|
|
43
|
+
import {
|
|
44
|
+
parseSellExactOutInstruction,
|
|
45
|
+
SELL_EXACT_OUT_DISCRIMINATOR,
|
|
46
|
+
type ParsedSellExactOutInstruction,
|
|
47
|
+
} from './sellExactOut.js';
|
|
48
|
+
|
|
49
|
+
/** Instruction kinds of the sendDex program. */
|
|
50
|
+
export type SendDexInstructionType =
|
|
51
|
+
| 'buyExactIn'
|
|
52
|
+
| 'buyExactOut'
|
|
53
|
+
| 'claimCreatorFees'
|
|
54
|
+
| 'claimProtocolFees'
|
|
55
|
+
| 'sellExactIn'
|
|
56
|
+
| 'sellExactOut';
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Identifies sendDex instruction data by its discriminators.
|
|
60
|
+
* Returns `null` when the instruction is for another program or the data matches no known instruction.
|
|
61
|
+
*/
|
|
62
|
+
export function identifySendDexInstruction(
|
|
63
|
+
instruction:
|
|
64
|
+
| { data: ReadonlyUint8Array; programAddress: Address }
|
|
65
|
+
| ReadonlyUint8Array,
|
|
66
|
+
): SendDexInstructionType | null {
|
|
67
|
+
if (
|
|
68
|
+
'data' in instruction &&
|
|
69
|
+
instruction.programAddress !== SEND_DEX_PROGRAM_ADDRESS
|
|
70
|
+
)
|
|
71
|
+
return null;
|
|
72
|
+
const data = 'data' in instruction ? instruction.data : instruction;
|
|
73
|
+
if (containsBytes(data, BUY_EXACT_IN_DISCRIMINATOR, 0)) {
|
|
74
|
+
return 'buyExactIn';
|
|
75
|
+
}
|
|
76
|
+
if (containsBytes(data, BUY_EXACT_OUT_DISCRIMINATOR, 0)) {
|
|
77
|
+
return 'buyExactOut';
|
|
78
|
+
}
|
|
79
|
+
if (containsBytes(data, CLAIM_CREATOR_FEES_DISCRIMINATOR, 0)) {
|
|
80
|
+
return 'claimCreatorFees';
|
|
81
|
+
}
|
|
82
|
+
if (containsBytes(data, CLAIM_PROTOCOL_FEES_DISCRIMINATOR, 0)) {
|
|
83
|
+
return 'claimProtocolFees';
|
|
84
|
+
}
|
|
85
|
+
if (containsBytes(data, SELL_EXACT_IN_DISCRIMINATOR, 0)) {
|
|
86
|
+
return 'sellExactIn';
|
|
87
|
+
}
|
|
88
|
+
if (containsBytes(data, SELL_EXACT_OUT_DISCRIMINATOR, 0)) {
|
|
89
|
+
return 'sellExactOut';
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/** Parsed sendDex instruction: the instruction kind tag plus its parsed accounts and data. */
|
|
95
|
+
export type ParsedSendDexInstruction<
|
|
96
|
+
TProgram extends string = '84qj5FPZZdXkQy8mfowyg6RBZ3XKuTds6XS4ZYT1sfDX',
|
|
97
|
+
> =
|
|
98
|
+
| ({
|
|
99
|
+
instructionType: 'buyExactIn';
|
|
100
|
+
} & ParsedBuyExactInInstruction<TProgram>)
|
|
101
|
+
| ({
|
|
102
|
+
instructionType: 'buyExactOut';
|
|
103
|
+
} & ParsedBuyExactOutInstruction<TProgram>)
|
|
104
|
+
| ({
|
|
105
|
+
instructionType: 'claimCreatorFees';
|
|
106
|
+
} & ParsedClaimCreatorFeesInstruction<TProgram>)
|
|
107
|
+
| ({
|
|
108
|
+
instructionType: 'claimProtocolFees';
|
|
109
|
+
} & ParsedClaimProtocolFeesInstruction<TProgram>)
|
|
110
|
+
| ({
|
|
111
|
+
instructionType: 'sellExactIn';
|
|
112
|
+
} & ParsedSellExactInInstruction<TProgram>)
|
|
113
|
+
| ({
|
|
114
|
+
instructionType: 'sellExactOut';
|
|
115
|
+
} & ParsedSellExactOutInstruction<TProgram>);
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Parses a sendDex instruction into its kind tag plus parsed accounts and data.
|
|
119
|
+
* Returns `null` when the instruction is for another program or no known instruction matches;
|
|
120
|
+
* throws if a matched instruction fails to parse.
|
|
121
|
+
*/
|
|
122
|
+
export function parseSendDexInstruction<TProgram extends string>(
|
|
123
|
+
instruction: Instruction<TProgram> &
|
|
124
|
+
InstructionWithData<ReadonlyUint8Array>,
|
|
125
|
+
): ParsedSendDexInstruction<TProgram> | null {
|
|
126
|
+
if (instruction.programAddress !== SEND_DEX_PROGRAM_ADDRESS) return null;
|
|
127
|
+
const instructionType = identifySendDexInstruction(instruction);
|
|
128
|
+
if (instructionType === null) return null;
|
|
129
|
+
switch (instructionType) {
|
|
130
|
+
case 'buyExactIn': {
|
|
131
|
+
assertIsInstructionWithAccounts(instruction);
|
|
132
|
+
return {
|
|
133
|
+
instructionType: 'buyExactIn',
|
|
134
|
+
...parseBuyExactInInstruction(instruction),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
case 'buyExactOut': {
|
|
138
|
+
assertIsInstructionWithAccounts(instruction);
|
|
139
|
+
return {
|
|
140
|
+
instructionType: 'buyExactOut',
|
|
141
|
+
...parseBuyExactOutInstruction(instruction),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
case 'claimCreatorFees': {
|
|
145
|
+
assertIsInstructionWithAccounts(instruction);
|
|
146
|
+
return {
|
|
147
|
+
instructionType: 'claimCreatorFees',
|
|
148
|
+
...parseClaimCreatorFeesInstruction(instruction),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
case 'claimProtocolFees': {
|
|
152
|
+
assertIsInstructionWithAccounts(instruction);
|
|
153
|
+
return {
|
|
154
|
+
instructionType: 'claimProtocolFees',
|
|
155
|
+
...parseClaimProtocolFeesInstruction(instruction),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
case 'sellExactIn': {
|
|
159
|
+
assertIsInstructionWithAccounts(instruction);
|
|
160
|
+
return {
|
|
161
|
+
instructionType: 'sellExactIn',
|
|
162
|
+
...parseSellExactInInstruction(instruction),
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
case 'sellExactOut': {
|
|
166
|
+
assertIsInstructionWithAccounts(instruction);
|
|
167
|
+
return {
|
|
168
|
+
instructionType: 'sellExactOut',
|
|
169
|
+
...parseSellExactOutInstruction(instruction),
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type {
|
|
10
|
+
Address,
|
|
11
|
+
ProgramDerivedAddress,
|
|
12
|
+
ProgramDerivedAddressBump,
|
|
13
|
+
} from '@solana/kit';
|
|
14
|
+
|
|
15
|
+
export const EVENT_AUTHORITY_PDA_ADDRESS =
|
|
16
|
+
'4pTDYKRFdmxTQYFceGZkzPGd3kb8ShMA9n6XKRaPZn8t' as Address<'4pTDYKRFdmxTQYFceGZkzPGd3kb8ShMA9n6XKRaPZn8t'>;
|
|
17
|
+
|
|
18
|
+
export function findEventAuthorityPda(): ProgramDerivedAddress {
|
|
19
|
+
return [EVENT_AUTHORITY_PDA_ADDRESS, 255 as ProgramDerivedAddressBump];
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type {
|
|
10
|
+
Address,
|
|
11
|
+
ProgramDerivedAddress,
|
|
12
|
+
ProgramDerivedAddressBump,
|
|
13
|
+
} from '@solana/kit';
|
|
14
|
+
|
|
15
|
+
export const GLOBAL_CONFIG_PDA_ADDRESS =
|
|
16
|
+
'EzwCCwXhnp9DERXBmMw6gfZxHYBtBQYaC5FjCnuKbivA' as Address<'EzwCCwXhnp9DERXBmMw6gfZxHYBtBQYaC5FjCnuKbivA'>;
|
|
17
|
+
|
|
18
|
+
export function findGlobalConfigPda(): ProgramDerivedAddress {
|
|
19
|
+
return [GLOBAL_CONFIG_PDA_ADDRESS, 254 as ProgramDerivedAddressBump];
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export * from './eventAuthority.js';
|
|
10
|
+
export * from './globalConfig.js';
|
|
11
|
+
export * from './lpMint.js';
|
|
12
|
+
export * from './pool.js';
|
|
13
|
+
export * from './rewardAccrual.js';
|
|
14
|
+
export * from './wsolRewardAccrual.js';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
getAddressEncoder,
|
|
11
|
+
getBytesEncoder,
|
|
12
|
+
getProgramDerivedAddress,
|
|
13
|
+
type Address,
|
|
14
|
+
type ProgramDerivedAddress,
|
|
15
|
+
} from '@solana/kit';
|
|
16
|
+
import { SEND_DEX_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
17
|
+
|
|
18
|
+
export type LpMintSeeds = {
|
|
19
|
+
baseMint: Address;
|
|
20
|
+
quoteMint: Address;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export async function findLpMintPda(
|
|
24
|
+
seeds: LpMintSeeds,
|
|
25
|
+
): Promise<ProgramDerivedAddress> {
|
|
26
|
+
return await getProgramDerivedAddress({
|
|
27
|
+
programAddress: SEND_DEX_PROGRAM_ADDRESS,
|
|
28
|
+
seeds: [
|
|
29
|
+
getBytesEncoder().encode(
|
|
30
|
+
new Uint8Array([108, 112, 95, 109, 105, 110, 116]),
|
|
31
|
+
),
|
|
32
|
+
getAddressEncoder().encode(seeds.baseMint),
|
|
33
|
+
getAddressEncoder().encode(seeds.quoteMint),
|
|
34
|
+
],
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
getAddressEncoder,
|
|
11
|
+
getBytesEncoder,
|
|
12
|
+
getProgramDerivedAddress,
|
|
13
|
+
type Address,
|
|
14
|
+
type ProgramDerivedAddress,
|
|
15
|
+
} from '@solana/kit';
|
|
16
|
+
import { SEND_DEX_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
17
|
+
|
|
18
|
+
export type PoolSeeds = {
|
|
19
|
+
baseMint: Address;
|
|
20
|
+
quoteMint: Address;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export async function findPoolPda(
|
|
24
|
+
seeds: PoolSeeds,
|
|
25
|
+
): Promise<ProgramDerivedAddress> {
|
|
26
|
+
return await getProgramDerivedAddress({
|
|
27
|
+
programAddress: SEND_DEX_PROGRAM_ADDRESS,
|
|
28
|
+
seeds: [
|
|
29
|
+
getBytesEncoder().encode(new Uint8Array([112, 111, 111, 108])),
|
|
30
|
+
getAddressEncoder().encode(seeds.baseMint),
|
|
31
|
+
getAddressEncoder().encode(seeds.quoteMint),
|
|
32
|
+
],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
getAddressEncoder,
|
|
11
|
+
getBytesEncoder,
|
|
12
|
+
getProgramDerivedAddress,
|
|
13
|
+
type Address,
|
|
14
|
+
type ProgramDerivedAddress,
|
|
15
|
+
} from '@solana/kit';
|
|
16
|
+
import { SEND_DEX_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
17
|
+
|
|
18
|
+
export type RewardAccrualSeeds = {
|
|
19
|
+
quoteMint: Address;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export async function findRewardAccrualPda(
|
|
23
|
+
seeds: RewardAccrualSeeds,
|
|
24
|
+
): Promise<ProgramDerivedAddress> {
|
|
25
|
+
return await getProgramDerivedAddress({
|
|
26
|
+
programAddress: SEND_DEX_PROGRAM_ADDRESS,
|
|
27
|
+
seeds: [
|
|
28
|
+
getBytesEncoder().encode(
|
|
29
|
+
new Uint8Array([
|
|
30
|
+
114, 101, 119, 97, 114, 100, 95, 97, 99, 99, 114, 117, 97,
|
|
31
|
+
108,
|
|
32
|
+
]),
|
|
33
|
+
),
|
|
34
|
+
getAddressEncoder().encode(seeds.quoteMint),
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type {
|
|
10
|
+
Address,
|
|
11
|
+
ProgramDerivedAddress,
|
|
12
|
+
ProgramDerivedAddressBump,
|
|
13
|
+
} from '@solana/kit';
|
|
14
|
+
|
|
15
|
+
export const WSOL_REWARD_ACCRUAL_PDA_ADDRESS =
|
|
16
|
+
'3AvcBtMajsyeNufVwkxV7UNXWo6G1qkJmCpiXx1HcFg8' as Address<'3AvcBtMajsyeNufVwkxV7UNXWo6G1qkJmCpiXx1HcFg8'>;
|
|
17
|
+
|
|
18
|
+
export function findWsolRewardAccrualPda(): ProgramDerivedAddress {
|
|
19
|
+
return [WSOL_REWARD_ACCRUAL_PDA_ADDRESS, 255 as ProgramDerivedAddressBump];
|
|
20
|
+
}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
extendClient,
|
|
11
|
+
type ClientWithPayer,
|
|
12
|
+
type ClientWithRpc,
|
|
13
|
+
type ClientWithTransactionPlanning,
|
|
14
|
+
type ClientWithTransactionSending,
|
|
15
|
+
type ExtendedClient,
|
|
16
|
+
type GetAccountInfoApi,
|
|
17
|
+
type GetMultipleAccountsApi,
|
|
18
|
+
} from '@solana/kit';
|
|
19
|
+
import {
|
|
20
|
+
addSelfPlanAndSendFunctions,
|
|
21
|
+
type SelfFetchFunctions,
|
|
22
|
+
type SelfPlanAndSendFunctions,
|
|
23
|
+
} from '@solana/program-client-core';
|
|
24
|
+
import {
|
|
25
|
+
fetchAllGlobalConfig,
|
|
26
|
+
fetchAllMaybeGlobalConfig,
|
|
27
|
+
fetchAllMaybePool,
|
|
28
|
+
fetchAllMaybeRewardAccrual,
|
|
29
|
+
fetchAllPool,
|
|
30
|
+
fetchAllRewardAccrual,
|
|
31
|
+
fetchGlobalConfig,
|
|
32
|
+
fetchMaybeGlobalConfig,
|
|
33
|
+
fetchMaybePool,
|
|
34
|
+
fetchMaybeRewardAccrual,
|
|
35
|
+
fetchPool,
|
|
36
|
+
fetchRewardAccrual,
|
|
37
|
+
getGlobalConfigCodec,
|
|
38
|
+
getPoolCodec,
|
|
39
|
+
getRewardAccrualCodec,
|
|
40
|
+
identifySendDexAccount,
|
|
41
|
+
type GlobalConfig,
|
|
42
|
+
type GlobalConfigArgs,
|
|
43
|
+
type Pool,
|
|
44
|
+
type PoolArgs,
|
|
45
|
+
type RewardAccrual,
|
|
46
|
+
type RewardAccrualArgs,
|
|
47
|
+
} from '../accounts/index.js';
|
|
48
|
+
import {
|
|
49
|
+
getCreatorClaimEventDecoder,
|
|
50
|
+
getDepositQuoteEventDecoder,
|
|
51
|
+
getPoolCreateEventDecoder,
|
|
52
|
+
getProtocolClaimEventDecoder,
|
|
53
|
+
getTokenCreateEventDecoder,
|
|
54
|
+
getTradeEventDecoder,
|
|
55
|
+
} from '../events/index.js';
|
|
56
|
+
import {
|
|
57
|
+
getBuyExactInInstructionAsync,
|
|
58
|
+
getBuyExactOutInstructionAsync,
|
|
59
|
+
getClaimCreatorFeesInstructionAsync,
|
|
60
|
+
getClaimProtocolFeesInstructionAsync,
|
|
61
|
+
getSellExactInInstructionAsync,
|
|
62
|
+
getSellExactOutInstructionAsync,
|
|
63
|
+
identifySendDexInstruction,
|
|
64
|
+
parseSendDexInstruction,
|
|
65
|
+
type BuyExactInAsyncInput,
|
|
66
|
+
type BuyExactOutAsyncInput,
|
|
67
|
+
type ClaimCreatorFeesAsyncInput,
|
|
68
|
+
type ClaimProtocolFeesAsyncInput,
|
|
69
|
+
type SellExactInAsyncInput,
|
|
70
|
+
type SellExactOutAsyncInput,
|
|
71
|
+
} from '../instructions/index.js';
|
|
72
|
+
import {
|
|
73
|
+
findEventAuthorityPda,
|
|
74
|
+
findGlobalConfigPda,
|
|
75
|
+
findLpMintPda,
|
|
76
|
+
findPoolPda,
|
|
77
|
+
findRewardAccrualPda,
|
|
78
|
+
findWsolRewardAccrualPda,
|
|
79
|
+
} from '../pdas/index.js';
|
|
80
|
+
|
|
81
|
+
export type SendDexPlugin = {
|
|
82
|
+
accounts: SendDexPluginAccounts;
|
|
83
|
+
events: SendDexPluginEvents;
|
|
84
|
+
instructions: SendDexPluginInstructions;
|
|
85
|
+
pdas: SendDexPluginPdas;
|
|
86
|
+
identifyAccount: typeof identifySendDexAccount;
|
|
87
|
+
identifyInstruction: typeof identifySendDexInstruction;
|
|
88
|
+
parseInstruction: typeof parseSendDexInstruction;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export type SendDexPluginAccounts = {
|
|
92
|
+
globalConfig: ReturnType<typeof getGlobalConfigCodec> &
|
|
93
|
+
SelfFetchFunctions<GlobalConfigArgs, GlobalConfig>;
|
|
94
|
+
pool: ReturnType<typeof getPoolCodec> & SelfFetchFunctions<PoolArgs, Pool>;
|
|
95
|
+
rewardAccrual: ReturnType<typeof getRewardAccrualCodec> &
|
|
96
|
+
SelfFetchFunctions<RewardAccrualArgs, RewardAccrual>;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export type SendDexPluginEvents = {
|
|
100
|
+
creatorClaimEvent: ReturnType<typeof getCreatorClaimEventDecoder>;
|
|
101
|
+
depositQuoteEvent: ReturnType<typeof getDepositQuoteEventDecoder>;
|
|
102
|
+
poolCreateEvent: ReturnType<typeof getPoolCreateEventDecoder>;
|
|
103
|
+
protocolClaimEvent: ReturnType<typeof getProtocolClaimEventDecoder>;
|
|
104
|
+
tokenCreateEvent: ReturnType<typeof getTokenCreateEventDecoder>;
|
|
105
|
+
tradeEvent: ReturnType<typeof getTradeEventDecoder>;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export type SendDexPluginInstructions = {
|
|
109
|
+
buyExactIn: (
|
|
110
|
+
input: MakeOptional<BuyExactInAsyncInput, 'payer'>,
|
|
111
|
+
) => ReturnType<typeof getBuyExactInInstructionAsync> &
|
|
112
|
+
SelfPlanAndSendFunctions;
|
|
113
|
+
buyExactOut: (
|
|
114
|
+
input: MakeOptional<BuyExactOutAsyncInput, 'payer'>,
|
|
115
|
+
) => ReturnType<typeof getBuyExactOutInstructionAsync> &
|
|
116
|
+
SelfPlanAndSendFunctions;
|
|
117
|
+
claimCreatorFees: (
|
|
118
|
+
input: MakeOptional<ClaimCreatorFeesAsyncInput, 'payer'>,
|
|
119
|
+
) => ReturnType<typeof getClaimCreatorFeesInstructionAsync> &
|
|
120
|
+
SelfPlanAndSendFunctions;
|
|
121
|
+
claimProtocolFees: (
|
|
122
|
+
input: MakeOptional<ClaimProtocolFeesAsyncInput, 'payer'>,
|
|
123
|
+
) => ReturnType<typeof getClaimProtocolFeesInstructionAsync> &
|
|
124
|
+
SelfPlanAndSendFunctions;
|
|
125
|
+
sellExactIn: (
|
|
126
|
+
input: MakeOptional<SellExactInAsyncInput, 'payer'>,
|
|
127
|
+
) => ReturnType<typeof getSellExactInInstructionAsync> &
|
|
128
|
+
SelfPlanAndSendFunctions;
|
|
129
|
+
sellExactOut: (
|
|
130
|
+
input: MakeOptional<SellExactOutAsyncInput, 'payer'>,
|
|
131
|
+
) => ReturnType<typeof getSellExactOutInstructionAsync> &
|
|
132
|
+
SelfPlanAndSendFunctions;
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
export type SendDexPluginPdas = {
|
|
136
|
+
pool: typeof findPoolPda;
|
|
137
|
+
eventAuthority: typeof findEventAuthorityPda;
|
|
138
|
+
rewardAccrual: typeof findRewardAccrualPda;
|
|
139
|
+
globalConfig: typeof findGlobalConfigPda;
|
|
140
|
+
lpMint: typeof findLpMintPda;
|
|
141
|
+
wsolRewardAccrual: typeof findWsolRewardAccrualPda;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export type SendDexPluginRequirements = ClientWithRpc<
|
|
145
|
+
GetAccountInfoApi & GetMultipleAccountsApi
|
|
146
|
+
> &
|
|
147
|
+
ClientWithPayer &
|
|
148
|
+
ClientWithTransactionPlanning &
|
|
149
|
+
ClientWithTransactionSending;
|
|
150
|
+
|
|
151
|
+
export function sendDexProgram() {
|
|
152
|
+
return <T extends SendDexPluginRequirements>(
|
|
153
|
+
client: T,
|
|
154
|
+
): ExtendedClient<T, { sendDex: SendDexPlugin }> => {
|
|
155
|
+
return extendClient(client, {
|
|
156
|
+
sendDex: <SendDexPlugin>{
|
|
157
|
+
accounts: {
|
|
158
|
+
globalConfig: Object.freeze({
|
|
159
|
+
...getGlobalConfigCodec(),
|
|
160
|
+
fetch: (address, config) =>
|
|
161
|
+
fetchGlobalConfig(client.rpc, address, config),
|
|
162
|
+
fetchAll: (addresses, config) =>
|
|
163
|
+
fetchAllGlobalConfig(client.rpc, addresses, config),
|
|
164
|
+
fetchAllMaybe: (addresses, config) =>
|
|
165
|
+
fetchAllMaybeGlobalConfig(
|
|
166
|
+
client.rpc,
|
|
167
|
+
addresses,
|
|
168
|
+
config,
|
|
169
|
+
),
|
|
170
|
+
fetchMaybe: (address, config) =>
|
|
171
|
+
fetchMaybeGlobalConfig(client.rpc, address, config),
|
|
172
|
+
}),
|
|
173
|
+
pool: Object.freeze({
|
|
174
|
+
...getPoolCodec(),
|
|
175
|
+
fetch: (address, config) =>
|
|
176
|
+
fetchPool(client.rpc, address, config),
|
|
177
|
+
fetchAll: (addresses, config) =>
|
|
178
|
+
fetchAllPool(client.rpc, addresses, config),
|
|
179
|
+
fetchAllMaybe: (addresses, config) =>
|
|
180
|
+
fetchAllMaybePool(client.rpc, addresses, config),
|
|
181
|
+
fetchMaybe: (address, config) =>
|
|
182
|
+
fetchMaybePool(client.rpc, address, config),
|
|
183
|
+
}),
|
|
184
|
+
rewardAccrual: Object.freeze({
|
|
185
|
+
...getRewardAccrualCodec(),
|
|
186
|
+
fetch: (address, config) =>
|
|
187
|
+
fetchRewardAccrual(client.rpc, address, config),
|
|
188
|
+
fetchAll: (addresses, config) =>
|
|
189
|
+
fetchAllRewardAccrual(
|
|
190
|
+
client.rpc,
|
|
191
|
+
addresses,
|
|
192
|
+
config,
|
|
193
|
+
),
|
|
194
|
+
fetchAllMaybe: (addresses, config) =>
|
|
195
|
+
fetchAllMaybeRewardAccrual(
|
|
196
|
+
client.rpc,
|
|
197
|
+
addresses,
|
|
198
|
+
config,
|
|
199
|
+
),
|
|
200
|
+
fetchMaybe: (address, config) =>
|
|
201
|
+
fetchMaybeRewardAccrual(
|
|
202
|
+
client.rpc,
|
|
203
|
+
address,
|
|
204
|
+
config,
|
|
205
|
+
),
|
|
206
|
+
}),
|
|
207
|
+
},
|
|
208
|
+
events: {
|
|
209
|
+
creatorClaimEvent: getCreatorClaimEventDecoder(),
|
|
210
|
+
depositQuoteEvent: getDepositQuoteEventDecoder(),
|
|
211
|
+
poolCreateEvent: getPoolCreateEventDecoder(),
|
|
212
|
+
protocolClaimEvent: getProtocolClaimEventDecoder(),
|
|
213
|
+
tokenCreateEvent: getTokenCreateEventDecoder(),
|
|
214
|
+
tradeEvent: getTradeEventDecoder(),
|
|
215
|
+
},
|
|
216
|
+
instructions: {
|
|
217
|
+
buyExactIn: (input) =>
|
|
218
|
+
addSelfPlanAndSendFunctions(
|
|
219
|
+
client,
|
|
220
|
+
getBuyExactInInstructionAsync({
|
|
221
|
+
...input,
|
|
222
|
+
payer: input.payer ?? client.payer,
|
|
223
|
+
}),
|
|
224
|
+
),
|
|
225
|
+
buyExactOut: (input) =>
|
|
226
|
+
addSelfPlanAndSendFunctions(
|
|
227
|
+
client,
|
|
228
|
+
getBuyExactOutInstructionAsync({
|
|
229
|
+
...input,
|
|
230
|
+
payer: input.payer ?? client.payer,
|
|
231
|
+
}),
|
|
232
|
+
),
|
|
233
|
+
claimCreatorFees: (input) =>
|
|
234
|
+
addSelfPlanAndSendFunctions(
|
|
235
|
+
client,
|
|
236
|
+
getClaimCreatorFeesInstructionAsync({
|
|
237
|
+
...input,
|
|
238
|
+
payer: input.payer ?? client.payer,
|
|
239
|
+
}),
|
|
240
|
+
),
|
|
241
|
+
claimProtocolFees: (input) =>
|
|
242
|
+
addSelfPlanAndSendFunctions(
|
|
243
|
+
client,
|
|
244
|
+
getClaimProtocolFeesInstructionAsync({
|
|
245
|
+
...input,
|
|
246
|
+
payer: input.payer ?? client.payer,
|
|
247
|
+
}),
|
|
248
|
+
),
|
|
249
|
+
sellExactIn: (input) =>
|
|
250
|
+
addSelfPlanAndSendFunctions(
|
|
251
|
+
client,
|
|
252
|
+
getSellExactInInstructionAsync({
|
|
253
|
+
...input,
|
|
254
|
+
payer: input.payer ?? client.payer,
|
|
255
|
+
}),
|
|
256
|
+
),
|
|
257
|
+
sellExactOut: (input) =>
|
|
258
|
+
addSelfPlanAndSendFunctions(
|
|
259
|
+
client,
|
|
260
|
+
getSellExactOutInstructionAsync({
|
|
261
|
+
...input,
|
|
262
|
+
payer: input.payer ?? client.payer,
|
|
263
|
+
}),
|
|
264
|
+
),
|
|
265
|
+
},
|
|
266
|
+
pdas: {
|
|
267
|
+
pool: findPoolPda,
|
|
268
|
+
eventAuthority: findEventAuthorityPda,
|
|
269
|
+
rewardAccrual: findRewardAccrualPda,
|
|
270
|
+
globalConfig: findGlobalConfigPda,
|
|
271
|
+
lpMint: findLpMintPda,
|
|
272
|
+
wsolRewardAccrual: findWsolRewardAccrualPda,
|
|
273
|
+
},
|
|
274
|
+
identifyAccount: identifySendDexAccount,
|
|
275
|
+
identifyInstruction: identifySendDexInstruction,
|
|
276
|
+
parseInstruction: parseSendDexInstruction,
|
|
277
|
+
},
|
|
278
|
+
});
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
type MakeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { Address } from '@solana/kit';
|
|
10
|
+
|
|
11
|
+
export const SEND_DEX_PROGRAM_ADDRESS =
|
|
12
|
+
'84qj5FPZZdXkQy8mfowyg6RBZ3XKuTds6XS4ZYT1sfDX' as Address<'84qj5FPZZdXkQy8mfowyg6RBZ3XKuTds6XS4ZYT1sfDX'>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export * from './poolStatus.js';
|
|
10
|
+
export * from './tradeDirection.js';
|