@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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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":"AACA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,SAAS,EAAY,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,OAAO,cAAc;IACT,QAAQ,CAAiB;IACzB,SAAS,CAAY;IACrB,cAAc,CAAiB;IAC/B,sBAAsB,CAAyB;IAE/D,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC,YAAY,CAAC;YAChE,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,EACzB,QAAQ,GAGT;QACC,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,
|
|
1
|
+
{"version":3,"file":"FutarchyClient.js","sourceRoot":"","sources":["../../src/v0.3/FutarchyClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,SAAS,EAAY,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,OAAO,cAAc;IACT,QAAQ,CAAiB;IACzB,SAAS,CAAY;IACrB,cAAc,CAAiB;IAC/B,sBAAsB,CAAyB;IAE/D,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC,YAAY,CAAC;YAChE,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,EACzB,QAAQ,GAGT;QACC,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,EAC/B,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,EACP,iBAAiB,GAWlB;QACC,MAAM,CAAC,SAAS,CAAC,GAAG,YAAY,CAC9B,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,EAClD,QAAQ,EACR,QAAQ,CACT,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,GAAG,YAAY,CAC/B,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,EAClD,QAAQ,EACR,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,GAAG;YACzD,CAAC,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC;YACzB,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE1B,IAAI,MAA+B,CAAC;QAEpC,qDAAqD;QACrD,0EAA0E;QAC1E,iHAAiH;QACjH,IACE,CAAC,iBAAiB;YAClB,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EACxD;YACA,MAAM,UAAU,GAAG,iBAAiB;gBAClC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBACpC,CAAC,CAAC,WAAW,CAAC;YAEhB,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB;iBACvC,uBAAuB,CACtB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,IAAI,EACJ,KAAK,CACN;iBACA,WAAW,EAAE,CAAC;SAClB;QAED,MAAM,CAAC,KAAK,CAAC,GAAG,wBAAwB,CACtC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,EAClD,UAAU,CACX,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,GAAG,wBAAwB,CACtC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,EAClD,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,GAAG,sBAAsB,CACpC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,EAClD,UAAU,CACX,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,GAAG,sBAAsB,CACpC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,SAAS,EAClD,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAChC,KAAK,EACL,KAAK,CACN,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,GAAG,UAAU,CAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAChC,KAAK,EACL,KAAK,CACN,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,GACvC,OAAO,KAAK,MAAM;YAChB,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC;YAC5B,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS;aAChC,MAAM,CACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,IAAI,EAAE,CAAC,CAAC,CAAC,EACT,IAAI,EACJ,KAAK,CACN;aACA,WAAW,EAAE,CAAC;QAEjB,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metadaoproject/futarchy",
|
|
3
|
-
"version": "0.4.0-alpha.
|
|
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
|
],
|