@metadaoproject/futarchy 0.4.0-alpha.33 → 0.4.0-alpha.35

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.
@@ -13,7 +13,7 @@ export declare class FutarchyClient {
13
13
  static createClient({ provider, }: {
14
14
  provider: AnchorProvider;
15
15
  }): FutarchyClient;
16
- createMintAndSwapTx({ proposal, inputAmount, quoteMint, baseMint, user, payer, swapType, outcome, }: {
16
+ createMintAndSwapTx({ proposal, inputAmount, quoteMint, baseMint, user, payer, swapType, outcome, conditionalAmount, }: {
17
17
  proposal: PublicKey;
18
18
  inputAmount: BN;
19
19
  quoteMint: PublicKey;
@@ -22,5 +22,6 @@ export declare class FutarchyClient {
22
22
  payer: PublicKey;
23
23
  swapType: SwapType;
24
24
  outcome: "pass" | "fail";
25
+ conditionalAmount?: BN;
25
26
  }): Promise<Transaction>;
26
27
  }
@@ -20,15 +20,25 @@ export class FutarchyClient {
20
20
  static createClient({ provider, }) {
21
21
  return new FutarchyClient(provider);
22
22
  }
23
- async createMintAndSwapTx({ proposal, inputAmount, quoteMint, baseMint, user, payer, swapType, outcome, }) {
23
+ async createMintAndSwapTx({ proposal, inputAmount, quoteMint, baseMint, user, payer, swapType, outcome, conditionalAmount, }) {
24
24
  const [baseVault] = getVaultAddr(this.conditionalVaultClient.vaultProgram.programId, proposal, baseMint);
25
25
  const [quoteVault] = getVaultAddr(this.conditionalVaultClient.vaultProgram.programId, proposal, quoteMint);
26
26
  const [underlyingVault, underlyingTokenMint] = swapType.buy
27
27
  ? [quoteVault, quoteMint]
28
28
  : [baseVault, baseMint];
29
- const mintTx = await this.conditionalVaultClient
30
- .mintConditionalTokensIx(underlyingVault, underlyingTokenMint, inputAmount, user, payer)
31
- .transaction();
29
+ let mintTx;
30
+ // Check to see if we need to mint conditional tokens
31
+ // If conditionalAmount is not passed we will mint all of the input amount
32
+ // If conditionalAmount is passed we will mint the difference between the input amount and the conditional amount
33
+ if (!conditionalAmount ||
34
+ (conditionalAmount && conditionalAmount.lt(inputAmount))) {
35
+ const mintAmount = conditionalAmount
36
+ ? inputAmount.sub(conditionalAmount)
37
+ : inputAmount;
38
+ mintTx = await this.conditionalVaultClient
39
+ .mintConditionalTokensIx(underlyingVault, underlyingTokenMint, mintAmount, user, payer)
40
+ .transaction();
41
+ }
32
42
  const [pUSDC] = getVaultFinalizeMintAddr(this.conditionalVaultClient.vaultProgram.programId, quoteVault);
33
43
  const [pTOKE] = getVaultFinalizeMintAddr(this.conditionalVaultClient.vaultProgram.programId, baseVault);
34
44
  const [fUSDC] = getVaultRevertMintAddr(this.conditionalVaultClient.vaultProgram.programId, quoteVault);
@@ -41,7 +51,7 @@ export class FutarchyClient {
41
51
  const swapTx = await this.ammClient
42
52
  .swapIx(market, ammBaseMint, ammQuoteMint, swapType, inputAmount, new BN(0), user, payer)
43
53
  .transaction();
44
- return new Transaction().add(mintTx, swapTx);
54
+ return mintTx ? new Transaction().add(mintTx, swapTx) : swapTx;
45
55
  }
46
56
  }
47
57
  //# sourceMappingURL=FutarchyClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FutarchyClient.js","sourceRoot":"","sources":["../../src/v0.3/FutarchyClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FutarchyClient.js","sourceRoot":"","sources":["../../src/v0.3/FutarchyClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@metadaoproject/futarchy",
3
- "version": "0.4.0-alpha.33",
3
+ "version": "0.4.0-alpha.35",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "license": "BSL-1.0",
8
9
  "files": [
9
10
  "/dist"
10
11
  ],