@metadaoproject/futarchy 0.4.0-alpha.33 → 0.4.0-alpha.34
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/package.json +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/v0.3/AmmClient.d.ts +0 -223
- package/dist/v0.3/AmmClient.js +0 -186
- package/dist/v0.3/AmmClient.js.map +0 -1
- package/dist/v0.3/AutocratClient.d.ts +0 -234
- package/dist/v0.3/AutocratClient.js +0 -270
- package/dist/v0.3/AutocratClient.js.map +0 -1
- package/dist/v0.3/ConditionalVaultClient.d.ts +0 -281
- package/dist/v0.3/ConditionalVaultClient.js +0 -135
- package/dist/v0.3/ConditionalVaultClient.js.map +0 -1
- package/dist/v0.3/FutarchyClient.d.ts +0 -26
- package/dist/v0.3/FutarchyClient.js +0 -47
- package/dist/v0.3/FutarchyClient.js.map +0 -1
- package/dist/v0.3/constants.d.ts +0 -9
- package/dist/v0.3/constants.js +0 -10
- package/dist/v0.3/constants.js.map +0 -1
- package/dist/v0.3/index.d.ts +0 -7
- package/dist/v0.3/index.js +0 -8
- package/dist/v0.3/index.js.map +0 -1
- package/dist/v0.3/types/amm.d.ts +0 -542
- package/dist/v0.3/types/amm.js +0 -542
- package/dist/v0.3/types/amm.js.map +0 -1
- package/dist/v0.3/types/autocrat.d.ts +0 -632
- package/dist/v0.3/types/autocrat.js +0 -632
- package/dist/v0.3/types/autocrat.js.map +0 -1
- package/dist/v0.3/types/conditional_vault.d.ts +0 -448
- package/dist/v0.3/types/conditional_vault.js +0 -448
- package/dist/v0.3/types/conditional_vault.js.map +0 -1
- package/dist/v0.3/types/index.d.ts +0 -21
- package/dist/v0.3/types/index.js +0 -4
- package/dist/v0.3/types/index.js.map +0 -1
- package/dist/v0.3/types/utils.d.ts +0 -3
- package/dist/v0.3/types/utils.js +0 -2
- package/dist/v0.3/types/utils.js.map +0 -1
- package/dist/v0.3/utils/ammMath.d.ts +0 -39
- package/dist/v0.3/utils/ammMath.js +0 -142
- package/dist/v0.3/utils/ammMath.js.map +0 -1
- package/dist/v0.3/utils/cu.d.ts +0 -10
- package/dist/v0.3/utils/cu.js +0 -11
- package/dist/v0.3/utils/cu.js.map +0 -1
- package/dist/v0.3/utils/filters.d.ts +0 -3
- package/dist/v0.3/utils/filters.js +0 -14
- package/dist/v0.3/utils/filters.js.map +0 -1
- package/dist/v0.3/utils/index.d.ts +0 -16
- package/dist/v0.3/utils/index.js +0 -30
- package/dist/v0.3/utils/index.js.map +0 -1
- package/dist/v0.3/utils/instruction.d.ts +0 -4
- package/dist/v0.3/utils/instruction.js +0 -10
- package/dist/v0.3/utils/instruction.js.map +0 -1
- package/dist/v0.3/utils/metadata.d.ts +0 -4
- package/dist/v0.3/utils/metadata.js +0 -26
- package/dist/v0.3/utils/metadata.js.map +0 -1
- package/dist/v0.3/utils/pda.d.ts +0 -10
- package/dist/v0.3/utils/pda.js +0 -47
- package/dist/v0.3/utils/pda.js.map +0 -1
- package/dist/v0.4/AmmClient.d.ts +0 -266
- package/dist/v0.4/AmmClient.js +0 -186
- package/dist/v0.4/AmmClient.js.map +0 -1
- package/dist/v0.4/AutocratClient.d.ts +0 -234
- package/dist/v0.4/AutocratClient.js +0 -377
- package/dist/v0.4/AutocratClient.js.map +0 -1
- package/dist/v0.4/ConditionalVaultClient.d.ts +0 -315
- package/dist/v0.4/ConditionalVaultClient.js +0 -209
- package/dist/v0.4/ConditionalVaultClient.js.map +0 -1
- package/dist/v0.4/constants.d.ts +0 -9
- package/dist/v0.4/constants.js +0 -10
- package/dist/v0.4/constants.js.map +0 -1
- package/dist/v0.4/index.d.ts +0 -6
- package/dist/v0.4/index.js +0 -7
- package/dist/v0.4/index.js.map +0 -1
- package/dist/v0.4/types/amm.d.ts +0 -813
- package/dist/v0.4/types/amm.js +0 -813
- package/dist/v0.4/types/amm.js.map +0 -1
- package/dist/v0.4/types/autocrat.d.ts +0 -641
- package/dist/v0.4/types/autocrat.js +0 -641
- package/dist/v0.4/types/autocrat.js.map +0 -1
- package/dist/v0.4/types/conditional_vault.d.ts +0 -920
- package/dist/v0.4/types/conditional_vault.js +0 -920
- package/dist/v0.4/types/conditional_vault.js.map +0 -1
- package/dist/v0.4/types/index.d.ts +0 -30
- package/dist/v0.4/types/index.js +0 -7
- package/dist/v0.4/types/index.js.map +0 -1
- package/dist/v0.4/types/utils.d.ts +0 -3
- package/dist/v0.4/types/utils.js +0 -2
- package/dist/v0.4/types/utils.js.map +0 -1
- package/dist/v0.4/utils/cu.d.ts +0 -10
- package/dist/v0.4/utils/cu.js +0 -11
- package/dist/v0.4/utils/cu.js.map +0 -1
- package/dist/v0.4/utils/filters.d.ts +0 -3
- package/dist/v0.4/utils/filters.js +0 -14
- package/dist/v0.4/utils/filters.js.map +0 -1
- package/dist/v0.4/utils/index.d.ts +0 -16
- package/dist/v0.4/utils/index.js +0 -30
- package/dist/v0.4/utils/index.js.map +0 -1
- package/dist/v0.4/utils/instruction.d.ts +0 -4
- package/dist/v0.4/utils/instruction.js +0 -10
- package/dist/v0.4/utils/instruction.js.map +0 -1
- package/dist/v0.4/utils/metadata.d.ts +0 -4
- package/dist/v0.4/utils/metadata.js +0 -26
- package/dist/v0.4/utils/metadata.js.map +0 -1
- package/dist/v0.4/utils/pda.d.ts +0 -17
- package/dist/v0.4/utils/pda.js +0 -75
- package/dist/v0.4/utils/pda.js.map +0 -1
- package/dist/v0.4/utils/priceMath.d.ts +0 -54
- package/dist/v0.4/utils/priceMath.js +0 -116
- package/dist/v0.4/utils/priceMath.js.map +0 -1
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { Program } from "@coral-xyz/anchor";
|
|
2
|
-
import { IDL as ConditionalVaultIDL, } from "./types/conditional_vault.js";
|
|
3
|
-
import BN from "bn.js";
|
|
4
|
-
import { CONDITIONAL_VAULT_PROGRAM_ID, MPL_TOKEN_METADATA_PROGRAM_ID, } from "./constants.js";
|
|
5
|
-
import { getMetadataAddr, getVaultAddr, getVaultFinalizeMintAddr, getVaultRevertMintAddr, } from "./utils/index.js";
|
|
6
|
-
import { createAssociatedTokenAccountIdempotentInstruction, getAssociatedTokenAddressSync, } from "@solana/spl-token";
|
|
7
|
-
export class ConditionalVaultClient {
|
|
8
|
-
provider;
|
|
9
|
-
vaultProgram;
|
|
10
|
-
luts;
|
|
11
|
-
constructor(provider, conditionalVaultProgramId, luts) {
|
|
12
|
-
this.provider = provider;
|
|
13
|
-
this.vaultProgram = new Program(ConditionalVaultIDL, conditionalVaultProgramId, provider);
|
|
14
|
-
this.luts = luts;
|
|
15
|
-
}
|
|
16
|
-
static createClient(createVaultClientParams) {
|
|
17
|
-
let { provider, conditionalVaultProgramId } = createVaultClientParams;
|
|
18
|
-
const luts = [];
|
|
19
|
-
return new ConditionalVaultClient(provider, conditionalVaultProgramId || CONDITIONAL_VAULT_PROGRAM_ID, luts);
|
|
20
|
-
}
|
|
21
|
-
async getVault(vault) {
|
|
22
|
-
return this.vaultProgram.account.conditionalVault.fetch(vault);
|
|
23
|
-
}
|
|
24
|
-
async mintConditionalTokens(vault, uiAmount, user = this.provider.publicKey) {
|
|
25
|
-
const storedVault = await this.getVault(vault);
|
|
26
|
-
return (this.mintConditionalTokensIx(vault, storedVault.underlyingTokenMint, new BN(uiAmount).mul(new BN(10).pow(new BN(storedVault.decimals))), user)
|
|
27
|
-
// .preInstructions([
|
|
28
|
-
// createAssociatedTokenAccountIdempotentInstruction(this.provider.publicKey, )
|
|
29
|
-
// ])
|
|
30
|
-
.rpc());
|
|
31
|
-
}
|
|
32
|
-
mintConditionalTokensIx(vault, underlyingTokenMint, amount, user = this.provider.publicKey, payer = this.provider.publicKey) {
|
|
33
|
-
const [conditionalOnFinalizeTokenMint] = getVaultFinalizeMintAddr(this.vaultProgram.programId, vault);
|
|
34
|
-
const [conditionalOnRevertTokenMint] = getVaultRevertMintAddr(this.vaultProgram.programId, vault);
|
|
35
|
-
let userConditionalOnFinalizeTokenAccount = getAssociatedTokenAddressSync(conditionalOnFinalizeTokenMint, user);
|
|
36
|
-
let userConditionalOnRevertTokenAccount = getAssociatedTokenAddressSync(conditionalOnRevertTokenMint, user);
|
|
37
|
-
let ix = this.vaultProgram.methods
|
|
38
|
-
.mintConditionalTokens(amount)
|
|
39
|
-
.accounts({
|
|
40
|
-
authority: user,
|
|
41
|
-
vault,
|
|
42
|
-
vaultUnderlyingTokenAccount: getAssociatedTokenAddressSync(underlyingTokenMint, vault, true),
|
|
43
|
-
userUnderlyingTokenAccount: getAssociatedTokenAddressSync(underlyingTokenMint, user, true),
|
|
44
|
-
conditionalOnFinalizeTokenMint,
|
|
45
|
-
userConditionalOnFinalizeTokenAccount,
|
|
46
|
-
conditionalOnRevertTokenMint,
|
|
47
|
-
userConditionalOnRevertTokenAccount,
|
|
48
|
-
})
|
|
49
|
-
.preInstructions([
|
|
50
|
-
createAssociatedTokenAccountIdempotentInstruction(payer, userConditionalOnFinalizeTokenAccount, user, conditionalOnFinalizeTokenMint),
|
|
51
|
-
createAssociatedTokenAccountIdempotentInstruction(payer, userConditionalOnRevertTokenAccount, user, conditionalOnRevertTokenMint),
|
|
52
|
-
]);
|
|
53
|
-
return ix;
|
|
54
|
-
}
|
|
55
|
-
initializeVaultIx(settlementAuthority, underlyingTokenMint, payer = this.provider.publicKey) {
|
|
56
|
-
const [vault] = getVaultAddr(this.vaultProgram.programId, settlementAuthority, underlyingTokenMint);
|
|
57
|
-
const [conditionalOnFinalizeTokenMint] = getVaultFinalizeMintAddr(this.vaultProgram.programId, vault);
|
|
58
|
-
const [conditionalOnRevertTokenMint] = getVaultRevertMintAddr(this.vaultProgram.programId, vault);
|
|
59
|
-
const vaultUnderlyingTokenAccount = getAssociatedTokenAddressSync(underlyingTokenMint, vault, true);
|
|
60
|
-
return this.vaultProgram.methods
|
|
61
|
-
.initializeConditionalVault({ settlementAuthority })
|
|
62
|
-
.accounts({
|
|
63
|
-
vault,
|
|
64
|
-
underlyingTokenMint,
|
|
65
|
-
vaultUnderlyingTokenAccount,
|
|
66
|
-
conditionalOnFinalizeTokenMint,
|
|
67
|
-
conditionalOnRevertTokenMint,
|
|
68
|
-
})
|
|
69
|
-
.preInstructions([
|
|
70
|
-
createAssociatedTokenAccountIdempotentInstruction(payer, vaultUnderlyingTokenAccount, vault, underlyingTokenMint),
|
|
71
|
-
]);
|
|
72
|
-
}
|
|
73
|
-
addMetadataToConditionalTokensIx(vault, underlyingTokenMint, proposalNumber, onFinalizeUri, onRevertUri, payer = this.provider.publicKey) {
|
|
74
|
-
const [underlyingTokenMetadata] = getMetadataAddr(underlyingTokenMint);
|
|
75
|
-
const [conditionalOnFinalizeTokenMint] = getVaultFinalizeMintAddr(this.vaultProgram.programId, vault);
|
|
76
|
-
const [conditionalOnRevertTokenMint] = getVaultRevertMintAddr(this.vaultProgram.programId, vault);
|
|
77
|
-
const [conditionalOnFinalizeTokenMetadata] = getMetadataAddr(conditionalOnFinalizeTokenMint);
|
|
78
|
-
const [conditionalOnRevertTokenMetadata] = getMetadataAddr(conditionalOnRevertTokenMint);
|
|
79
|
-
return this.vaultProgram.methods
|
|
80
|
-
.addMetadataToConditionalTokens({
|
|
81
|
-
proposalNumber: new BN(proposalNumber),
|
|
82
|
-
onFinalizeUri,
|
|
83
|
-
onRevertUri,
|
|
84
|
-
})
|
|
85
|
-
.accounts({
|
|
86
|
-
payer,
|
|
87
|
-
vault,
|
|
88
|
-
underlyingTokenMint,
|
|
89
|
-
underlyingTokenMetadata,
|
|
90
|
-
conditionalOnFinalizeTokenMint,
|
|
91
|
-
conditionalOnRevertTokenMint,
|
|
92
|
-
conditionalOnFinalizeTokenMetadata,
|
|
93
|
-
conditionalOnRevertTokenMetadata,
|
|
94
|
-
tokenMetadataProgram: MPL_TOKEN_METADATA_PROGRAM_ID,
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
redeemConditionalTokensIx(vault, underlyingTokenMint, user = this.provider.publicKey) {
|
|
98
|
-
const [conditionalOnFinalizeTokenMint] = getVaultFinalizeMintAddr(this.vaultProgram.programId, vault);
|
|
99
|
-
const [conditionalOnRevertTokenMint] = getVaultRevertMintAddr(this.vaultProgram.programId, vault);
|
|
100
|
-
return this.vaultProgram.methods
|
|
101
|
-
.redeemConditionalTokensForUnderlyingTokens()
|
|
102
|
-
.accounts({
|
|
103
|
-
authority: user,
|
|
104
|
-
vault,
|
|
105
|
-
vaultUnderlyingTokenAccount: getAssociatedTokenAddressSync(underlyingTokenMint, vault, true),
|
|
106
|
-
userUnderlyingTokenAccount: getAssociatedTokenAddressSync(underlyingTokenMint, user, true),
|
|
107
|
-
conditionalOnFinalizeTokenMint,
|
|
108
|
-
userConditionalOnFinalizeTokenAccount: getAssociatedTokenAddressSync(conditionalOnFinalizeTokenMint, user),
|
|
109
|
-
conditionalOnRevertTokenMint,
|
|
110
|
-
userConditionalOnRevertTokenAccount: getAssociatedTokenAddressSync(conditionalOnRevertTokenMint, user),
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
mergeConditionalTokensIx(vault, underlyingTokenMint, amount, user = this.provider.publicKey) {
|
|
114
|
-
const [conditionalOnFinalizeTokenMint] = getVaultFinalizeMintAddr(this.vaultProgram.programId, vault);
|
|
115
|
-
const [conditionalOnRevertTokenMint] = getVaultRevertMintAddr(this.vaultProgram.programId, vault);
|
|
116
|
-
return this.vaultProgram.methods
|
|
117
|
-
.mergeConditionalTokensForUnderlyingTokens(amount)
|
|
118
|
-
.accounts({
|
|
119
|
-
authority: user,
|
|
120
|
-
vault,
|
|
121
|
-
vaultUnderlyingTokenAccount: getAssociatedTokenAddressSync(underlyingTokenMint, vault, true),
|
|
122
|
-
userUnderlyingTokenAccount: getAssociatedTokenAddressSync(underlyingTokenMint, user, true),
|
|
123
|
-
conditionalOnFinalizeTokenMint,
|
|
124
|
-
userConditionalOnFinalizeTokenAccount: getAssociatedTokenAddressSync(conditionalOnFinalizeTokenMint, user),
|
|
125
|
-
conditionalOnRevertTokenMint,
|
|
126
|
-
userConditionalOnRevertTokenAccount: getAssociatedTokenAddressSync(conditionalOnRevertTokenMint, user),
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
async initializeVault(settlementAuthority, underlyingTokenMint, payer = this.provider.publicKey) {
|
|
130
|
-
const [vault] = getVaultAddr(this.vaultProgram.programId, settlementAuthority, underlyingTokenMint);
|
|
131
|
-
await this.initializeVaultIx(settlementAuthority, underlyingTokenMint, payer).rpc();
|
|
132
|
-
return vault;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=ConditionalVaultClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalVaultClient.js","sourceRoot":"","sources":["../../src/v0.3/ConditionalVaultClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { AnchorProvider } from "@coral-xyz/anchor";
|
|
2
|
-
import { PublicKey, Transaction } from "@solana/web3.js";
|
|
3
|
-
import BN from "bn.js";
|
|
4
|
-
import { AmmClient, SwapType } from "./AmmClient.js";
|
|
5
|
-
import { AutocratClient } from "./AutocratClient.js";
|
|
6
|
-
import { ConditionalVaultClient } from "./ConditionalVaultClient.js";
|
|
7
|
-
export declare class FutarchyClient {
|
|
8
|
-
readonly provider: AnchorProvider;
|
|
9
|
-
readonly ammClient: AmmClient;
|
|
10
|
-
readonly autocratClient: AutocratClient;
|
|
11
|
-
readonly conditionalVaultClient: ConditionalVaultClient;
|
|
12
|
-
constructor(provider: AnchorProvider);
|
|
13
|
-
static createClient({ provider, }: {
|
|
14
|
-
provider: AnchorProvider;
|
|
15
|
-
}): FutarchyClient;
|
|
16
|
-
createMintAndSwapTx({ proposal, inputAmount, quoteMint, baseMint, user, payer, swapType, outcome, }: {
|
|
17
|
-
proposal: PublicKey;
|
|
18
|
-
inputAmount: BN;
|
|
19
|
-
quoteMint: PublicKey;
|
|
20
|
-
baseMint: PublicKey;
|
|
21
|
-
user: PublicKey;
|
|
22
|
-
payer: PublicKey;
|
|
23
|
-
swapType: SwapType;
|
|
24
|
-
outcome: "pass" | "fail";
|
|
25
|
-
}): Promise<Transaction>;
|
|
26
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Transaction } from "@solana/web3.js";
|
|
2
|
-
import BN from "bn.js";
|
|
3
|
-
import { AmmClient } from "./AmmClient.js";
|
|
4
|
-
import { AutocratClient } from "./AutocratClient.js";
|
|
5
|
-
import { ConditionalVaultClient } from "./ConditionalVaultClient.js";
|
|
6
|
-
import { getAmmAddr, getVaultAddr, getVaultFinalizeMintAddr, getVaultRevertMintAddr, } from "./utils/pda.js";
|
|
7
|
-
export class FutarchyClient {
|
|
8
|
-
provider;
|
|
9
|
-
ammClient;
|
|
10
|
-
autocratClient;
|
|
11
|
-
conditionalVaultClient;
|
|
12
|
-
constructor(provider) {
|
|
13
|
-
this.provider = provider;
|
|
14
|
-
this.ammClient = AmmClient.createClient({ provider });
|
|
15
|
-
this.autocratClient = AutocratClient.createClient({ provider });
|
|
16
|
-
this.conditionalVaultClient = ConditionalVaultClient.createClient({
|
|
17
|
-
provider,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
static createClient({ provider, }) {
|
|
21
|
-
return new FutarchyClient(provider);
|
|
22
|
-
}
|
|
23
|
-
async createMintAndSwapTx({ proposal, inputAmount, quoteMint, baseMint, user, payer, swapType, outcome, }) {
|
|
24
|
-
const [baseVault] = getVaultAddr(this.conditionalVaultClient.vaultProgram.programId, proposal, baseMint);
|
|
25
|
-
const [quoteVault] = getVaultAddr(this.conditionalVaultClient.vaultProgram.programId, proposal, quoteMint);
|
|
26
|
-
const [underlyingVault, underlyingTokenMint] = swapType.buy
|
|
27
|
-
? [quoteVault, quoteMint]
|
|
28
|
-
: [baseVault, baseMint];
|
|
29
|
-
const mintTx = await this.conditionalVaultClient
|
|
30
|
-
.mintConditionalTokensIx(underlyingVault, underlyingTokenMint, inputAmount, user, payer)
|
|
31
|
-
.transaction();
|
|
32
|
-
const [pUSDC] = getVaultFinalizeMintAddr(this.conditionalVaultClient.vaultProgram.programId, quoteVault);
|
|
33
|
-
const [pTOKE] = getVaultFinalizeMintAddr(this.conditionalVaultClient.vaultProgram.programId, baseVault);
|
|
34
|
-
const [fUSDC] = getVaultRevertMintAddr(this.conditionalVaultClient.vaultProgram.programId, quoteVault);
|
|
35
|
-
const [fTOKE] = getVaultRevertMintAddr(this.conditionalVaultClient.vaultProgram.programId, baseVault);
|
|
36
|
-
const [passMarket] = getAmmAddr(this.ammClient.program.programId, pTOKE, pUSDC);
|
|
37
|
-
const [failMarket] = getAmmAddr(this.ammClient.program.programId, fTOKE, fUSDC);
|
|
38
|
-
const [market, ammBaseMint, ammQuoteMint] = outcome === "pass"
|
|
39
|
-
? [passMarket, pTOKE, pUSDC]
|
|
40
|
-
: [failMarket, fTOKE, fUSDC];
|
|
41
|
-
const swapTx = await this.ammClient
|
|
42
|
-
.swapIx(market, ammBaseMint, ammQuoteMint, swapType, inputAmount, new BN(0), user, payer)
|
|
43
|
-
.transaction();
|
|
44
|
-
return new Transaction().add(mintTx, swapTx);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=FutarchyClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FutarchyClient.js","sourceRoot":"","sources":["../../src/v0.3/FutarchyClient.ts"],"names":[],"mappings":"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"}
|
package/dist/v0.3/constants.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PublicKey } from "@solana/web3.js";
|
|
2
|
-
export declare const AUTOCRAT_PROGRAM_ID: PublicKey;
|
|
3
|
-
export declare const AMM_PROGRAM_ID: PublicKey;
|
|
4
|
-
export declare const CONDITIONAL_VAULT_PROGRAM_ID: PublicKey;
|
|
5
|
-
export declare const MPL_TOKEN_METADATA_PROGRAM_ID: PublicKey;
|
|
6
|
-
export declare const META_MINT: PublicKey;
|
|
7
|
-
export declare const MAINNET_USDC: PublicKey;
|
|
8
|
-
export declare const USDC_DECIMALS = 6;
|
|
9
|
-
export declare const AUTOCRAT_LUTS: PublicKey[];
|
package/dist/v0.3/constants.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { PublicKey } from "@solana/web3.js";
|
|
2
|
-
export const AUTOCRAT_PROGRAM_ID = new PublicKey("autoQP9RmUNkzzKRXsMkWicDVZ3h29vvyMDcAYjCxxg");
|
|
3
|
-
export const AMM_PROGRAM_ID = new PublicKey("AMM5G2nxuKUwCLRYTW7qqEwuoqCtNSjtbipwEmm2g8bH");
|
|
4
|
-
export const CONDITIONAL_VAULT_PROGRAM_ID = new PublicKey("VAU1T7S5UuEHmMvXtXMVmpEoQtZ2ya7eRb7gcN47wDp");
|
|
5
|
-
export const MPL_TOKEN_METADATA_PROGRAM_ID = new PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
|
|
6
|
-
export const META_MINT = new PublicKey("3gN1WVEJwSHNWjo7hr87DgZp6zkf8kWgAJD29DmfE2Gr");
|
|
7
|
-
export const MAINNET_USDC = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
|
|
8
|
-
export const USDC_DECIMALS = 6;
|
|
9
|
-
export const AUTOCRAT_LUTS = [];
|
|
10
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/v0.3/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAC9C,6CAA6C,CAC9C,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CACzC,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,SAAS,CACvD,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,SAAS,CACxD,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,SAAS,CACpC,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,SAAS,CACvC,8CAA8C,CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAgB,EAAE,CAAC"}
|
package/dist/v0.3/index.d.ts
DELETED
package/dist/v0.3/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./types/index.js";
|
|
2
|
-
export * from "./utils/index.js";
|
|
3
|
-
export * from "./constants.js";
|
|
4
|
-
export * from "./AmmClient.js";
|
|
5
|
-
export * from "./AutocratClient.js";
|
|
6
|
-
export * from "./ConditionalVaultClient.js";
|
|
7
|
-
export * from "./FutarchyClient.js";
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/v0.3/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v0.3/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC"}
|