@realms-today/sowell-governance 0.1.0
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/README.md +336 -0
- package/dist/accounts/bet.d.ts +30 -0
- package/dist/accounts/bet.d.ts.map +1 -0
- package/dist/accounts/bet.js +36 -0
- package/dist/accounts/bet.js.map +1 -0
- package/dist/accounts/governance.d.ts +18 -0
- package/dist/accounts/governance.d.ts.map +1 -0
- package/dist/accounts/governance.js +21 -0
- package/dist/accounts/governance.js.map +1 -0
- package/dist/accounts/governanceLimits.d.ts +10 -0
- package/dist/accounts/governanceLimits.d.ts.map +1 -0
- package/dist/accounts/governanceLimits.js +14 -0
- package/dist/accounts/governanceLimits.js.map +1 -0
- package/dist/accounts/index.d.ts +14 -0
- package/dist/accounts/index.d.ts.map +1 -0
- package/dist/accounts/index.js +30 -0
- package/dist/accounts/index.js.map +1 -0
- package/dist/accounts/proposal.d.ts +40 -0
- package/dist/accounts/proposal.d.ts.map +1 -0
- package/dist/accounts/proposal.js +46 -0
- package/dist/accounts/proposal.js.map +1 -0
- package/dist/accounts/proposalDeposit.d.ts +9 -0
- package/dist/accounts/proposalDeposit.d.ts.map +1 -0
- package/dist/accounts/proposalDeposit.js +13 -0
- package/dist/accounts/proposalDeposit.js.map +1 -0
- package/dist/accounts/proposalTransaction.d.ts +15 -0
- package/dist/accounts/proposalTransaction.d.ts.map +1 -0
- package/dist/accounts/proposalTransaction.js +19 -0
- package/dist/accounts/proposalTransaction.js.map +1 -0
- package/dist/accounts/realm.d.ts +17 -0
- package/dist/accounts/realm.d.ts.map +1 -0
- package/dist/accounts/realm.js +19 -0
- package/dist/accounts/realm.js.map +1 -0
- package/dist/accounts/realmConfig.d.ts +16 -0
- package/dist/accounts/realmConfig.d.ts.map +1 -0
- package/dist/accounts/realmConfig.js +22 -0
- package/dist/accounts/realmConfig.js.map +1 -0
- package/dist/accounts/receipt.d.ts +21 -0
- package/dist/accounts/receipt.d.ts.map +1 -0
- package/dist/accounts/receipt.js +24 -0
- package/dist/accounts/receipt.js.map +1 -0
- package/dist/accounts/secondaryMarket.d.ts +21 -0
- package/dist/accounts/secondaryMarket.d.ts.map +1 -0
- package/dist/accounts/secondaryMarket.js +27 -0
- package/dist/accounts/secondaryMarket.js.map +1 -0
- package/dist/accounts/sowellianConfig.d.ts +20 -0
- package/dist/accounts/sowellianConfig.d.ts.map +1 -0
- package/dist/accounts/sowellianConfig.js +37 -0
- package/dist/accounts/sowellianConfig.js.map +1 -0
- package/dist/accounts/tokenOwnerRecord.d.ts +15 -0
- package/dist/accounts/tokenOwnerRecord.d.ts.map +1 -0
- package/dist/accounts/tokenOwnerRecord.js +19 -0
- package/dist/accounts/tokenOwnerRecord.js.map +1 -0
- package/dist/accounts/voteRecord.d.ts +13 -0
- package/dist/accounts/voteRecord.d.ts.map +1 -0
- package/dist/accounts/voteRecord.js +17 -0
- package/dist/accounts/voteRecord.js.map +1 -0
- package/dist/borsh.d.ts +46 -0
- package/dist/borsh.d.ts.map +1 -0
- package/dist/borsh.js +192 -0
- package/dist/borsh.js.map +1 -0
- package/dist/decode.d.ts +96 -0
- package/dist/decode.d.ts.map +1 -0
- package/dist/decode.js +128 -0
- package/dist/decode.js.map +1 -0
- package/dist/enums.d.ts +124 -0
- package/dist/enums.d.ts.map +1 -0
- package/dist/enums.js +143 -0
- package/dist/enums.js.map +1 -0
- package/dist/errors.d.ts +171 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +342 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +33 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +68 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/instructions/castSecondaryVote.d.ts +16 -0
- package/dist/instructions/castSecondaryVote.d.ts.map +1 -0
- package/dist/instructions/castSecondaryVote.js +36 -0
- package/dist/instructions/castSecondaryVote.js.map +1 -0
- package/dist/instructions/castSowellianVote.d.ts +22 -0
- package/dist/instructions/castSowellianVote.d.ts.map +1 -0
- package/dist/instructions/castSowellianVote.js +38 -0
- package/dist/instructions/castSowellianVote.js.map +1 -0
- package/dist/instructions/castVote.d.ts +18 -0
- package/dist/instructions/castVote.d.ts.map +1 -0
- package/dist/instructions/castVote.js +37 -0
- package/dist/instructions/castVote.js.map +1 -0
- package/dist/instructions/closeBet.d.ts +13 -0
- package/dist/instructions/closeBet.d.ts.map +1 -0
- package/dist/instructions/closeBet.js +33 -0
- package/dist/instructions/closeBet.js.map +1 -0
- package/dist/instructions/closeProposal.d.ts +16 -0
- package/dist/instructions/closeProposal.d.ts.map +1 -0
- package/dist/instructions/closeProposal.js +31 -0
- package/dist/instructions/closeProposal.js.map +1 -0
- package/dist/instructions/closeReceipt.d.ts +11 -0
- package/dist/instructions/closeReceipt.d.ts.map +1 -0
- package/dist/instructions/closeReceipt.js +19 -0
- package/dist/instructions/closeReceipt.js.map +1 -0
- package/dist/instructions/closeSecondary.d.ts +13 -0
- package/dist/instructions/closeSecondary.d.ts.map +1 -0
- package/dist/instructions/closeSecondary.js +29 -0
- package/dist/instructions/closeSecondary.js.map +1 -0
- package/dist/instructions/createGovernance.d.ts +14 -0
- package/dist/instructions/createGovernance.d.ts.map +1 -0
- package/dist/instructions/createGovernance.js +31 -0
- package/dist/instructions/createGovernance.js.map +1 -0
- package/dist/instructions/createNativeTreasury.d.ts +3 -0
- package/dist/instructions/createNativeTreasury.d.ts.map +1 -0
- package/dist/instructions/createNativeTreasury.js +20 -0
- package/dist/instructions/createNativeTreasury.js.map +1 -0
- package/dist/instructions/createProposal.d.ts +37 -0
- package/dist/instructions/createProposal.d.ts.map +1 -0
- package/dist/instructions/createProposal.js +72 -0
- package/dist/instructions/createProposal.js.map +1 -0
- package/dist/instructions/createProposalWithTransactions.d.ts +27 -0
- package/dist/instructions/createProposalWithTransactions.d.ts.map +1 -0
- package/dist/instructions/createProposalWithTransactions.js +85 -0
- package/dist/instructions/createProposalWithTransactions.js.map +1 -0
- package/dist/instructions/createRealm.d.ts +18 -0
- package/dist/instructions/createRealm.d.ts.map +1 -0
- package/dist/instructions/createRealm.js +61 -0
- package/dist/instructions/createRealm.js.map +1 -0
- package/dist/instructions/createTokenOwnerRecord.d.ts +3 -0
- package/dist/instructions/createTokenOwnerRecord.d.ts.map +1 -0
- package/dist/instructions/createTokenOwnerRecord.js +22 -0
- package/dist/instructions/createTokenOwnerRecord.js.map +1 -0
- package/dist/instructions/depositGoverningTokens.d.ts +14 -0
- package/dist/instructions/depositGoverningTokens.d.ts.map +1 -0
- package/dist/instructions/depositGoverningTokens.js +31 -0
- package/dist/instructions/depositGoverningTokens.js.map +1 -0
- package/dist/instructions/executeTransaction.d.ts +18 -0
- package/dist/instructions/executeTransaction.d.ts.map +1 -0
- package/dist/instructions/executeTransaction.js +25 -0
- package/dist/instructions/executeTransaction.js.map +1 -0
- package/dist/instructions/index.d.ts +29 -0
- package/dist/instructions/index.d.ts.map +1 -0
- package/dist/instructions/index.js +45 -0
- package/dist/instructions/index.js.map +1 -0
- package/dist/instructions/insertTransaction.d.ts +17 -0
- package/dist/instructions/insertTransaction.d.ts.map +1 -0
- package/dist/instructions/insertTransaction.js +31 -0
- package/dist/instructions/insertTransaction.js.map +1 -0
- package/dist/instructions/refundProposalDeposit.d.ts +3 -0
- package/dist/instructions/refundProposalDeposit.d.ts.map +1 -0
- package/dist/instructions/refundProposalDeposit.js +19 -0
- package/dist/instructions/refundProposalDeposit.js.map +1 -0
- package/dist/instructions/relinquishVote.d.ts +13 -0
- package/dist/instructions/relinquishVote.d.ts.map +1 -0
- package/dist/instructions/relinquishVote.js +27 -0
- package/dist/instructions/relinquishVote.js.map +1 -0
- package/dist/instructions/resolveBet.d.ts +21 -0
- package/dist/instructions/resolveBet.d.ts.map +1 -0
- package/dist/instructions/resolveBet.js +36 -0
- package/dist/instructions/resolveBet.js.map +1 -0
- package/dist/instructions/setGovernanceConfig.d.ts +4 -0
- package/dist/instructions/setGovernanceConfig.d.ts.map +1 -0
- package/dist/instructions/setGovernanceConfig.js +15 -0
- package/dist/instructions/setGovernanceConfig.js.map +1 -0
- package/dist/instructions/setGovernanceLimits.d.ts +4 -0
- package/dist/instructions/setGovernanceLimits.d.ts.map +1 -0
- package/dist/instructions/setGovernanceLimits.js +24 -0
- package/dist/instructions/setGovernanceLimits.js.map +1 -0
- package/dist/instructions/setOrUpdateSowellianConfig.d.ts +15 -0
- package/dist/instructions/setOrUpdateSowellianConfig.d.ts.map +1 -0
- package/dist/instructions/setOrUpdateSowellianConfig.js +30 -0
- package/dist/instructions/setOrUpdateSowellianConfig.js.map +1 -0
- package/dist/instructions/setRealmAuthority.d.ts +4 -0
- package/dist/instructions/setRealmAuthority.d.ts.map +1 -0
- package/dist/instructions/setRealmAuthority.js +21 -0
- package/dist/instructions/setRealmAuthority.js.map +1 -0
- package/dist/instructions/setRealmConfig.d.ts +15 -0
- package/dist/instructions/setRealmConfig.d.ts.map +1 -0
- package/dist/instructions/setRealmConfig.js +42 -0
- package/dist/instructions/setRealmConfig.js.map +1 -0
- package/dist/instructions/setSowellianGovernanceConfig.d.ts +12 -0
- package/dist/instructions/setSowellianGovernanceConfig.d.ts.map +1 -0
- package/dist/instructions/setSowellianGovernanceConfig.js +27 -0
- package/dist/instructions/setSowellianGovernanceConfig.js.map +1 -0
- package/dist/instructions/settleBet.d.ts +29 -0
- package/dist/instructions/settleBet.d.ts.map +1 -0
- package/dist/instructions/settleBet.js +44 -0
- package/dist/instructions/settleBet.js.map +1 -0
- package/dist/instructions/withdrawGoverningTokens.d.ts +11 -0
- package/dist/instructions/withdrawGoverningTokens.d.ts.map +1 -0
- package/dist/instructions/withdrawGoverningTokens.js +27 -0
- package/dist/instructions/withdrawGoverningTokens.js.map +1 -0
- package/dist/instructions/withdrawPayoff.d.ts +16 -0
- package/dist/instructions/withdrawPayoff.d.ts.map +1 -0
- package/dist/instructions/withdrawPayoff.js +28 -0
- package/dist/instructions/withdrawPayoff.js.map +1 -0
- package/dist/pda.d.ts +20 -0
- package/dist/pda.d.ts.map +1 -0
- package/dist/pda.js +144 -0
- package/dist/pda.js.map +1 -0
- package/dist/programId.d.ts +4 -0
- package/dist/programId.d.ts.map +1 -0
- package/dist/programId.js +17 -0
- package/dist/programId.js.map +1 -0
- package/dist/tradeExecutor/accounts.d.ts +3 -0
- package/dist/tradeExecutor/accounts.d.ts.map +1 -0
- package/dist/tradeExecutor/accounts.js +36 -0
- package/dist/tradeExecutor/accounts.js.map +1 -0
- package/dist/tradeExecutor/discriminators.d.ts +10 -0
- package/dist/tradeExecutor/discriminators.d.ts.map +1 -0
- package/dist/tradeExecutor/discriminators.js +13 -0
- package/dist/tradeExecutor/discriminators.js.map +1 -0
- package/dist/tradeExecutor/index.d.ts +7 -0
- package/dist/tradeExecutor/index.d.ts.map +1 -0
- package/dist/tradeExecutor/index.js +23 -0
- package/dist/tradeExecutor/index.js.map +1 -0
- package/dist/tradeExecutor/instructions.d.ts +44 -0
- package/dist/tradeExecutor/instructions.d.ts.map +1 -0
- package/dist/tradeExecutor/instructions.js +132 -0
- package/dist/tradeExecutor/instructions.js.map +1 -0
- package/dist/tradeExecutor/pda.d.ts +4 -0
- package/dist/tradeExecutor/pda.d.ts.map +1 -0
- package/dist/tradeExecutor/pda.js +15 -0
- package/dist/tradeExecutor/pda.js.map +1 -0
- package/dist/tradeExecutor/programId.d.ts +11 -0
- package/dist/tradeExecutor/programId.d.ts.map +1 -0
- package/dist/tradeExecutor/programId.js +14 -0
- package/dist/tradeExecutor/programId.js.map +1 -0
- package/dist/tradeExecutor/types.d.ts +57 -0
- package/dist/tradeExecutor/types.d.ts.map +1 -0
- package/dist/tradeExecutor/types.js +17 -0
- package/dist/tradeExecutor/types.js.map +1 -0
- package/dist/types.d.ts +135 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +227 -0
- package/dist/types.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createProposalWithTransactionsInstruction = createProposalWithTransactionsInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
6
|
+
const borsh_1 = require("../borsh");
|
|
7
|
+
const enums_1 = require("../enums");
|
|
8
|
+
const types_1 = require("../types");
|
|
9
|
+
const pda_1 = require("../pda");
|
|
10
|
+
function createProposalWithTransactionsInstruction(args) {
|
|
11
|
+
const { programId, realm, governance, proposalOwnerRecord, governingTokenMint, governanceAuthority, payer, name, descriptionLink, proposalSeed, maxVotingTime, transactions, finalize, vote, voterWeightRecord, maxVoterWeightRecord, sowellianArgs, sowellianAccounts, } = args;
|
|
12
|
+
if (sowellianArgs && !sowellianAccounts) {
|
|
13
|
+
throw new Error("sowellianAccounts must be supplied when sowellianArgs is provided");
|
|
14
|
+
}
|
|
15
|
+
const proposalAddress = (0, pda_1.getProposalAddress)(programId, governance, governingTokenMint, proposalSeed);
|
|
16
|
+
const proposalDeposit = (0, pda_1.getProposalDepositAddress)(programId, proposalAddress, payer);
|
|
17
|
+
const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
|
|
18
|
+
const keys = [
|
|
19
|
+
{ pubkey: realm, isSigner: false, isWritable: false },
|
|
20
|
+
{ pubkey: proposalAddress, isSigner: false, isWritable: true },
|
|
21
|
+
{ pubkey: governance, isSigner: false, isWritable: true },
|
|
22
|
+
{ pubkey: proposalOwnerRecord, isSigner: false, isWritable: true },
|
|
23
|
+
{ pubkey: governingTokenMint, isSigner: false, isWritable: false },
|
|
24
|
+
{ pubkey: governanceAuthority, isSigner: true, isWritable: false },
|
|
25
|
+
{ pubkey: payer, isSigner: true, isWritable: true },
|
|
26
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
|
|
27
|
+
{ pubkey: realmConfig, isSigner: false, isWritable: false },
|
|
28
|
+
];
|
|
29
|
+
if (voterWeightRecord) {
|
|
30
|
+
keys.push({ pubkey: voterWeightRecord, isSigner: false, isWritable: false });
|
|
31
|
+
}
|
|
32
|
+
keys.push({ pubkey: proposalDeposit, isSigner: false, isWritable: true });
|
|
33
|
+
// ProposalTransaction PDAs
|
|
34
|
+
for (let i = 0; i < transactions.length; i++) {
|
|
35
|
+
const txAddress = (0, pda_1.getProposalTransactionAddress)(programId, proposalAddress, 0, i);
|
|
36
|
+
keys.push({ pubkey: txAddress, isSigner: false, isWritable: true });
|
|
37
|
+
}
|
|
38
|
+
// VoteRecord PDA (if voting)
|
|
39
|
+
if (vote) {
|
|
40
|
+
const voteRecord = (0, pda_1.getVoteRecordAddress)(programId, proposalAddress, proposalOwnerRecord);
|
|
41
|
+
keys.push({ pubkey: voteRecord, isSigner: false, isWritable: true });
|
|
42
|
+
if (maxVoterWeightRecord) {
|
|
43
|
+
keys.push({ pubkey: maxVoterWeightRecord, isSigner: false, isWritable: false });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (sowellianArgs && sowellianAccounts) {
|
|
47
|
+
const bet = (0, pda_1.getBetAddress)(programId, proposalAddress);
|
|
48
|
+
const betVault = (0, spl_token_1.getAssociatedTokenAddressSync)(governingTokenMint, bet, true, sowellianAccounts.splTokenProgram);
|
|
49
|
+
const creatorReceipt = (0, pda_1.getReceiptAddress)(programId, bet, bet);
|
|
50
|
+
keys.push({
|
|
51
|
+
pubkey: (0, pda_1.getSowellianConfigAddress)(programId, realm),
|
|
52
|
+
isSigner: false,
|
|
53
|
+
isWritable: false,
|
|
54
|
+
}, { pubkey: bet, isSigner: false, isWritable: true }, { pubkey: betVault, isSigner: false, isWritable: true }, {
|
|
55
|
+
pubkey: sowellianAccounts.sourceTokenAccount,
|
|
56
|
+
isSigner: false,
|
|
57
|
+
isWritable: true,
|
|
58
|
+
}, { pubkey: creatorReceipt, isSigner: false, isWritable: true }, {
|
|
59
|
+
pubkey: sowellianAccounts.splTokenProgram,
|
|
60
|
+
isSigner: false,
|
|
61
|
+
isWritable: false,
|
|
62
|
+
}, {
|
|
63
|
+
pubkey: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
64
|
+
isSigner: false,
|
|
65
|
+
isWritable: false,
|
|
66
|
+
});
|
|
67
|
+
if (sowellianAccounts.secondaryEnabled) {
|
|
68
|
+
const secondary = (0, pda_1.getSecondaryMarketAddress)(programId, proposalAddress);
|
|
69
|
+
const secondaryVault = (0, spl_token_1.getAssociatedTokenAddressSync)(governingTokenMint, secondary, true, sowellianAccounts.splTokenProgram);
|
|
70
|
+
keys.push({ pubkey: secondary, isSigner: false, isWritable: true }, { pubkey: secondaryVault, isSigner: false, isWritable: true });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const w = new borsh_1.BorshWriter();
|
|
74
|
+
w.writeU8(enums_1.GovernanceInstruction.CreateProposalWithTransactions);
|
|
75
|
+
w.writeString(name);
|
|
76
|
+
w.writeString(descriptionLink);
|
|
77
|
+
w.writePubkey(proposalSeed);
|
|
78
|
+
w.writeOption(maxVotingTime ?? null, (w, v) => w.writeU32(v));
|
|
79
|
+
w.writeVec(transactions, types_1.writeProposalTransactionInput);
|
|
80
|
+
w.writeBool(finalize);
|
|
81
|
+
w.writeBool(vote);
|
|
82
|
+
w.writeOption(sowellianArgs ?? null, types_1.writeSowellianProposalArgs);
|
|
83
|
+
return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=createProposalWithTransactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProposalWithTransactions.js","sourceRoot":"","sources":["../../src/instructions/createProposalWithTransactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import { GoverningTokenConfigArgs, MintMaxVoterWeightSource } from "../types";
|
|
3
|
+
export interface CreateRealmArgs {
|
|
4
|
+
programId: PublicKey;
|
|
5
|
+
name: string;
|
|
6
|
+
realmAuthority: PublicKey;
|
|
7
|
+
communityMint: PublicKey;
|
|
8
|
+
payer: PublicKey;
|
|
9
|
+
councilMint?: PublicKey;
|
|
10
|
+
communityMintMaxVoterWeightSource: MintMaxVoterWeightSource;
|
|
11
|
+
minCommunityWeightToCreateGovernance: bigint;
|
|
12
|
+
communityTokenConfig?: GoverningTokenConfigArgs;
|
|
13
|
+
councilTokenConfig?: GoverningTokenConfigArgs;
|
|
14
|
+
communityTokenProgramId?: PublicKey;
|
|
15
|
+
councilTokenProgramId?: PublicKey;
|
|
16
|
+
}
|
|
17
|
+
export declare function createRealmInstruction(args: CreateRealmArgs): TransactionInstruction;
|
|
18
|
+
//# sourceMappingURL=createRealm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRealm.d.ts","sourceRoot":"","sources":["../../src/instructions/createRealm.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,UAAU,CAAC;AAOlB,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,SAAS,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,iCAAiC,EAAE,wBAAwB,CAAC;IAC5D,oCAAoC,EAAE,MAAM,CAAC;IAC7C,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAC9C,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,qBAAqB,CAAC,EAAE,SAAS,CAAC;CACnC;AAQD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,sBAAsB,CA0EpF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createRealmInstruction = createRealmInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
6
|
+
const borsh_1 = require("../borsh");
|
|
7
|
+
const enums_1 = require("../enums");
|
|
8
|
+
const types_1 = require("../types");
|
|
9
|
+
const pda_1 = require("../pda");
|
|
10
|
+
const DEFAULT_TOKEN_CONFIG = {
|
|
11
|
+
useVoterWeightAddin: false,
|
|
12
|
+
useMaxVoterWeightAddin: false,
|
|
13
|
+
tokenType: enums_1.GoverningTokenType.Liquid,
|
|
14
|
+
};
|
|
15
|
+
function createRealmInstruction(args) {
|
|
16
|
+
const { programId, name, realmAuthority, communityMint, payer, councilMint, communityMintMaxVoterWeightSource, minCommunityWeightToCreateGovernance, communityTokenConfig = DEFAULT_TOKEN_CONFIG, councilTokenConfig = DEFAULT_TOKEN_CONFIG, communityTokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, councilTokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, } = args;
|
|
17
|
+
const realmAddress = (0, pda_1.getRealmAddress)(programId, name);
|
|
18
|
+
const communityHolding = (0, pda_1.getGoverningTokenHoldingAddress)(programId, realmAddress, communityMint);
|
|
19
|
+
const keys = [
|
|
20
|
+
{ pubkey: realmAddress, isSigner: false, isWritable: true },
|
|
21
|
+
{ pubkey: realmAuthority, isSigner: false, isWritable: false },
|
|
22
|
+
{ pubkey: communityMint, isSigner: false, isWritable: false },
|
|
23
|
+
{ pubkey: communityHolding, isSigner: false, isWritable: true },
|
|
24
|
+
{ pubkey: payer, isSigner: true, isWritable: true },
|
|
25
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
|
|
26
|
+
{ pubkey: communityTokenProgramId, isSigner: false, isWritable: false },
|
|
27
|
+
{ pubkey: web3_js_1.SYSVAR_RENT_PUBKEY, isSigner: false, isWritable: false },
|
|
28
|
+
];
|
|
29
|
+
if (councilMint) {
|
|
30
|
+
const councilHolding = (0, pda_1.getGoverningTokenHoldingAddress)(programId, realmAddress, councilMint);
|
|
31
|
+
keys.push({ pubkey: councilMint, isSigner: false, isWritable: false });
|
|
32
|
+
keys.push({ pubkey: councilHolding, isSigner: false, isWritable: true });
|
|
33
|
+
keys.push({ pubkey: councilTokenProgramId, isSigner: false, isWritable: false });
|
|
34
|
+
}
|
|
35
|
+
const realmConfigAddress = (0, pda_1.getRealmConfigAddress)(programId, realmAddress);
|
|
36
|
+
keys.push({ pubkey: realmConfigAddress, isSigner: false, isWritable: true });
|
|
37
|
+
// Voter weight addin accounts for community
|
|
38
|
+
if (communityTokenConfig.useVoterWeightAddin) {
|
|
39
|
+
// Caller must handle pushing addin program IDs
|
|
40
|
+
}
|
|
41
|
+
if (communityTokenConfig.useMaxVoterWeightAddin) {
|
|
42
|
+
// Caller must handle pushing addin program IDs
|
|
43
|
+
}
|
|
44
|
+
const configArgs = {
|
|
45
|
+
useCouncilMint: !!councilMint,
|
|
46
|
+
minCommunityWeightToCreateGovernance,
|
|
47
|
+
communityMintMaxVoterWeightSource,
|
|
48
|
+
communityTokenConfigArgs: communityTokenConfig,
|
|
49
|
+
councilTokenConfigArgs: councilTokenConfig,
|
|
50
|
+
};
|
|
51
|
+
const w = new borsh_1.BorshWriter();
|
|
52
|
+
w.writeU8(enums_1.GovernanceInstruction.CreateRealm);
|
|
53
|
+
w.writeString(name);
|
|
54
|
+
(0, types_1.writeRealmConfigArgs)(w, configArgs);
|
|
55
|
+
return new web3_js_1.TransactionInstruction({
|
|
56
|
+
programId,
|
|
57
|
+
keys,
|
|
58
|
+
data: w.toBuffer(),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=createRealm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRealm.js","sourceRoot":"","sources":["../../src/instructions/createRealm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
export declare function createTokenOwnerRecordInstruction(programId: PublicKey, realm: PublicKey, governingTokenOwner: PublicKey, governingTokenMint: PublicKey, payer: PublicKey): TransactionInstruction;
|
|
3
|
+
//# sourceMappingURL=createTokenOwnerRecord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTokenOwnerRecord.d.ts","sourceRoot":"","sources":["../../src/instructions/createTokenOwnerRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,mBAAmB,EAAE,SAAS,EAC9B,kBAAkB,EAAE,SAAS,EAC7B,KAAK,EAAE,SAAS,GACf,sBAAsB,CAqBxB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createTokenOwnerRecordInstruction = createTokenOwnerRecordInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const borsh_1 = require("../borsh");
|
|
6
|
+
const enums_1 = require("../enums");
|
|
7
|
+
const pda_1 = require("../pda");
|
|
8
|
+
function createTokenOwnerRecordInstruction(programId, realm, governingTokenOwner, governingTokenMint, payer) {
|
|
9
|
+
const tokenOwnerRecord = (0, pda_1.getTokenOwnerRecordAddress)(programId, realm, governingTokenMint, governingTokenOwner);
|
|
10
|
+
const keys = [
|
|
11
|
+
{ pubkey: realm, isSigner: false, isWritable: false },
|
|
12
|
+
{ pubkey: governingTokenOwner, isSigner: false, isWritable: false },
|
|
13
|
+
{ pubkey: tokenOwnerRecord, isSigner: false, isWritable: true },
|
|
14
|
+
{ pubkey: governingTokenMint, isSigner: false, isWritable: false },
|
|
15
|
+
{ pubkey: payer, isSigner: true, isWritable: true },
|
|
16
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
|
|
17
|
+
];
|
|
18
|
+
const w = new borsh_1.BorshWriter();
|
|
19
|
+
w.writeU8(enums_1.GovernanceInstruction.CreateTokenOwnerRecord);
|
|
20
|
+
return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=createTokenOwnerRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTokenOwnerRecord.js","sourceRoot":"","sources":["../../src/instructions/createTokenOwnerRecord.ts"],"names":[],"mappings":";;AASA,8EA2BC;AApCD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAAoD;AAEpD,SAAgB,iCAAiC,CAC/C,SAAoB,EACpB,KAAgB,EAChB,mBAA8B,EAC9B,kBAA6B,EAC7B,KAAgB;IAEhB,MAAM,gBAAgB,GAAG,IAAA,gCAA0B,EACjD,SAAS,EACT,KAAK,EACL,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACnE,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/D,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QACnD,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACxE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,sBAAsB,CAAC,CAAC;IAExD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
export interface DepositGoverningTokensArgs {
|
|
3
|
+
programId: PublicKey;
|
|
4
|
+
realm: PublicKey;
|
|
5
|
+
governingTokenSource: PublicKey;
|
|
6
|
+
governingTokenOwner: PublicKey;
|
|
7
|
+
governingTokenSourceAuthority: PublicKey;
|
|
8
|
+
payer: PublicKey;
|
|
9
|
+
amount: bigint;
|
|
10
|
+
governingTokenMint: PublicKey;
|
|
11
|
+
tokenProgramId?: PublicKey;
|
|
12
|
+
}
|
|
13
|
+
export declare function depositGoverningTokensInstruction(args: DepositGoverningTokensArgs): TransactionInstruction;
|
|
14
|
+
//# sourceMappingURL=depositGoverningTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositGoverningTokens.d.ts","sourceRoot":"","sources":["../../src/instructions/depositGoverningTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAET,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,oBAAoB,EAAE,SAAS,CAAC;IAChC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,6BAA6B,EAAE,SAAS,CAAC;IACzC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,SAAS,CAAC;IAC9B,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,0BAA0B,GAC/B,sBAAsB,CA4CxB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.depositGoverningTokensInstruction = depositGoverningTokensInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
6
|
+
const borsh_1 = require("../borsh");
|
|
7
|
+
const enums_1 = require("../enums");
|
|
8
|
+
const pda_1 = require("../pda");
|
|
9
|
+
function depositGoverningTokensInstruction(args) {
|
|
10
|
+
const { programId, realm, governingTokenSource, governingTokenOwner, governingTokenSourceAuthority, payer, amount, governingTokenMint, tokenProgramId = spl_token_1.TOKEN_PROGRAM_ID, } = args;
|
|
11
|
+
const tokenOwnerRecord = (0, pda_1.getTokenOwnerRecordAddress)(programId, realm, governingTokenMint, governingTokenOwner);
|
|
12
|
+
const tokenHolding = (0, pda_1.getGoverningTokenHoldingAddress)(programId, realm, governingTokenMint);
|
|
13
|
+
const realmConfig = (0, pda_1.getRealmConfigAddress)(programId, realm);
|
|
14
|
+
const keys = [
|
|
15
|
+
{ pubkey: realm, isSigner: false, isWritable: false },
|
|
16
|
+
{ pubkey: tokenHolding, isSigner: false, isWritable: true },
|
|
17
|
+
{ pubkey: governingTokenSource, isSigner: false, isWritable: true },
|
|
18
|
+
{ pubkey: governingTokenOwner, isSigner: true, isWritable: false },
|
|
19
|
+
{ pubkey: governingTokenSourceAuthority, isSigner: true, isWritable: false },
|
|
20
|
+
{ pubkey: tokenOwnerRecord, isSigner: false, isWritable: true },
|
|
21
|
+
{ pubkey: payer, isSigner: true, isWritable: true },
|
|
22
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
|
|
23
|
+
{ pubkey: tokenProgramId, isSigner: false, isWritable: false },
|
|
24
|
+
{ pubkey: realmConfig, isSigner: false, isWritable: false },
|
|
25
|
+
];
|
|
26
|
+
const w = new borsh_1.BorshWriter();
|
|
27
|
+
w.writeU8(enums_1.GovernanceInstruction.DepositGoverningTokens);
|
|
28
|
+
w.writeU64(amount);
|
|
29
|
+
return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=depositGoverningTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositGoverningTokens.js","sourceRoot":"","sources":["../../src/instructions/depositGoverningTokens.ts"],"names":[],"mappings":";;AA2BA,8EA8CC;AAzED,6CAKyB;AACzB,iDAAqD;AACrD,oCAAuC;AACvC,oCAAiD;AACjD,gCAIgB;AAchB,SAAgB,iCAAiC,CAC/C,IAAgC;IAEhC,MAAM,EACJ,SAAS,EACT,KAAK,EACL,oBAAoB,EACpB,mBAAmB,EACnB,6BAA6B,EAC7B,KAAK,EACL,MAAM,EACN,kBAAkB,EAClB,cAAc,GAAG,4BAAgB,GAClC,GAAG,IAAI,CAAC;IAET,MAAM,gBAAgB,GAAG,IAAA,gCAA0B,EACjD,SAAS,EACT,KAAK,EACL,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;IACF,MAAM,YAAY,GAAG,IAAA,qCAA+B,EAClD,SAAS,EACT,KAAK,EACL,kBAAkB,CACnB,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,2BAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC3D,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACnE,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,6BAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAC5E,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/D,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QACnD,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACvE,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC9D,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KAC5D,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,sBAAsB,CAAC,CAAC;IACxD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEnB,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AccountMeta, PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
export interface ExecuteTransactionArgs {
|
|
3
|
+
programId: PublicKey;
|
|
4
|
+
governance: PublicKey;
|
|
5
|
+
proposal: PublicKey;
|
|
6
|
+
proposalTransaction: PublicKey;
|
|
7
|
+
/** The accounts required by the inner instruction(s), in order
|
|
8
|
+
* (program ids + their accounts). */
|
|
9
|
+
instructionAccounts: AccountMeta[];
|
|
10
|
+
/** Bet PDA — must be supplied iff `proposal.hasBet`. Inserted at the
|
|
11
|
+
* fixed positional slot 3 so it is excluded from the CPI accounts slice. */
|
|
12
|
+
bet?: PublicKey;
|
|
13
|
+
/** GovernanceLimits PDA — must be supplied iff
|
|
14
|
+
* `governance.hasSpendingLimits`. Inserted at fixed positional slot 4. */
|
|
15
|
+
governanceLimits?: PublicKey;
|
|
16
|
+
}
|
|
17
|
+
export declare function executeTransactionInstruction(args: ExecuteTransactionArgs): TransactionInstruction;
|
|
18
|
+
//# sourceMappingURL=executeTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeTransaction.d.ts","sourceRoot":"","sources":["../../src/instructions/executeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,mBAAmB,EAAE,SAAS,CAAC;IAC/B;0CACsC;IACtC,mBAAmB,EAAE,WAAW,EAAE,CAAC;IACnC;iFAC6E;IAC7E,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;+EAC2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,sBAAsB,GAC3B,sBAAsB,CA8BxB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeTransactionInstruction = executeTransactionInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const borsh_1 = require("../borsh");
|
|
6
|
+
const enums_1 = require("../enums");
|
|
7
|
+
function executeTransactionInstruction(args) {
|
|
8
|
+
const { programId, governance, proposal, proposalTransaction, instructionAccounts, bet, governanceLimits, } = args;
|
|
9
|
+
const keys = [
|
|
10
|
+
{ pubkey: governance, isSigner: false, isWritable: false },
|
|
11
|
+
{ pubkey: proposal, isSigner: false, isWritable: true },
|
|
12
|
+
{ pubkey: proposalTransaction, isSigner: false, isWritable: true },
|
|
13
|
+
];
|
|
14
|
+
if (bet) {
|
|
15
|
+
keys.push({ pubkey: bet, isSigner: false, isWritable: true });
|
|
16
|
+
}
|
|
17
|
+
if (governanceLimits) {
|
|
18
|
+
keys.push({ pubkey: governanceLimits, isSigner: false, isWritable: false });
|
|
19
|
+
}
|
|
20
|
+
keys.push(...instructionAccounts);
|
|
21
|
+
const w = new borsh_1.BorshWriter();
|
|
22
|
+
w.writeU8(enums_1.GovernanceInstruction.ExecuteTransaction);
|
|
23
|
+
return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=executeTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeTransaction.js","sourceRoot":"","sources":["../../src/instructions/executeTransaction.ts"],"names":[],"mappings":";;AAyBA,sEAgCC;AAzDD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AAmBjD,SAAgB,6BAA6B,CAC3C,IAA4B;IAE5B,MAAM,EACJ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,EACnB,GAAG,EACH,gBAAgB,GACjB,GAAG,IAAI,CAAC;IAET,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC1D,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACvD,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;KACnE,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAElC,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,kBAAkB,CAAC,CAAC;IAEpD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export * from "./createRealm";
|
|
2
|
+
export * from "./depositGoverningTokens";
|
|
3
|
+
export * from "./withdrawGoverningTokens";
|
|
4
|
+
export * from "./createGovernance";
|
|
5
|
+
export * from "./createProposal";
|
|
6
|
+
export * from "./insertTransaction";
|
|
7
|
+
export * from "./castVote";
|
|
8
|
+
export * from "./relinquishVote";
|
|
9
|
+
export * from "./executeTransaction";
|
|
10
|
+
export * from "./setGovernanceConfig";
|
|
11
|
+
export * from "./setRealmAuthority";
|
|
12
|
+
export * from "./setRealmConfig";
|
|
13
|
+
export * from "./createTokenOwnerRecord";
|
|
14
|
+
export * from "./createNativeTreasury";
|
|
15
|
+
export * from "./refundProposalDeposit";
|
|
16
|
+
export * from "./createProposalWithTransactions";
|
|
17
|
+
export * from "./setGovernanceLimits";
|
|
18
|
+
export * from "./closeProposal";
|
|
19
|
+
export * from "./setOrUpdateSowellianConfig";
|
|
20
|
+
export * from "./setSowellianGovernanceConfig";
|
|
21
|
+
export * from "./castSowellianVote";
|
|
22
|
+
export * from "./settleBet";
|
|
23
|
+
export * from "./resolveBet";
|
|
24
|
+
export * from "./withdrawPayoff";
|
|
25
|
+
export * from "./closeReceipt";
|
|
26
|
+
export * from "./closeBet";
|
|
27
|
+
export * from "./castSecondaryVote";
|
|
28
|
+
export * from "./closeSecondary";
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./createRealm"), exports);
|
|
18
|
+
__exportStar(require("./depositGoverningTokens"), exports);
|
|
19
|
+
__exportStar(require("./withdrawGoverningTokens"), exports);
|
|
20
|
+
__exportStar(require("./createGovernance"), exports);
|
|
21
|
+
__exportStar(require("./createProposal"), exports);
|
|
22
|
+
__exportStar(require("./insertTransaction"), exports);
|
|
23
|
+
__exportStar(require("./castVote"), exports);
|
|
24
|
+
__exportStar(require("./relinquishVote"), exports);
|
|
25
|
+
__exportStar(require("./executeTransaction"), exports);
|
|
26
|
+
__exportStar(require("./setGovernanceConfig"), exports);
|
|
27
|
+
__exportStar(require("./setRealmAuthority"), exports);
|
|
28
|
+
__exportStar(require("./setRealmConfig"), exports);
|
|
29
|
+
__exportStar(require("./createTokenOwnerRecord"), exports);
|
|
30
|
+
__exportStar(require("./createNativeTreasury"), exports);
|
|
31
|
+
__exportStar(require("./refundProposalDeposit"), exports);
|
|
32
|
+
__exportStar(require("./createProposalWithTransactions"), exports);
|
|
33
|
+
__exportStar(require("./setGovernanceLimits"), exports);
|
|
34
|
+
__exportStar(require("./closeProposal"), exports);
|
|
35
|
+
__exportStar(require("./setOrUpdateSowellianConfig"), exports);
|
|
36
|
+
__exportStar(require("./setSowellianGovernanceConfig"), exports);
|
|
37
|
+
__exportStar(require("./castSowellianVote"), exports);
|
|
38
|
+
__exportStar(require("./settleBet"), exports);
|
|
39
|
+
__exportStar(require("./resolveBet"), exports);
|
|
40
|
+
__exportStar(require("./withdrawPayoff"), exports);
|
|
41
|
+
__exportStar(require("./closeReceipt"), exports);
|
|
42
|
+
__exportStar(require("./closeBet"), exports);
|
|
43
|
+
__exportStar(require("./castSecondaryVote"), exports);
|
|
44
|
+
__exportStar(require("./closeSecondary"), exports);
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2DAAyC;AACzC,4DAA0C;AAC1C,qDAAmC;AACnC,mDAAiC;AACjC,sDAAoC;AACpC,6CAA2B;AAC3B,mDAAiC;AACjC,uDAAqC;AACrC,wDAAsC;AACtC,sDAAoC;AACpC,mDAAiC;AACjC,2DAAyC;AACzC,yDAAuC;AACvC,0DAAwC;AACxC,mEAAiD;AACjD,wDAAsC;AACtC,kDAAgC;AAChC,+DAA6C;AAC7C,iEAA+C;AAC/C,sDAAoC;AACpC,8CAA4B;AAC5B,+CAA6B;AAC7B,mDAAiC;AACjC,iDAA+B;AAC/B,6CAA2B;AAC3B,sDAAoC;AACpC,mDAAiC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
import { InstructionData } from "../types";
|
|
3
|
+
export interface InsertTransactionArgs {
|
|
4
|
+
programId: PublicKey;
|
|
5
|
+
governance: PublicKey;
|
|
6
|
+
proposal: PublicKey;
|
|
7
|
+
tokenOwnerRecord: PublicKey;
|
|
8
|
+
governanceAuthority: PublicKey;
|
|
9
|
+
payer: PublicKey;
|
|
10
|
+
optionIndex: number;
|
|
11
|
+
index: number;
|
|
12
|
+
holdUpTime: number;
|
|
13
|
+
instructions: InstructionData[];
|
|
14
|
+
finalize: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function insertTransactionInstruction(args: InsertTransactionArgs): TransactionInstruction;
|
|
17
|
+
//# sourceMappingURL=insertTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insertTransaction.d.ts","sourceRoot":"","sources":["../../src/instructions/insertTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAwB,MAAM,UAAU,CAAC;AAGjE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,mBAAmB,EAAE,SAAS,CAAC;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,qBAAqB,GAC1B,sBAAsB,CA0CxB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.insertTransactionInstruction = insertTransactionInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const borsh_1 = require("../borsh");
|
|
6
|
+
const enums_1 = require("../enums");
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
const pda_1 = require("../pda");
|
|
9
|
+
function insertTransactionInstruction(args) {
|
|
10
|
+
const { programId, governance, proposal, tokenOwnerRecord, governanceAuthority, payer, optionIndex, index, holdUpTime, instructions, finalize, } = args;
|
|
11
|
+
const proposalTransaction = (0, pda_1.getProposalTransactionAddress)(programId, proposal, optionIndex, index);
|
|
12
|
+
const keys = [
|
|
13
|
+
{ pubkey: governance, isSigner: false, isWritable: false },
|
|
14
|
+
{ pubkey: proposal, isSigner: false, isWritable: true },
|
|
15
|
+
{ pubkey: tokenOwnerRecord, isSigner: false, isWritable: false },
|
|
16
|
+
{ pubkey: governanceAuthority, isSigner: true, isWritable: false },
|
|
17
|
+
{ pubkey: proposalTransaction, isSigner: false, isWritable: true },
|
|
18
|
+
{ pubkey: payer, isSigner: true, isWritable: true },
|
|
19
|
+
{ pubkey: web3_js_1.SystemProgram.programId, isSigner: false, isWritable: false },
|
|
20
|
+
{ pubkey: web3_js_1.SYSVAR_RENT_PUBKEY, isSigner: false, isWritable: false },
|
|
21
|
+
];
|
|
22
|
+
const w = new borsh_1.BorshWriter();
|
|
23
|
+
w.writeU8(enums_1.GovernanceInstruction.InsertTransaction);
|
|
24
|
+
w.writeU8(optionIndex);
|
|
25
|
+
w.writeU16(index);
|
|
26
|
+
w.writeU32(holdUpTime);
|
|
27
|
+
w.writeVec(instructions, types_1.writeInstructionData);
|
|
28
|
+
w.writeBool(finalize);
|
|
29
|
+
return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=insertTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insertTransaction.js","sourceRoot":"","sources":["../../src/instructions/insertTransaction.ts"],"names":[],"mappings":";;AA0BA,oEA4CC;AAtED,6CAMyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,oCAAiE;AACjE,gCAAuD;AAgBvD,SAAgB,4BAA4B,CAC1C,IAA2B;IAE3B,MAAM,EACJ,SAAS,EACT,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,WAAW,EACX,KAAK,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,GAAG,IAAI,CAAC;IAET,MAAM,mBAAmB,GAAG,IAAA,mCAA6B,EACvD,SAAS,EACT,QAAQ,EACR,WAAW,EACX,KAAK,CACN,CAAC;IAEF,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC1D,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACvD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAChE,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAClE,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAClE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QACnD,EAAE,MAAM,EAAE,uBAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACvE,EAAE,MAAM,EAAE,4BAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACnE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,iBAAiB,CAAC,CAAC;IACnD,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,4BAAoB,CAAC,CAAC;IAC/C,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEtB,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
export declare function refundProposalDepositInstruction(programId: PublicKey, proposal: PublicKey, proposalDepositPayer: PublicKey): TransactionInstruction;
|
|
3
|
+
//# sourceMappingURL=refundProposalDeposit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refundProposalDeposit.d.ts","sourceRoot":"","sources":["../../src/instructions/refundProposalDeposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKpE,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,SAAS,EACnB,oBAAoB,EAAE,SAAS,GAC9B,sBAAsB,CAiBxB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.refundProposalDepositInstruction = refundProposalDepositInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const borsh_1 = require("../borsh");
|
|
6
|
+
const enums_1 = require("../enums");
|
|
7
|
+
const pda_1 = require("../pda");
|
|
8
|
+
function refundProposalDepositInstruction(programId, proposal, proposalDepositPayer) {
|
|
9
|
+
const proposalDeposit = (0, pda_1.getProposalDepositAddress)(programId, proposal, proposalDepositPayer);
|
|
10
|
+
const keys = [
|
|
11
|
+
{ pubkey: proposal, isSigner: false, isWritable: false },
|
|
12
|
+
{ pubkey: proposalDeposit, isSigner: false, isWritable: true },
|
|
13
|
+
{ pubkey: proposalDepositPayer, isSigner: false, isWritable: true },
|
|
14
|
+
];
|
|
15
|
+
const w = new borsh_1.BorshWriter();
|
|
16
|
+
w.writeU8(enums_1.GovernanceInstruction.RefundProposalDeposit);
|
|
17
|
+
return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=refundProposalDeposit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refundProposalDeposit.js","sourceRoot":"","sources":["../../src/instructions/refundProposalDeposit.ts"],"names":[],"mappings":";;AAKA,4EAqBC;AA1BD,6CAAoE;AACpE,oCAAuC;AACvC,oCAAiD;AACjD,gCAAmD;AAEnD,SAAgB,gCAAgC,CAC9C,SAAoB,EACpB,QAAmB,EACnB,oBAA+B;IAE/B,MAAM,eAAe,GAAG,IAAA,+BAAyB,EAC/C,SAAS,EACT,QAAQ,EACR,oBAAoB,CACrB,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACxD,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC9D,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;KACpE,CAAC;IAEF,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,qBAAqB,CAAC,CAAC;IAEvD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
export interface RelinquishVoteArgs {
|
|
3
|
+
programId: PublicKey;
|
|
4
|
+
realm: PublicKey;
|
|
5
|
+
governance: PublicKey;
|
|
6
|
+
proposal: PublicKey;
|
|
7
|
+
tokenOwnerRecord: PublicKey;
|
|
8
|
+
voteGoverningTokenMint: PublicKey;
|
|
9
|
+
governanceAuthority?: PublicKey;
|
|
10
|
+
beneficiary?: PublicKey;
|
|
11
|
+
}
|
|
12
|
+
export declare function relinquishVoteInstruction(args: RelinquishVoteArgs): TransactionInstruction;
|
|
13
|
+
//# sourceMappingURL=relinquishVote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relinquishVote.d.ts","sourceRoot":"","sources":["../../src/instructions/relinquishVote.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sBAAsB,EAAE,SAAS,CAAC;IAClC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,kBAAkB,GACvB,sBAAsB,CAgCxB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.relinquishVoteInstruction = relinquishVoteInstruction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
const borsh_1 = require("../borsh");
|
|
6
|
+
const enums_1 = require("../enums");
|
|
7
|
+
const pda_1 = require("../pda");
|
|
8
|
+
function relinquishVoteInstruction(args) {
|
|
9
|
+
const { programId, realm, governance, proposal, tokenOwnerRecord, voteGoverningTokenMint, governanceAuthority, beneficiary, } = args;
|
|
10
|
+
const voteRecord = (0, pda_1.getVoteRecordAddress)(programId, proposal, tokenOwnerRecord);
|
|
11
|
+
const keys = [
|
|
12
|
+
{ pubkey: realm, isSigner: false, isWritable: false },
|
|
13
|
+
{ pubkey: governance, isSigner: false, isWritable: false },
|
|
14
|
+
{ pubkey: proposal, isSigner: false, isWritable: true },
|
|
15
|
+
{ pubkey: tokenOwnerRecord, isSigner: false, isWritable: true },
|
|
16
|
+
{ pubkey: voteRecord, isSigner: false, isWritable: true },
|
|
17
|
+
{ pubkey: voteGoverningTokenMint, isSigner: false, isWritable: false },
|
|
18
|
+
];
|
|
19
|
+
if (governanceAuthority) {
|
|
20
|
+
keys.push({ pubkey: governanceAuthority, isSigner: true, isWritable: false });
|
|
21
|
+
keys.push({ pubkey: beneficiary, isSigner: false, isWritable: true });
|
|
22
|
+
}
|
|
23
|
+
const w = new borsh_1.BorshWriter();
|
|
24
|
+
w.writeU8(enums_1.GovernanceInstruction.RelinquishVote);
|
|
25
|
+
return new web3_js_1.TransactionInstruction({ programId, keys, data: w.toBuffer() });
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=relinquishVote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relinquishVote.js","sourceRoot":"","sources":["../../src/instructions/relinquishVote.ts"],"names":[],"mappings":";;AAoBA,8DAkCC;AAtDD,6CAIyB;AACzB,oCAAuC;AACvC,oCAAiD;AACjD,gCAA8C;AAa9C,SAAgB,yBAAyB,CACvC,IAAwB;IAExB,MAAM,EACJ,SAAS,EACT,KAAK,EACL,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,GACZ,GAAG,IAAI,CAAC;IAET,MAAM,UAAU,GAAG,IAAA,0BAAoB,EAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAE/E,MAAM,IAAI,GAAkB;QAC1B,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QACrD,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAC1D,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACvD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/D,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QACzD,EAAE,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;KACvE,CAAC;IAEF,IAAI,mBAAmB,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,mBAAW,EAAE,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAC,6BAAqB,CAAC,cAAc,CAAC,CAAC;IAEhD,OAAO,IAAI,gCAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
|
|
2
|
+
export interface ResolveBetArgs {
|
|
3
|
+
programId: PublicKey;
|
|
4
|
+
realm: PublicKey;
|
|
5
|
+
resolutionAuthority: PublicKey;
|
|
6
|
+
proposal: PublicKey;
|
|
7
|
+
betVault: PublicKey;
|
|
8
|
+
treasuryTokenAccount: PublicKey;
|
|
9
|
+
communityMint: PublicKey;
|
|
10
|
+
splTokenProgram: PublicKey;
|
|
11
|
+
/**
|
|
12
|
+
* SecondaryMarket vault ATA. Required (and triggers the SecondaryMarket
|
|
13
|
+
* PDA to be appended) when `proposal.has_secondary` is true; omit
|
|
14
|
+
* otherwise.
|
|
15
|
+
*/
|
|
16
|
+
secondaryVault?: PublicKey;
|
|
17
|
+
outcomeYes: boolean;
|
|
18
|
+
impactBps: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function resolveBetInstruction(args: ResolveBetArgs): TransactionInstruction;
|
|
21
|
+
//# sourceMappingURL=resolveBet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveBet.d.ts","sourceRoot":"","sources":["../../src/instructions/resolveBet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,mBAAmB,EAAE,SAAS,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,oBAAoB,EAAE,SAAS,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,GACnB,sBAAsB,CA4CxB"}
|