@bench.games/conviction-markets 0.1.2 → 0.1.3
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/dist/instructions/buyMarketShares.d.ts.map +1 -1
- package/dist/instructions/buyMarketShares.js +8 -15
- package/dist/instructions/buyMarketShares.js.map +1 -1
- package/dist/instructions/claimVoteTokens.d.ts.map +1 -1
- package/dist/instructions/claimVoteTokens.js +7 -9
- package/dist/instructions/claimVoteTokens.js.map +1 -1
- package/dist/instructions/createMarket.d.ts.map +1 -1
- package/dist/instructions/createMarket.js +7 -9
- package/dist/instructions/createMarket.js.map +1 -1
- package/dist/instructions/initVoteTokenAccount.d.ts.map +1 -1
- package/dist/instructions/initVoteTokenAccount.js +7 -9
- package/dist/instructions/initVoteTokenAccount.js.map +1 -1
- package/dist/instructions/mintVoteTokens.d.ts.map +1 -1
- package/dist/instructions/mintVoteTokens.js +7 -9
- package/dist/instructions/mintVoteTokens.js.map +1 -1
- package/dist/instructions/revealShares.d.ts.map +1 -1
- package/dist/instructions/revealShares.js +8 -11
- package/dist/instructions/revealShares.js.map +1 -1
- package/dist/utils/arcium.d.ts +62 -1
- package/dist/utils/arcium.d.ts.map +1 -1
- package/dist/utils/arcium.js +92 -2
- package/dist/utils/arcium.js.map +1 -1
- package/dist/utils/encryption.d.ts +5 -9
- package/dist/utils/encryption.d.ts.map +1 -1
- package/dist/utils/encryption.js +8 -13
- package/dist/utils/encryption.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyMarketShares.d.ts","sourceRoot":"","sources":["../../src/instructions/buyMarketShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"buyMarketShares.d.ts","sourceRoot":"","sources":["../../src/instructions/buyMarketShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAiB9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yBAAyB;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,2CAA2C;IAC3C,iBAAiB,EAAE,aAAa,CAAC;IACjC,kCAAkC;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC;IACpB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,4BAA4B,CAAC,EAAE,UAAU,CAAC;IAC1C,mDAAmD;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,+BAA+B;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,gEAAgE;IAChE,iBAAiB,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAqEhC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Program } from "@coral-xyz/anchor";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { deriveShareAccountPda, generateComputationOffset, generateNonce, nonceToU128, createEncryptionContext, encryptBuySharesInput, ARCIUM_CLUSTER_OFFSET, getClusterAddress, } from "../utils";
|
|
2
|
+
import { PROGRAM_ID } from "../constants";
|
|
3
|
+
import { deriveShareAccountPda, generateComputationOffset, generateNonce, nonceToU128, createEncryptionContext, encryptBuySharesInput, ARCIUM_CLUSTER_OFFSET, CLUSTER_ADDRESS, MXE_ADDRESS, MEMPOOL_ADDRESS, EXECUTING_POOL_ADDRESS, COMP_DEF_ADDRESSES, getComputationAccAddress, } from "../utils";
|
|
5
4
|
import IDL from "../idl/conviction_market.json";
|
|
6
5
|
/**
|
|
7
6
|
* Builds a transaction to buy market shares with encrypted input
|
|
@@ -18,12 +17,6 @@ import IDL from "../idl/conviction_market.json";
|
|
|
18
17
|
export async function buyMarketShares(provider, params) {
|
|
19
18
|
const programId = params.programId ?? PROGRAM_ID;
|
|
20
19
|
const program = new Program(IDL, provider);
|
|
21
|
-
const clusterAccount = getClusterAddress();
|
|
22
|
-
// Get MXE public key for encryption
|
|
23
|
-
const mxePublicKey = await getMXEPublicKey(provider, programId);
|
|
24
|
-
if (!mxePublicKey) {
|
|
25
|
-
throw new Error("Failed to fetch MXE public key");
|
|
26
|
-
}
|
|
27
20
|
// Derive share account
|
|
28
21
|
const [shareAccountPda] = deriveShareAccountPda(params.signer, params.market, programId);
|
|
29
22
|
// Auto-generate computation offset and nonces
|
|
@@ -33,7 +26,7 @@ export async function buyMarketShares(provider, params) {
|
|
|
33
26
|
const disclosureNonce = generateNonce();
|
|
34
27
|
const disclosureNonceBN = nonceToU128(disclosureNonce);
|
|
35
28
|
// Create encryption context and encrypt inputs
|
|
36
|
-
const encryptionContext = createEncryptionContext(params.userX25519Keypair
|
|
29
|
+
const encryptionContext = createEncryptionContext(params.userX25519Keypair);
|
|
37
30
|
const amountBigInt = typeof params.amount === "number"
|
|
38
31
|
? BigInt(params.amount)
|
|
39
32
|
: BigInt(params.amount.toString());
|
|
@@ -45,11 +38,11 @@ export async function buyMarketShares(provider, params) {
|
|
|
45
38
|
.accountsPartial({
|
|
46
39
|
market: params.market,
|
|
47
40
|
computationAccount: getComputationAccAddress(ARCIUM_CLUSTER_OFFSET, computationOffset),
|
|
48
|
-
clusterAccount,
|
|
49
|
-
mxeAccount:
|
|
50
|
-
mempoolAccount:
|
|
51
|
-
executingPool:
|
|
52
|
-
compDefAccount:
|
|
41
|
+
clusterAccount: CLUSTER_ADDRESS,
|
|
42
|
+
mxeAccount: MXE_ADDRESS,
|
|
43
|
+
mempoolAccount: MEMPOOL_ADDRESS,
|
|
44
|
+
executingPool: EXECUTING_POOL_ADDRESS,
|
|
45
|
+
compDefAccount: COMP_DEF_ADDRESSES.BUY_CONVICTION_MARKET_SHARES,
|
|
53
46
|
})
|
|
54
47
|
.transaction();
|
|
55
48
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyMarketShares.js","sourceRoot":"","sources":["../../src/instructions/buyMarketShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,OAAO,
|
|
1
|
+
{"version":3,"file":"buyMarketShares.js","sourceRoot":"","sources":["../../src/instructions/buyMarketShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,OAAO,GAAG,MAAM,+BAA+B,CAAC;AAmChD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAwB,EACxB,MAA6B;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,GAAuB,EACvB,QAAQ,CACoB,CAAC;IAE/B,uBAAuB;IACvB,MAAM,CAAC,eAAe,CAAC,GAAG,qBAAqB,CAC7C,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb,SAAS,CACV,CAAC;IAEF,8CAA8C;IAC9C,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;IACtD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,aAAa,EAAE,CAAC;IACxC,MAAM,iBAAiB,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAEvD,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE5E,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QAC/B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvC,MAAM,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,GAAG,qBAAqB,CAC1E,iBAAiB,EACjB,YAAY,EACZ,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAC7B,UAAU,CACX,CAAC;IAEF,wDAAwD;IACxD,MAAM,sBAAsB,GAC1B,MAAM,CAAC,4BAA4B,IAAI,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAE5E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO;SACtC,eAAe,CACd,iBAAiB,EACjB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAC5B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,EACpC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC9C,YAAY,EACZ,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAClC,iBAAiB,CAClB;SACA,eAAe,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,kBAAkB,EAAE,wBAAwB,CAC1C,qBAAqB,EACrB,iBAAiB,CAClB;QACD,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,sBAAsB;QACrC,cAAc,EAAE,kBAAkB,CAAC,4BAA4B;KAChE,CAAC;SACD,WAAW,EAAE,CAAC;IAEjB,OAAO;QACL,WAAW;QACX,eAAe;QACf,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimVoteTokens.d.ts","sourceRoot":"","sources":["../../src/instructions/claimVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"claimVoteTokens.d.ts","sourceRoot":"","sources":["../../src/instructions/claimVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,MAAM,EAAE,SAAS,CAAC;IAClB,2CAA2C;IAC3C,iBAAiB,EAAE,aAAa,CAAC;IACjC,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,oCAAoC;IACpC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,gEAAgE;IAChE,iBAAiB,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CA+ChC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Program, BN } from "@coral-xyz/anchor";
|
|
2
2
|
import { SystemProgram } from "@solana/web3.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { deriveVoteTokenAccountPda, generateComputationOffset, ARCIUM_CLUSTER_OFFSET, getClusterAddress, } from "../utils";
|
|
3
|
+
import { PROGRAM_ID } from "../constants";
|
|
4
|
+
import { deriveVoteTokenAccountPda, generateComputationOffset, ARCIUM_CLUSTER_OFFSET, CLUSTER_ADDRESS, MXE_ADDRESS, MEMPOOL_ADDRESS, EXECUTING_POOL_ADDRESS, COMP_DEF_ADDRESSES, getComputationAccAddress, } from "../utils";
|
|
6
5
|
import IDL from "../idl/conviction_market.json";
|
|
7
6
|
/**
|
|
8
7
|
* Builds a transaction to claim (sell) vote tokens for SOL
|
|
@@ -18,7 +17,6 @@ import IDL from "../idl/conviction_market.json";
|
|
|
18
17
|
export async function claimVoteTokens(provider, params) {
|
|
19
18
|
const programId = params.programId ?? PROGRAM_ID;
|
|
20
19
|
const program = new Program(IDL, provider);
|
|
21
|
-
const clusterAccount = getClusterAddress();
|
|
22
20
|
// Derive vote token account PDA
|
|
23
21
|
const [voteTokenAccountPda] = deriveVoteTokenAccountPda(params.signer, programId);
|
|
24
22
|
// Auto-generate computation offset
|
|
@@ -31,11 +29,11 @@ export async function claimVoteTokens(provider, params) {
|
|
|
31
29
|
signer: params.signer,
|
|
32
30
|
voteTokenAccount: voteTokenAccountPda,
|
|
33
31
|
computationAccount: getComputationAccAddress(ARCIUM_CLUSTER_OFFSET, computationOffset),
|
|
34
|
-
clusterAccount,
|
|
35
|
-
mxeAccount:
|
|
36
|
-
mempoolAccount:
|
|
37
|
-
executingPool:
|
|
38
|
-
compDefAccount:
|
|
32
|
+
clusterAccount: CLUSTER_ADDRESS,
|
|
33
|
+
mxeAccount: MXE_ADDRESS,
|
|
34
|
+
mempoolAccount: MEMPOOL_ADDRESS,
|
|
35
|
+
executingPool: EXECUTING_POOL_ADDRESS,
|
|
36
|
+
compDefAccount: COMP_DEF_ADDRESSES.CLAIM_VOTE_TOKENS,
|
|
39
37
|
systemProgram: SystemProgram.programId,
|
|
40
38
|
})
|
|
41
39
|
.transaction();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimVoteTokens.js","sourceRoot":"","sources":["../../src/instructions/claimVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"claimVoteTokens.js","sourceRoot":"","sources":["../../src/instructions/claimVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,OAAO,GAAG,MAAM,+BAA+B,CAAC;AA6BhD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAwB,EACxB,MAA6B;IAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,GAAuB,EACvB,QAAQ,CACoB,CAAC;IAE/B,gCAAgC;IAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,yBAAyB,CACrD,MAAM,CAAC,MAAM,EACb,SAAS,CACV,CAAC;IAEF,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;IAEtD,uBAAuB;IACvB,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAE5E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO;SACtC,eAAe,CACd,iBAAiB,EACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC9C,QAAQ,CACT;SACA,eAAe,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,mBAAmB;QACrC,kBAAkB,EAAE,wBAAwB,CAC1C,qBAAqB,EACrB,iBAAiB,CAClB;QACD,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,sBAAsB;QACrC,cAAc,EAAE,kBAAkB,CAAC,iBAAiB;QACpD,aAAa,EAAE,aAAa,CAAC,SAAS;KACvC,CAAC;SACD,WAAW,EAAE,CAAC;IAEjB,OAAO;QACL,WAAW;QACX,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMarket.d.ts","sourceRoot":"","sources":["../../src/instructions/createMarket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"createMarket.d.ts","sourceRoot":"","sources":["../../src/instructions/createMarket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAkB7E;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,OAAO,EAAE,SAAS,CAAC;IACnB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC;IACzB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;IACvB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,GAAG,EAAE,CAAC;IAC5B,4CAA4C;IAC5C,WAAW,EAAE,MAAM,GAAG,EAAE,CAAC;IACzB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC;IAC1B,wDAAwD;IACxD,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,mDAAmD;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,gCAAgC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,iBAAiB,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA0E7B"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Program, BN } from "@coral-xyz/anchor";
|
|
2
2
|
import { SystemProgram } from "@solana/web3.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { deriveMarketPda, generateComputationOffset, generateNonce, nonceToU128, ARCIUM_CLUSTER_OFFSET, getClusterAddress, } from "../utils";
|
|
3
|
+
import { PROGRAM_ID } from "../constants";
|
|
4
|
+
import { deriveMarketPda, generateComputationOffset, generateNonce, nonceToU128, ARCIUM_CLUSTER_OFFSET, CLUSTER_ADDRESS, MXE_ADDRESS, MEMPOOL_ADDRESS, EXECUTING_POOL_ADDRESS, COMP_DEF_ADDRESSES, getComputationAccAddress, } from "../utils";
|
|
6
5
|
import IDL from "../idl/conviction_market.json";
|
|
7
6
|
/**
|
|
8
7
|
* Builds a transaction to create a new conviction market with encrypted state
|
|
@@ -17,7 +16,6 @@ import IDL from "../idl/conviction_market.json";
|
|
|
17
16
|
export async function createMarket(provider, params) {
|
|
18
17
|
const programId = params.programId ?? PROGRAM_ID;
|
|
19
18
|
const program = new Program(IDL, provider);
|
|
20
|
-
const clusterAccount = getClusterAddress();
|
|
21
19
|
// Convert parameters to BN
|
|
22
20
|
const marketIndexBN = typeof params.marketIndex === "number"
|
|
23
21
|
? new BN(params.marketIndex)
|
|
@@ -46,11 +44,11 @@ export async function createMarket(provider, params) {
|
|
|
46
44
|
creator: params.creator,
|
|
47
45
|
market: marketPda,
|
|
48
46
|
computationAccount: getComputationAccAddress(ARCIUM_CLUSTER_OFFSET, computationOffset),
|
|
49
|
-
clusterAccount,
|
|
50
|
-
mxeAccount:
|
|
51
|
-
mempoolAccount:
|
|
52
|
-
executingPool:
|
|
53
|
-
compDefAccount:
|
|
47
|
+
clusterAccount: CLUSTER_ADDRESS,
|
|
48
|
+
mxeAccount: MXE_ADDRESS,
|
|
49
|
+
mempoolAccount: MEMPOOL_ADDRESS,
|
|
50
|
+
executingPool: EXECUTING_POOL_ADDRESS,
|
|
51
|
+
compDefAccount: COMP_DEF_ADDRESSES.INIT_MARKET_SHARES,
|
|
54
52
|
systemProgram: SystemProgram.programId,
|
|
55
53
|
})
|
|
56
54
|
.transaction();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMarket.js","sourceRoot":"","sources":["../../src/instructions/createMarket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"createMarket.js","sourceRoot":"","sources":["../../src/instructions/createMarket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initVoteTokenAccount.d.ts","sourceRoot":"","sources":["../../src/instructions/initVoteTokenAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"initVoteTokenAccount.d.ts","sourceRoot":"","sources":["../../src/instructions/initVoteTokenAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAe7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,2CAA2C;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,2CAA2C;IAC3C,iBAAiB,EAAE,aAAa,CAAC;IACjC,mDAAmD;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,4CAA4C;IAC5C,mBAAmB,EAAE,SAAS,CAAC;IAC/B,gEAAgE;IAChE,iBAAiB,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC,CA6CrC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Program } from "@coral-xyz/anchor";
|
|
2
2
|
import { SystemProgram } from "@solana/web3.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { deriveVoteTokenAccountPda, generateComputationOffset, generateNonce, nonceToU128, ARCIUM_CLUSTER_OFFSET, getClusterAddress, } from "../utils";
|
|
3
|
+
import { PROGRAM_ID } from "../constants";
|
|
4
|
+
import { deriveVoteTokenAccountPda, generateComputationOffset, generateNonce, nonceToU128, ARCIUM_CLUSTER_OFFSET, CLUSTER_ADDRESS, MXE_ADDRESS, MEMPOOL_ADDRESS, EXECUTING_POOL_ADDRESS, COMP_DEF_ADDRESSES, getComputationAccAddress, } from "../utils";
|
|
6
5
|
import IDL from "../idl/conviction_market.json";
|
|
7
6
|
/**
|
|
8
7
|
* Builds a transaction to initialize a vote token account via encrypted computation
|
|
@@ -17,7 +16,6 @@ import IDL from "../idl/conviction_market.json";
|
|
|
17
16
|
export async function initVoteTokenAccount(provider, params) {
|
|
18
17
|
const programId = params.programId ?? PROGRAM_ID;
|
|
19
18
|
const program = new Program(IDL, provider);
|
|
20
|
-
const clusterAccount = getClusterAddress();
|
|
21
19
|
// Derive vote token account PDA
|
|
22
20
|
const [voteTokenAccountPda] = deriveVoteTokenAccountPda(params.signer, programId);
|
|
23
21
|
// Auto-generate computation offset and nonce
|
|
@@ -30,11 +28,11 @@ export async function initVoteTokenAccount(provider, params) {
|
|
|
30
28
|
signer: params.signer,
|
|
31
29
|
voteTokenAccount: voteTokenAccountPda,
|
|
32
30
|
computationAccount: getComputationAccAddress(ARCIUM_CLUSTER_OFFSET, computationOffset),
|
|
33
|
-
clusterAccount,
|
|
34
|
-
mxeAccount:
|
|
35
|
-
mempoolAccount:
|
|
36
|
-
executingPool:
|
|
37
|
-
compDefAccount:
|
|
31
|
+
clusterAccount: CLUSTER_ADDRESS,
|
|
32
|
+
mxeAccount: MXE_ADDRESS,
|
|
33
|
+
mempoolAccount: MEMPOOL_ADDRESS,
|
|
34
|
+
executingPool: EXECUTING_POOL_ADDRESS,
|
|
35
|
+
compDefAccount: COMP_DEF_ADDRESSES.INIT_VOTE_TOKEN_ACCOUNT,
|
|
38
36
|
systemProgram: SystemProgram.programId,
|
|
39
37
|
})
|
|
40
38
|
.transaction();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initVoteTokenAccount.js","sourceRoot":"","sources":["../../src/instructions/initVoteTokenAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"initVoteTokenAccount.js","sourceRoot":"","sources":["../../src/instructions/initVoteTokenAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,OAAO,GAAG,MAAM,+BAA+B,CAAC;AA2BhD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAwB,EACxB,MAAkC;IAElC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,GAAuB,EACvB,QAAQ,CACoB,CAAC;IAE/B,gCAAgC;IAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,yBAAyB,CACrD,MAAM,CAAC,MAAM,EACb,SAAS,CACV,CAAC;IAEF,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO;SACtC,oBAAoB,CACnB,iBAAiB,EACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC9C,OAAO,CACR;SACA,eAAe,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,mBAAmB;QACrC,kBAAkB,EAAE,wBAAwB,CAC1C,qBAAqB,EACrB,iBAAiB,CAClB;QACD,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,sBAAsB;QACrC,cAAc,EAAE,kBAAkB,CAAC,uBAAuB;QAC1D,aAAa,EAAE,aAAa,CAAC,SAAS;KACvC,CAAC;SACD,WAAW,EAAE,CAAC;IAEjB,OAAO;QACL,WAAW;QACX,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintVoteTokens.d.ts","sourceRoot":"","sources":["../../src/instructions/mintVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"mintVoteTokens.d.ts","sourceRoot":"","sources":["../../src/instructions/mintVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAiB,KAAK,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAa7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,MAAM,EAAE,SAAS,CAAC;IAClB,2CAA2C;IAC3C,iBAAiB,EAAE,aAAa,CAAC;IACjC,oCAAoC;IACpC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,oCAAoC;IACpC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,gEAAgE;IAChE,iBAAiB,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA+C/B"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Program, BN } from "@coral-xyz/anchor";
|
|
2
2
|
import { SystemProgram } from "@solana/web3.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { deriveVoteTokenAccountPda, generateComputationOffset, ARCIUM_CLUSTER_OFFSET, getClusterAddress, } from "../utils";
|
|
3
|
+
import { PROGRAM_ID } from "../constants";
|
|
4
|
+
import { deriveVoteTokenAccountPda, generateComputationOffset, ARCIUM_CLUSTER_OFFSET, CLUSTER_ADDRESS, MXE_ADDRESS, MEMPOOL_ADDRESS, EXECUTING_POOL_ADDRESS, COMP_DEF_ADDRESSES, getComputationAccAddress, } from "../utils";
|
|
6
5
|
import IDL from "../idl/conviction_market.json";
|
|
7
6
|
/**
|
|
8
7
|
* Builds a transaction to mint vote tokens by paying SOL
|
|
@@ -18,7 +17,6 @@ import IDL from "../idl/conviction_market.json";
|
|
|
18
17
|
export async function mintVoteTokens(provider, params) {
|
|
19
18
|
const programId = params.programId ?? PROGRAM_ID;
|
|
20
19
|
const program = new Program(IDL, provider);
|
|
21
|
-
const clusterAccount = getClusterAddress();
|
|
22
20
|
// Derive vote token account PDA
|
|
23
21
|
const [voteTokenAccountPda] = deriveVoteTokenAccountPda(params.signer, programId);
|
|
24
22
|
// Auto-generate computation offset
|
|
@@ -31,11 +29,11 @@ export async function mintVoteTokens(provider, params) {
|
|
|
31
29
|
signer: params.signer,
|
|
32
30
|
voteTokenAccount: voteTokenAccountPda,
|
|
33
31
|
computationAccount: getComputationAccAddress(ARCIUM_CLUSTER_OFFSET, computationOffset),
|
|
34
|
-
clusterAccount,
|
|
35
|
-
mxeAccount:
|
|
36
|
-
mempoolAccount:
|
|
37
|
-
executingPool:
|
|
38
|
-
compDefAccount:
|
|
32
|
+
clusterAccount: CLUSTER_ADDRESS,
|
|
33
|
+
mxeAccount: MXE_ADDRESS,
|
|
34
|
+
mempoolAccount: MEMPOOL_ADDRESS,
|
|
35
|
+
executingPool: EXECUTING_POOL_ADDRESS,
|
|
36
|
+
compDefAccount: COMP_DEF_ADDRESSES.BUY_VOTE_TOKENS,
|
|
39
37
|
systemProgram: SystemProgram.programId,
|
|
40
38
|
})
|
|
41
39
|
.transaction();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintVoteTokens.js","sourceRoot":"","sources":["../../src/instructions/mintVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"mintVoteTokens.js","sourceRoot":"","sources":["../../src/instructions/mintVoteTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,OAAO,GAAG,MAAM,+BAA+B,CAAC;AA6BhD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAwB,EACxB,MAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,GAAuB,EACvB,QAAQ,CACoB,CAAC;IAE/B,gCAAgC;IAChC,MAAM,CAAC,mBAAmB,CAAC,GAAG,yBAAyB,CACrD,MAAM,CAAC,MAAM,EACb,SAAS,CACV,CAAC;IAEF,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;IAEtD,uBAAuB;IACvB,MAAM,QAAQ,GACZ,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IAE5E,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO;SACtC,cAAc,CACb,iBAAiB,EACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAC9C,QAAQ,CACT;SACA,eAAe,CAAC;QACf,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,mBAAmB;QACrC,kBAAkB,EAAE,wBAAwB,CAC1C,qBAAqB,EACrB,iBAAiB,CAClB;QACD,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,sBAAsB;QACrC,cAAc,EAAE,kBAAkB,CAAC,eAAe;QAClD,aAAa,EAAE,aAAa,CAAC,SAAS;KACvC,CAAC;SACD,WAAW,EAAE,CAAC;IAEjB,OAAO;QACL,WAAW;QACX,mBAAmB;QACnB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revealShares.d.ts","sourceRoot":"","sources":["../../src/instructions/revealShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"revealShares.d.ts","sourceRoot":"","sources":["../../src/instructions/revealShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAa9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI9C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,MAAM,EAAE,SAAS,CAAC;IAClB,2CAA2C;IAC3C,KAAK,EAAE,SAAS,CAAC;IACjB,iBAAiB;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,4CAA4C;IAC5C,kBAAkB,EAAE,aAAa,CAAC;IAClC,mDAAmD;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,+BAA+B;IAC/B,eAAe,EAAE,SAAS,CAAC;IAC3B,gEAAgE;IAChE,iBAAiB,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA0C7B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Program } from "@coral-xyz/anchor";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { deriveVoteTokenAccountPda, deriveShareAccountPda, generateComputationOffset, ARCIUM_CLUSTER_OFFSET, getClusterAddress, } from "../utils";
|
|
2
|
+
import { PROGRAM_ID } from "../constants";
|
|
3
|
+
import { deriveShareAccountPda, generateComputationOffset, ARCIUM_CLUSTER_OFFSET, CLUSTER_ADDRESS, MXE_ADDRESS, MEMPOOL_ADDRESS, EXECUTING_POOL_ADDRESS, COMP_DEF_ADDRESSES, getComputationAccAddress, } from "../utils";
|
|
5
4
|
import IDL from "../idl/conviction_market.json";
|
|
6
5
|
/**
|
|
7
6
|
* Builds a transaction to reveal a user's encrypted shares after staking ends
|
|
@@ -18,9 +17,7 @@ import IDL from "../idl/conviction_market.json";
|
|
|
18
17
|
export async function revealShares(provider, params) {
|
|
19
18
|
const programId = params.programId ?? PROGRAM_ID;
|
|
20
19
|
const program = new Program(IDL, provider);
|
|
21
|
-
|
|
22
|
-
// Derive accounts
|
|
23
|
-
const [voteTokenAccountPda] = deriveVoteTokenAccountPda(params.owner, programId);
|
|
20
|
+
// Derive share account
|
|
24
21
|
const [shareAccountPda] = deriveShareAccountPda(params.owner, params.market, programId);
|
|
25
22
|
// Auto-generate computation offset
|
|
26
23
|
const computationOffset = generateComputationOffset();
|
|
@@ -30,11 +27,11 @@ export async function revealShares(provider, params) {
|
|
|
30
27
|
owner: params.owner,
|
|
31
28
|
market: params.market,
|
|
32
29
|
computationAccount: getComputationAccAddress(ARCIUM_CLUSTER_OFFSET, computationOffset),
|
|
33
|
-
clusterAccount,
|
|
34
|
-
mxeAccount:
|
|
35
|
-
mempoolAccount:
|
|
36
|
-
executingPool:
|
|
37
|
-
compDefAccount:
|
|
30
|
+
clusterAccount: CLUSTER_ADDRESS,
|
|
31
|
+
mxeAccount: MXE_ADDRESS,
|
|
32
|
+
mempoolAccount: MEMPOOL_ADDRESS,
|
|
33
|
+
executingPool: EXECUTING_POOL_ADDRESS,
|
|
34
|
+
compDefAccount: COMP_DEF_ADDRESSES.REVEAL_SHARES,
|
|
38
35
|
})
|
|
39
36
|
.transaction();
|
|
40
37
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revealShares.js","sourceRoot":"","sources":["../../src/instructions/revealShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,OAAO,
|
|
1
|
+
{"version":3,"file":"revealShares.js","sourceRoot":"","sources":["../../src/instructions/revealShares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA2B,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,OAAO,GAAG,MAAM,+BAA+B,CAAC;AA+BhD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAwB,EACxB,MAA0B;IAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,UAAU,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,OAAO,CACzB,GAAuB,EACvB,QAAQ,CACoB,CAAC;IAE/B,uBAAuB;IACvB,MAAM,CAAC,eAAe,CAAC,GAAG,qBAAqB,CAC7C,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,EACb,SAAS,CACV,CAAC;IAEF,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,yBAAyB,EAAE,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO;SACtC,YAAY,CACX,iBAAiB,EACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAChD;SACA,eAAe,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,kBAAkB,EAAE,wBAAwB,CAC1C,qBAAqB,EACrB,iBAAiB,CAClB;QACD,cAAc,EAAE,eAAe;QAC/B,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,eAAe;QAC/B,aAAa,EAAE,sBAAsB;QACrC,cAAc,EAAE,kBAAkB,CAAC,aAAa;KACjD,CAAC;SACD,WAAW,EAAE,CAAC;IAEjB,OAAO;QACL,WAAW;QACX,eAAe;QACf,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
package/dist/utils/arcium.d.ts
CHANGED
|
@@ -1,3 +1,64 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
import type { BN } from "@coral-xyz/anchor";
|
|
3
|
+
/**
|
|
4
|
+
* Arcium cluster offset for devnet
|
|
5
|
+
*/
|
|
1
6
|
export declare const ARCIUM_CLUSTER_OFFSET = 456;
|
|
2
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Pre-computed Arcium addresses for the cluster
|
|
9
|
+
* These are constant for ARCIUM_CLUSTER_OFFSET = 456
|
|
10
|
+
*/
|
|
11
|
+
export declare const CLUSTER_ADDRESS: PublicKey;
|
|
12
|
+
export declare const MEMPOOL_ADDRESS: PublicKey;
|
|
13
|
+
export declare const EXECUTING_POOL_ADDRESS: PublicKey;
|
|
14
|
+
/**
|
|
15
|
+
* Pre-computed MXE address for the program
|
|
16
|
+
*/
|
|
17
|
+
export declare const MXE_ADDRESS: PublicKey;
|
|
18
|
+
/**
|
|
19
|
+
* Pre-computed MXE X25519 public key for encryption
|
|
20
|
+
* This is the encryption key used for MPC computations
|
|
21
|
+
*/
|
|
22
|
+
export declare const MXE_X25519_PUBKEY: Uint8Array<ArrayBuffer>;
|
|
23
|
+
/**
|
|
24
|
+
* Pre-computed computation definition addresses
|
|
25
|
+
* These are constant for the program and computation definition names
|
|
26
|
+
*/
|
|
27
|
+
export declare const COMP_DEF_ADDRESSES: {
|
|
28
|
+
readonly INIT_VOTE_TOKEN_ACCOUNT: PublicKey;
|
|
29
|
+
readonly BUY_VOTE_TOKENS: PublicKey;
|
|
30
|
+
readonly CLAIM_VOTE_TOKENS: PublicKey;
|
|
31
|
+
readonly BUY_CONVICTION_MARKET_SHARES: PublicKey;
|
|
32
|
+
readonly INIT_MARKET_SHARES: PublicKey;
|
|
33
|
+
readonly REVEAL_SHARES: PublicKey;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Returns the cluster address
|
|
37
|
+
* @deprecated Use CLUSTER_ADDRESS constant instead
|
|
38
|
+
*/
|
|
39
|
+
export declare function getClusterAddress(): PublicKey;
|
|
40
|
+
/**
|
|
41
|
+
* Derives the computation account address for a given offset
|
|
42
|
+
* This replicates the PDA derivation from Arcium's getComputationAccAddress
|
|
43
|
+
*
|
|
44
|
+
* @param clusterOffset - The cluster offset (should be ARCIUM_CLUSTER_OFFSET)
|
|
45
|
+
* @param computationOffset - The unique computation offset
|
|
46
|
+
* @returns The computation account public key
|
|
47
|
+
*/
|
|
48
|
+
export declare function getComputationAccAddress(clusterOffset: number, computationOffset: BN): PublicKey;
|
|
49
|
+
/**
|
|
50
|
+
* Returns the MXE address for the program
|
|
51
|
+
* @deprecated Use MXE_ADDRESS constant instead
|
|
52
|
+
*/
|
|
53
|
+
export declare function getMXEAccAddress(): PublicKey;
|
|
54
|
+
/**
|
|
55
|
+
* Returns the mempool address
|
|
56
|
+
* @deprecated Use MEMPOOL_ADDRESS constant instead
|
|
57
|
+
*/
|
|
58
|
+
export declare function getMempoolAccAddress(): PublicKey;
|
|
59
|
+
/**
|
|
60
|
+
* Returns the executing pool address
|
|
61
|
+
* @deprecated Use EXECUTING_POOL_ADDRESS constant instead
|
|
62
|
+
*/
|
|
63
|
+
export declare function getExecutingPoolAccAddress(): PublicKey;
|
|
3
64
|
//# sourceMappingURL=arcium.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcium.d.ts","sourceRoot":"","sources":["../../src/utils/arcium.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"arcium.d.ts","sourceRoot":"","sources":["../../src/utils/arcium.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,eAAe,WAE3B,CAAC;AACF,eAAO,MAAM,eAAe,WAE3B,CAAC;AACF,eAAO,MAAM,sBAAsB,WAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,WAEvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,yBAG5B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;CAmBrB,CAAC;AAEX;;;GAGG;AACH,wBAAgB,iBAAiB,cAEhC;AAcD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,EAAE,GACpB,SAAS,CAwBX;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,CAE5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,SAAS,CAEhD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,SAAS,CAEtD"}
|
package/dist/utils/arcium.js
CHANGED
|
@@ -1,6 +1,96 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PublicKey } from "@solana/web3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Arcium cluster offset for devnet
|
|
4
|
+
*/
|
|
2
5
|
export const ARCIUM_CLUSTER_OFFSET = 456;
|
|
6
|
+
/**
|
|
7
|
+
* Pre-computed Arcium addresses for the cluster
|
|
8
|
+
* These are constant for ARCIUM_CLUSTER_OFFSET = 456
|
|
9
|
+
*/
|
|
10
|
+
export const CLUSTER_ADDRESS = new PublicKey("DzaQCyfybroycrNqE5Gk7LhSbWD2qfCics6qptBFbr95");
|
|
11
|
+
export const MEMPOOL_ADDRESS = new PublicKey("Ex7BD8o8PK1y2eXDd38Jgujj93uHygrZeWXDeGAHmHtN");
|
|
12
|
+
export const EXECUTING_POOL_ADDRESS = new PublicKey("4mcrgNZzJwwKrE3wXMHfepT8htSBmGqBzDYPJijWooog");
|
|
13
|
+
/**
|
|
14
|
+
* Pre-computed MXE address for the program
|
|
15
|
+
*/
|
|
16
|
+
export const MXE_ADDRESS = new PublicKey("9ZtprvNpFCzxuKewDRpmByWLXrxFfGZcrfY6TZTdpvGu");
|
|
17
|
+
/**
|
|
18
|
+
* Pre-computed MXE X25519 public key for encryption
|
|
19
|
+
* This is the encryption key used for MPC computations
|
|
20
|
+
*/
|
|
21
|
+
export const MXE_X25519_PUBKEY = new Uint8Array([
|
|
22
|
+
86, 128, 27, 68, 105, 225, 151, 107, 234, 191, 106, 144, 73, 64, 231, 222,
|
|
23
|
+
106, 54, 63, 75, 115, 210, 248, 234, 23, 107, 255, 189, 49, 228, 35, 32,
|
|
24
|
+
]);
|
|
25
|
+
/**
|
|
26
|
+
* Pre-computed computation definition addresses
|
|
27
|
+
* These are constant for the program and computation definition names
|
|
28
|
+
*/
|
|
29
|
+
export const COMP_DEF_ADDRESSES = {
|
|
30
|
+
INIT_VOTE_TOKEN_ACCOUNT: new PublicKey("8cJL5BUsL8RtZfZ221M787Vm5kYptFUY65HEZRnX8J6U"),
|
|
31
|
+
BUY_VOTE_TOKENS: new PublicKey("6tqXdWgxnLVn9iVgaMR5rHezWBWJNAEHYq9TLcM9Qu1B"),
|
|
32
|
+
CLAIM_VOTE_TOKENS: new PublicKey("BMbKGJUuSEf198ZNWrFfihBG5PhC6fbLeVRheYpyyzW9"),
|
|
33
|
+
BUY_CONVICTION_MARKET_SHARES: new PublicKey("7DZfQXSRViCZUyzdCxbJnTPgVJJZ4H7a2PZyLfcmp8Np"),
|
|
34
|
+
INIT_MARKET_SHARES: new PublicKey("3PoitQnNeBTDUvPBm8NRDn8tgfvK2rTBFHS2xzZv72tb"),
|
|
35
|
+
REVEAL_SHARES: new PublicKey("DUDK7NEvBXta65uqSX12TNEcNSJYoterhVB9nfkfhA8f"),
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Returns the cluster address
|
|
39
|
+
* @deprecated Use CLUSTER_ADDRESS constant instead
|
|
40
|
+
*/
|
|
3
41
|
export function getClusterAddress() {
|
|
4
|
-
return
|
|
42
|
+
return CLUSTER_ADDRESS;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Arcium program ID for PDA derivation
|
|
46
|
+
*/
|
|
47
|
+
const ARCIUM_PROGRAM_ID = new PublicKey("ARCGL1vmM2YKqmxjVV8LaD9Qi98N2CvT6jjzk6QmqLM");
|
|
48
|
+
/**
|
|
49
|
+
* Computation account seed constant
|
|
50
|
+
*/
|
|
51
|
+
const COMPUTATION_ACC_SEED = "ComputationAccount";
|
|
52
|
+
/**
|
|
53
|
+
* Derives the computation account address for a given offset
|
|
54
|
+
* This replicates the PDA derivation from Arcium's getComputationAccAddress
|
|
55
|
+
*
|
|
56
|
+
* @param clusterOffset - The cluster offset (should be ARCIUM_CLUSTER_OFFSET)
|
|
57
|
+
* @param computationOffset - The unique computation offset
|
|
58
|
+
* @returns The computation account public key
|
|
59
|
+
*/
|
|
60
|
+
export function getComputationAccAddress(clusterOffset, computationOffset) {
|
|
61
|
+
// Convert cluster offset to buffer (u32 LE)
|
|
62
|
+
const clusterOffsetBuffer = Buffer.alloc(4);
|
|
63
|
+
clusterOffsetBuffer.writeUInt32LE(clusterOffset, 0);
|
|
64
|
+
// Convert computation offset to buffer (u64 LE) using BN's toArrayLike
|
|
65
|
+
const computationOffsetBuffer = computationOffset.toArrayLike(Buffer, "le", 8);
|
|
66
|
+
// The computation account PDA is derived with seeds:
|
|
67
|
+
// ["ComputationAccount", cluster_offset_bytes, computation_offset_bytes]
|
|
68
|
+
const [computationAddress] = PublicKey.findProgramAddressSync([
|
|
69
|
+
Buffer.from(COMPUTATION_ACC_SEED),
|
|
70
|
+
clusterOffsetBuffer,
|
|
71
|
+
computationOffsetBuffer,
|
|
72
|
+
], ARCIUM_PROGRAM_ID);
|
|
73
|
+
return computationAddress;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns the MXE address for the program
|
|
77
|
+
* @deprecated Use MXE_ADDRESS constant instead
|
|
78
|
+
*/
|
|
79
|
+
export function getMXEAccAddress() {
|
|
80
|
+
return MXE_ADDRESS;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Returns the mempool address
|
|
84
|
+
* @deprecated Use MEMPOOL_ADDRESS constant instead
|
|
85
|
+
*/
|
|
86
|
+
export function getMempoolAccAddress() {
|
|
87
|
+
return MEMPOOL_ADDRESS;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns the executing pool address
|
|
91
|
+
* @deprecated Use EXECUTING_POOL_ADDRESS constant instead
|
|
92
|
+
*/
|
|
93
|
+
export function getExecutingPoolAccAddress() {
|
|
94
|
+
return EXECUTING_POOL_ADDRESS;
|
|
5
95
|
}
|
|
6
96
|
//# sourceMappingURL=arcium.js.map
|
package/dist/utils/arcium.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arcium.js","sourceRoot":"","sources":["../../src/utils/arcium.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"arcium.js","sourceRoot":"","sources":["../../src/utils/arcium.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,SAAS,CAC1C,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,SAAS,CAC1C,8CAA8C,CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,SAAS,CACjD,8CAA8C,CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CACtC,8CAA8C,CAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC;IAC9C,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG;IACzE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE;CACxE,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,uBAAuB,EAAE,IAAI,SAAS,CACpC,8CAA8C,CAC/C;IACD,eAAe,EAAE,IAAI,SAAS,CAC5B,8CAA8C,CAC/C;IACD,iBAAiB,EAAE,IAAI,SAAS,CAC9B,8CAA8C,CAC/C;IACD,4BAA4B,EAAE,IAAI,SAAS,CACzC,8CAA8C,CAC/C;IACD,kBAAkB,EAAE,IAAI,SAAS,CAC/B,8CAA8C,CAC/C;IACD,aAAa,EAAE,IAAI,SAAS,CAC1B,8CAA8C,CAC/C;CACO,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,SAAS,CACrC,6CAA6C,CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,aAAqB,EACrB,iBAAqB;IAErB,4CAA4C;IAC5C,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5C,mBAAmB,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAEpD,uEAAuE;IACvE,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,WAAW,CAC3D,MAAM,EACN,IAAI,EACJ,CAAC,CACF,CAAC;IAEF,qDAAqD;IACrD,yEAAyE;IACzE,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,CAAC,sBAAsB,CAC3D;QACE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACjC,mBAAmB;QACnB,uBAAuB;KACxB,EACD,iBAAiB,CAClB,CAAC;IAEF,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,sBAAsB,CAAC;AAChC,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { RescueCipher } from "@arcium-hq/client";
|
|
2
|
-
import type { AnchorProvider } from "@coral-xyz/anchor";
|
|
3
|
-
import type { PublicKey } from "@solana/web3.js";
|
|
4
2
|
import type { X25519Keypair } from "../types";
|
|
5
3
|
/**
|
|
6
4
|
* Encryption context for working with encrypted data
|
|
@@ -12,13 +10,11 @@ export interface EncryptionContext {
|
|
|
12
10
|
x25519Keypair: X25519Keypair;
|
|
13
11
|
}
|
|
14
12
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @param provider - Anchor provider
|
|
18
|
-
* @param programId - Program ID
|
|
13
|
+
* Returns the MXE X25519 public key
|
|
14
|
+
* @deprecated This is now a constant, use MXE_X25519_PUBKEY directly
|
|
19
15
|
* @returns The MXE's X25519 public key
|
|
20
16
|
*/
|
|
21
|
-
export declare function fetchMXEPublicKey(
|
|
17
|
+
export declare function fetchMXEPublicKey(): Uint8Array;
|
|
22
18
|
/**
|
|
23
19
|
* Creates an encryption context for a user
|
|
24
20
|
*
|
|
@@ -26,10 +22,10 @@ export declare function fetchMXEPublicKey(provider: AnchorProvider, programId: P
|
|
|
26
22
|
* for encryption/decryption operations.
|
|
27
23
|
*
|
|
28
24
|
* @param x25519Keypair - User's X25519 keypair
|
|
29
|
-
* @param mxePublicKey - MXE's public key (
|
|
25
|
+
* @param mxePublicKey - MXE's public key (defaults to MXE_X25519_PUBKEY if not provided)
|
|
30
26
|
* @returns Encryption context with cipher
|
|
31
27
|
*/
|
|
32
|
-
export declare function createEncryptionContext(x25519Keypair: X25519Keypair, mxePublicKey
|
|
28
|
+
export declare function createEncryptionContext(x25519Keypair: X25519Keypair, mxePublicKey?: Uint8Array): EncryptionContext;
|
|
33
29
|
/**
|
|
34
30
|
* Encrypts values for buying market shares
|
|
35
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/utils/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/utils/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,MAAM,EAAE,YAAY,CAAC;IACrB,4BAA4B;IAC5B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,CAE9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,aAAa,EAC5B,YAAY,GAAE,UAA8B,GAC3C,iBAAiB,CAWnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,UAAU,GAChB;IACD,gBAAgB,EAAE,UAAU,CAAC;IAC7B,wBAAwB,EAAE,UAAU,CAAC;CACtC,CAWA"}
|
package/dist/utils/encryption.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import { x25519, RescueCipher
|
|
1
|
+
import { x25519, RescueCipher } from "@arcium-hq/client";
|
|
2
|
+
import { MXE_X25519_PUBKEY } from "./arcium";
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @param provider - Anchor provider
|
|
6
|
-
* @param programId - Program ID
|
|
4
|
+
* Returns the MXE X25519 public key
|
|
5
|
+
* @deprecated This is now a constant, use MXE_X25519_PUBKEY directly
|
|
7
6
|
* @returns The MXE's X25519 public key
|
|
8
7
|
*/
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
if (!key) {
|
|
12
|
-
throw new Error("Failed to fetch MXE public key");
|
|
13
|
-
}
|
|
14
|
-
return key;
|
|
8
|
+
export function fetchMXEPublicKey() {
|
|
9
|
+
return MXE_X25519_PUBKEY;
|
|
15
10
|
}
|
|
16
11
|
/**
|
|
17
12
|
* Creates an encryption context for a user
|
|
@@ -20,10 +15,10 @@ export async function fetchMXEPublicKey(provider, programId) {
|
|
|
20
15
|
* for encryption/decryption operations.
|
|
21
16
|
*
|
|
22
17
|
* @param x25519Keypair - User's X25519 keypair
|
|
23
|
-
* @param mxePublicKey - MXE's public key (
|
|
18
|
+
* @param mxePublicKey - MXE's public key (defaults to MXE_X25519_PUBKEY if not provided)
|
|
24
19
|
* @returns Encryption context with cipher
|
|
25
20
|
*/
|
|
26
|
-
export function createEncryptionContext(x25519Keypair, mxePublicKey) {
|
|
21
|
+
export function createEncryptionContext(x25519Keypair, mxePublicKey = MXE_X25519_PUBKEY) {
|
|
27
22
|
const sharedSecret = x25519.getSharedSecret(x25519Keypair.secretKey, mxePublicKey);
|
|
28
23
|
const cipher = new RescueCipher(sharedSecret);
|
|
29
24
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/utils/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/utils/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAY7C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CACrC,aAA4B,EAC5B,eAA2B,iBAAiB;IAE5C,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CACzC,aAAa,CAAC,SAAS,EACvB,YAAY,CACb,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO;QACL,MAAM;QACN,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAA0B,EAC1B,MAAc,EACd,cAAsB,EACtB,KAAiB;IAKjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;IAE5E,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAChD,wBAAwB,EAAE,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC"}
|