@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.
Files changed (109) hide show
  1. package/package.json +1 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -2
  4. package/dist/index.js.map +0 -1
  5. package/dist/v0.3/AmmClient.d.ts +0 -223
  6. package/dist/v0.3/AmmClient.js +0 -186
  7. package/dist/v0.3/AmmClient.js.map +0 -1
  8. package/dist/v0.3/AutocratClient.d.ts +0 -234
  9. package/dist/v0.3/AutocratClient.js +0 -270
  10. package/dist/v0.3/AutocratClient.js.map +0 -1
  11. package/dist/v0.3/ConditionalVaultClient.d.ts +0 -281
  12. package/dist/v0.3/ConditionalVaultClient.js +0 -135
  13. package/dist/v0.3/ConditionalVaultClient.js.map +0 -1
  14. package/dist/v0.3/FutarchyClient.d.ts +0 -26
  15. package/dist/v0.3/FutarchyClient.js +0 -47
  16. package/dist/v0.3/FutarchyClient.js.map +0 -1
  17. package/dist/v0.3/constants.d.ts +0 -9
  18. package/dist/v0.3/constants.js +0 -10
  19. package/dist/v0.3/constants.js.map +0 -1
  20. package/dist/v0.3/index.d.ts +0 -7
  21. package/dist/v0.3/index.js +0 -8
  22. package/dist/v0.3/index.js.map +0 -1
  23. package/dist/v0.3/types/amm.d.ts +0 -542
  24. package/dist/v0.3/types/amm.js +0 -542
  25. package/dist/v0.3/types/amm.js.map +0 -1
  26. package/dist/v0.3/types/autocrat.d.ts +0 -632
  27. package/dist/v0.3/types/autocrat.js +0 -632
  28. package/dist/v0.3/types/autocrat.js.map +0 -1
  29. package/dist/v0.3/types/conditional_vault.d.ts +0 -448
  30. package/dist/v0.3/types/conditional_vault.js +0 -448
  31. package/dist/v0.3/types/conditional_vault.js.map +0 -1
  32. package/dist/v0.3/types/index.d.ts +0 -21
  33. package/dist/v0.3/types/index.js +0 -4
  34. package/dist/v0.3/types/index.js.map +0 -1
  35. package/dist/v0.3/types/utils.d.ts +0 -3
  36. package/dist/v0.3/types/utils.js +0 -2
  37. package/dist/v0.3/types/utils.js.map +0 -1
  38. package/dist/v0.3/utils/ammMath.d.ts +0 -39
  39. package/dist/v0.3/utils/ammMath.js +0 -142
  40. package/dist/v0.3/utils/ammMath.js.map +0 -1
  41. package/dist/v0.3/utils/cu.d.ts +0 -10
  42. package/dist/v0.3/utils/cu.js +0 -11
  43. package/dist/v0.3/utils/cu.js.map +0 -1
  44. package/dist/v0.3/utils/filters.d.ts +0 -3
  45. package/dist/v0.3/utils/filters.js +0 -14
  46. package/dist/v0.3/utils/filters.js.map +0 -1
  47. package/dist/v0.3/utils/index.d.ts +0 -16
  48. package/dist/v0.3/utils/index.js +0 -30
  49. package/dist/v0.3/utils/index.js.map +0 -1
  50. package/dist/v0.3/utils/instruction.d.ts +0 -4
  51. package/dist/v0.3/utils/instruction.js +0 -10
  52. package/dist/v0.3/utils/instruction.js.map +0 -1
  53. package/dist/v0.3/utils/metadata.d.ts +0 -4
  54. package/dist/v0.3/utils/metadata.js +0 -26
  55. package/dist/v0.3/utils/metadata.js.map +0 -1
  56. package/dist/v0.3/utils/pda.d.ts +0 -10
  57. package/dist/v0.3/utils/pda.js +0 -47
  58. package/dist/v0.3/utils/pda.js.map +0 -1
  59. package/dist/v0.4/AmmClient.d.ts +0 -266
  60. package/dist/v0.4/AmmClient.js +0 -186
  61. package/dist/v0.4/AmmClient.js.map +0 -1
  62. package/dist/v0.4/AutocratClient.d.ts +0 -234
  63. package/dist/v0.4/AutocratClient.js +0 -377
  64. package/dist/v0.4/AutocratClient.js.map +0 -1
  65. package/dist/v0.4/ConditionalVaultClient.d.ts +0 -315
  66. package/dist/v0.4/ConditionalVaultClient.js +0 -209
  67. package/dist/v0.4/ConditionalVaultClient.js.map +0 -1
  68. package/dist/v0.4/constants.d.ts +0 -9
  69. package/dist/v0.4/constants.js +0 -10
  70. package/dist/v0.4/constants.js.map +0 -1
  71. package/dist/v0.4/index.d.ts +0 -6
  72. package/dist/v0.4/index.js +0 -7
  73. package/dist/v0.4/index.js.map +0 -1
  74. package/dist/v0.4/types/amm.d.ts +0 -813
  75. package/dist/v0.4/types/amm.js +0 -813
  76. package/dist/v0.4/types/amm.js.map +0 -1
  77. package/dist/v0.4/types/autocrat.d.ts +0 -641
  78. package/dist/v0.4/types/autocrat.js +0 -641
  79. package/dist/v0.4/types/autocrat.js.map +0 -1
  80. package/dist/v0.4/types/conditional_vault.d.ts +0 -920
  81. package/dist/v0.4/types/conditional_vault.js +0 -920
  82. package/dist/v0.4/types/conditional_vault.js.map +0 -1
  83. package/dist/v0.4/types/index.d.ts +0 -30
  84. package/dist/v0.4/types/index.js +0 -7
  85. package/dist/v0.4/types/index.js.map +0 -1
  86. package/dist/v0.4/types/utils.d.ts +0 -3
  87. package/dist/v0.4/types/utils.js +0 -2
  88. package/dist/v0.4/types/utils.js.map +0 -1
  89. package/dist/v0.4/utils/cu.d.ts +0 -10
  90. package/dist/v0.4/utils/cu.js +0 -11
  91. package/dist/v0.4/utils/cu.js.map +0 -1
  92. package/dist/v0.4/utils/filters.d.ts +0 -3
  93. package/dist/v0.4/utils/filters.js +0 -14
  94. package/dist/v0.4/utils/filters.js.map +0 -1
  95. package/dist/v0.4/utils/index.d.ts +0 -16
  96. package/dist/v0.4/utils/index.js +0 -30
  97. package/dist/v0.4/utils/index.js.map +0 -1
  98. package/dist/v0.4/utils/instruction.d.ts +0 -4
  99. package/dist/v0.4/utils/instruction.js +0 -10
  100. package/dist/v0.4/utils/instruction.js.map +0 -1
  101. package/dist/v0.4/utils/metadata.d.ts +0 -4
  102. package/dist/v0.4/utils/metadata.js +0 -26
  103. package/dist/v0.4/utils/metadata.js.map +0 -1
  104. package/dist/v0.4/utils/pda.d.ts +0 -17
  105. package/dist/v0.4/utils/pda.js +0 -75
  106. package/dist/v0.4/utils/pda.js.map +0 -1
  107. package/dist/v0.4/utils/priceMath.d.ts +0 -54
  108. package/dist/v0.4/utils/priceMath.js +0 -116
  109. 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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"}
@@ -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[];
@@ -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"}
@@ -1,7 +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";
@@ -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
@@ -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"}