@solana/signers
Advanced tools
Comparing version 2.0.0-experimental.e1ca396 to 2.0.0-experimental.e374ac6
@@ -0,5 +1,6 @@ | ||
import { SolanaError, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_KEY_PAIR_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SENDING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SIGNER, SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING, SOLANA_ERROR__SIGNER_TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS, SOLANA_ERROR__SIGNER_ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS } from '@solana/errors'; | ||
import { isSignerRole } from '@solana/instructions'; | ||
import { getUnsignedTransaction, assertTransactionIsFullySigned, partiallySignTransaction } from '@solana/transactions'; | ||
import { getAddressFromPublicKey, isAddress } from '@solana/addresses'; | ||
import { generateKeyPair, signBytes } from '@solana/keys'; | ||
import { assertTransactionIsFullySigned, partiallySignTransaction } from '@solana/transactions'; | ||
import { generateKeyPair, createKeyPairFromBytes, signBytes } from '@solana/keys'; | ||
@@ -13,5 +14,5 @@ // src/deduplicate-signers.ts | ||
} else if (deduplicated[signer.address] !== signer) { | ||
throw new Error( | ||
`Multiple distinct signers were identified for address "${signer.address}". Please ensure that you are using the same signer instance for each address.` | ||
); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS, { | ||
address: signer.address | ||
}); | ||
} | ||
@@ -29,3 +30,6 @@ }); | ||
function getSignersFromTransaction(transaction) { | ||
return deduplicateSigners(transaction.instructions.flatMap(getSignersFromInstruction)); | ||
return deduplicateSigners([ | ||
...transaction.feePayerSigner ? [transaction.feePayerSigner] : [], | ||
...transaction.instructions.flatMap(getSignersFromInstruction) | ||
]); | ||
} | ||
@@ -57,4 +61,18 @@ function addSignersToInstruction(signers, instruction) { | ||
} | ||
// src/message-partial-signer.ts | ||
function setTransactionFeePayerSigner(feePayerSigner, transaction) { | ||
if ("feePayer" in transaction && feePayerSigner.address === transaction.feePayer) { | ||
if ("feePayerSigner" in transaction) | ||
return transaction; | ||
const out2 = { ...transaction, feePayerSigner }; | ||
Object.freeze(out2); | ||
return out2; | ||
} | ||
const out = { | ||
...getUnsignedTransaction(transaction), | ||
feePayer: feePayerSigner.address, | ||
feePayerSigner | ||
}; | ||
Object.freeze(out); | ||
return out; | ||
} | ||
function isMessagePartialSigner(value) { | ||
@@ -65,7 +83,7 @@ return "signMessages" in value && typeof value.signMessages === "function"; | ||
if (!isMessagePartialSigner(value)) { | ||
throw new Error("The provided value does not implement the MessagePartialSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_PARTIAL_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-partial-signer.ts | ||
function isTransactionPartialSigner(value) { | ||
@@ -76,3 +94,5 @@ return "signTransactions" in value && typeof value.signTransactions === "function"; | ||
if (!isTransactionPartialSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionPartialSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_PARTIAL_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -87,3 +107,5 @@ } | ||
if (!isKeyPairSigner(value)) { | ||
throw new Error("The provided value does not implement the KeyPairSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_KEY_PAIR_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -113,2 +135,5 @@ } | ||
} | ||
async function createKeyPairSignerFromBytes(bytes, extractable) { | ||
return createSignerFromKeyPair(await createKeyPairFromBytes(bytes, extractable)); | ||
} | ||
function isMessageModifyingSigner(value) { | ||
@@ -119,7 +144,7 @@ return isAddress(value.address) && "modifyAndSignMessages" in value && typeof value.modifyAndSignMessages === "function"; | ||
if (!isMessageModifyingSigner(value)) { | ||
throw new Error("The provided value does not implement the MessageModifyingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_MODIFYING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/message-signer.ts | ||
function isMessageSigner(value) { | ||
@@ -130,3 +155,5 @@ return isMessagePartialSigner(value) || isMessageModifyingSigner(value); | ||
if (!isMessageSigner(value)) { | ||
throw new Error("The provided value does not implement any of the MessageSigner interfaces"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -144,4 +171,2 @@ } | ||
} | ||
// src/transaction-modifying-signer.ts | ||
function isTransactionModifyingSigner(value) { | ||
@@ -152,7 +177,7 @@ return "modifyAndSignTransactions" in value && typeof value.modifyAndSignTransactions === "function"; | ||
if (!isTransactionModifyingSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionModifyingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_MODIFYING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-sending-signer.ts | ||
function isTransactionSendingSigner(value) { | ||
@@ -163,7 +188,7 @@ return "signAndSendTransactions" in value && typeof value.signAndSendTransactions === "function"; | ||
if (!isTransactionSendingSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionSendingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SENDING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-signer.ts | ||
function isTransactionSigner(value) { | ||
@@ -174,3 +199,5 @@ return isTransactionPartialSigner(value) || isTransactionModifyingSigner(value) || isTransactionSendingSigner(value); | ||
if (!isTransactionSigner(value)) { | ||
throw new Error("The provided value does not implement any of the TransactionSigner interfaces"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -205,5 +232,3 @@ } | ||
if (!sendingSigner) { | ||
throw new Error( | ||
"No `TransactionSendingSigner` was identified. Please provide a valid `ITransactionWithSingleSendingSigner` transaction." | ||
); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING); | ||
} | ||
@@ -281,4 +306,2 @@ abortSignal?.throwIfAborted(); | ||
} | ||
// src/transaction-with-single-sending-signer.ts | ||
function isTransactionWithSingleSendingSigner(transaction) { | ||
@@ -296,5 +319,3 @@ try { | ||
if (sendingSigners.length === 0) { | ||
const error = new Error("No `TransactionSendingSigner` was identified."); | ||
error.name = "MissingTransactionSendingSignerError"; | ||
throw error; | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING); | ||
} | ||
@@ -305,10 +326,8 @@ const sendingOnlySigners = sendingSigners.filter( | ||
if (sendingOnlySigners.length > 1) { | ||
const error = new Error("More than one `TransactionSendingSigner` was identified."); | ||
error.name = "MultipleTransactionSendingSignersError"; | ||
throw error; | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS); | ||
} | ||
} | ||
export { addSignersToInstruction, addSignersToTransaction, assertIsKeyPairSigner, assertIsMessageModifyingSigner, assertIsMessagePartialSigner, assertIsMessageSigner, assertIsTransactionModifyingSigner, assertIsTransactionPartialSigner, assertIsTransactionSendingSigner, assertIsTransactionSigner, assertIsTransactionWithSingleSendingSigner, createNoopSigner, createSignableMessage, createSignerFromKeyPair, generateKeyPairSigner, getSignersFromInstruction, getSignersFromTransaction, isKeyPairSigner, isMessageModifyingSigner, isMessagePartialSigner, isMessageSigner, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, isTransactionSigner, isTransactionWithSingleSendingSigner, partiallySignTransactionWithSigners, signAndSendTransactionWithSigners, signTransactionWithSigners }; | ||
export { addSignersToInstruction, addSignersToTransaction, assertIsKeyPairSigner, assertIsMessageModifyingSigner, assertIsMessagePartialSigner, assertIsMessageSigner, assertIsTransactionModifyingSigner, assertIsTransactionPartialSigner, assertIsTransactionSendingSigner, assertIsTransactionSigner, assertIsTransactionWithSingleSendingSigner, createKeyPairSignerFromBytes, createNoopSigner, createSignableMessage, createSignerFromKeyPair, generateKeyPairSigner, getSignersFromInstruction, getSignersFromTransaction, isKeyPairSigner, isMessageModifyingSigner, isMessagePartialSigner, isMessageSigner, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, isTransactionSigner, isTransactionWithSingleSendingSigner, partiallySignTransactionWithSigners, setTransactionFeePayerSigner, signAndSendTransactionWithSigners, signTransactionWithSigners }; | ||
//# sourceMappingURL=out.js.map | ||
//# sourceMappingURL=index.browser.js.map |
@@ -0,5 +1,6 @@ | ||
import { SolanaError, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_KEY_PAIR_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SENDING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SIGNER, SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING, SOLANA_ERROR__SIGNER_TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS, SOLANA_ERROR__SIGNER_ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS } from '@solana/errors'; | ||
import { isSignerRole } from '@solana/instructions'; | ||
import { getUnsignedTransaction, assertTransactionIsFullySigned, partiallySignTransaction } from '@solana/transactions'; | ||
import { getAddressFromPublicKey, isAddress } from '@solana/addresses'; | ||
import { generateKeyPair, signBytes } from '@solana/keys'; | ||
import { assertTransactionIsFullySigned, partiallySignTransaction } from '@solana/transactions'; | ||
import { generateKeyPair, createKeyPairFromBytes, signBytes } from '@solana/keys'; | ||
@@ -13,5 +14,5 @@ // src/deduplicate-signers.ts | ||
} else if (deduplicated[signer.address] !== signer) { | ||
throw new Error( | ||
`Multiple distinct signers were identified for address "${signer.address}". Please ensure that you are using the same signer instance for each address.` | ||
); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS, { | ||
address: signer.address | ||
}); | ||
} | ||
@@ -29,3 +30,6 @@ }); | ||
function getSignersFromTransaction(transaction) { | ||
return deduplicateSigners(transaction.instructions.flatMap(getSignersFromInstruction)); | ||
return deduplicateSigners([ | ||
...transaction.feePayerSigner ? [transaction.feePayerSigner] : [], | ||
...transaction.instructions.flatMap(getSignersFromInstruction) | ||
]); | ||
} | ||
@@ -57,4 +61,18 @@ function addSignersToInstruction(signers, instruction) { | ||
} | ||
// src/message-partial-signer.ts | ||
function setTransactionFeePayerSigner(feePayerSigner, transaction) { | ||
if ("feePayer" in transaction && feePayerSigner.address === transaction.feePayer) { | ||
if ("feePayerSigner" in transaction) | ||
return transaction; | ||
const out2 = { ...transaction, feePayerSigner }; | ||
Object.freeze(out2); | ||
return out2; | ||
} | ||
const out = { | ||
...getUnsignedTransaction(transaction), | ||
feePayer: feePayerSigner.address, | ||
feePayerSigner | ||
}; | ||
Object.freeze(out); | ||
return out; | ||
} | ||
function isMessagePartialSigner(value) { | ||
@@ -65,7 +83,7 @@ return "signMessages" in value && typeof value.signMessages === "function"; | ||
if (!isMessagePartialSigner(value)) { | ||
throw new Error("The provided value does not implement the MessagePartialSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_PARTIAL_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-partial-signer.ts | ||
function isTransactionPartialSigner(value) { | ||
@@ -76,3 +94,5 @@ return "signTransactions" in value && typeof value.signTransactions === "function"; | ||
if (!isTransactionPartialSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionPartialSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_PARTIAL_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -87,3 +107,5 @@ } | ||
if (!isKeyPairSigner(value)) { | ||
throw new Error("The provided value does not implement the KeyPairSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_KEY_PAIR_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -113,2 +135,5 @@ } | ||
} | ||
async function createKeyPairSignerFromBytes(bytes, extractable) { | ||
return createSignerFromKeyPair(await createKeyPairFromBytes(bytes, extractable)); | ||
} | ||
function isMessageModifyingSigner(value) { | ||
@@ -119,7 +144,7 @@ return isAddress(value.address) && "modifyAndSignMessages" in value && typeof value.modifyAndSignMessages === "function"; | ||
if (!isMessageModifyingSigner(value)) { | ||
throw new Error("The provided value does not implement the MessageModifyingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_MODIFYING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/message-signer.ts | ||
function isMessageSigner(value) { | ||
@@ -130,3 +155,5 @@ return isMessagePartialSigner(value) || isMessageModifyingSigner(value); | ||
if (!isMessageSigner(value)) { | ||
throw new Error("The provided value does not implement any of the MessageSigner interfaces"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -144,4 +171,2 @@ } | ||
} | ||
// src/transaction-modifying-signer.ts | ||
function isTransactionModifyingSigner(value) { | ||
@@ -152,7 +177,7 @@ return "modifyAndSignTransactions" in value && typeof value.modifyAndSignTransactions === "function"; | ||
if (!isTransactionModifyingSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionModifyingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_MODIFYING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-sending-signer.ts | ||
function isTransactionSendingSigner(value) { | ||
@@ -163,7 +188,7 @@ return "signAndSendTransactions" in value && typeof value.signAndSendTransactions === "function"; | ||
if (!isTransactionSendingSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionSendingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SENDING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-signer.ts | ||
function isTransactionSigner(value) { | ||
@@ -174,3 +199,5 @@ return isTransactionPartialSigner(value) || isTransactionModifyingSigner(value) || isTransactionSendingSigner(value); | ||
if (!isTransactionSigner(value)) { | ||
throw new Error("The provided value does not implement any of the TransactionSigner interfaces"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -205,5 +232,3 @@ } | ||
if (!sendingSigner) { | ||
throw new Error( | ||
"No `TransactionSendingSigner` was identified. Please provide a valid `ITransactionWithSingleSendingSigner` transaction." | ||
); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING); | ||
} | ||
@@ -281,4 +306,2 @@ abortSignal?.throwIfAborted(); | ||
} | ||
// src/transaction-with-single-sending-signer.ts | ||
function isTransactionWithSingleSendingSigner(transaction) { | ||
@@ -296,5 +319,3 @@ try { | ||
if (sendingSigners.length === 0) { | ||
const error = new Error("No `TransactionSendingSigner` was identified."); | ||
error.name = "MissingTransactionSendingSignerError"; | ||
throw error; | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING); | ||
} | ||
@@ -305,10 +326,8 @@ const sendingOnlySigners = sendingSigners.filter( | ||
if (sendingOnlySigners.length > 1) { | ||
const error = new Error("More than one `TransactionSendingSigner` was identified."); | ||
error.name = "MultipleTransactionSendingSignersError"; | ||
throw error; | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS); | ||
} | ||
} | ||
export { addSignersToInstruction, addSignersToTransaction, assertIsKeyPairSigner, assertIsMessageModifyingSigner, assertIsMessagePartialSigner, assertIsMessageSigner, assertIsTransactionModifyingSigner, assertIsTransactionPartialSigner, assertIsTransactionSendingSigner, assertIsTransactionSigner, assertIsTransactionWithSingleSendingSigner, createNoopSigner, createSignableMessage, createSignerFromKeyPair, generateKeyPairSigner, getSignersFromInstruction, getSignersFromTransaction, isKeyPairSigner, isMessageModifyingSigner, isMessagePartialSigner, isMessageSigner, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, isTransactionSigner, isTransactionWithSingleSendingSigner, partiallySignTransactionWithSigners, signAndSendTransactionWithSigners, signTransactionWithSigners }; | ||
export { addSignersToInstruction, addSignersToTransaction, assertIsKeyPairSigner, assertIsMessageModifyingSigner, assertIsMessagePartialSigner, assertIsMessageSigner, assertIsTransactionModifyingSigner, assertIsTransactionPartialSigner, assertIsTransactionSendingSigner, assertIsTransactionSigner, assertIsTransactionWithSingleSendingSigner, createKeyPairSignerFromBytes, createNoopSigner, createSignableMessage, createSignerFromKeyPair, generateKeyPairSigner, getSignersFromInstruction, getSignersFromTransaction, isKeyPairSigner, isMessageModifyingSigner, isMessagePartialSigner, isMessageSigner, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, isTransactionSigner, isTransactionWithSingleSendingSigner, partiallySignTransactionWithSigners, setTransactionFeePayerSigner, signAndSendTransactionWithSigners, signTransactionWithSigners }; | ||
//# sourceMappingURL=out.js.map | ||
//# sourceMappingURL=index.native.js.map |
@@ -0,5 +1,6 @@ | ||
import { SolanaError, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_PARTIAL_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_KEY_PAIR_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_MODIFYING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SENDING_SIGNER, SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SIGNER, SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING, SOLANA_ERROR__SIGNER_TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS, SOLANA_ERROR__SIGNER_ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS } from '@solana/errors'; | ||
import { isSignerRole } from '@solana/instructions'; | ||
import { getUnsignedTransaction, assertTransactionIsFullySigned, partiallySignTransaction } from '@solana/transactions'; | ||
import { getAddressFromPublicKey, isAddress } from '@solana/addresses'; | ||
import { generateKeyPair, signBytes } from '@solana/keys'; | ||
import { assertTransactionIsFullySigned, partiallySignTransaction } from '@solana/transactions'; | ||
import { generateKeyPair, createKeyPairFromBytes, signBytes } from '@solana/keys'; | ||
@@ -13,5 +14,5 @@ // src/deduplicate-signers.ts | ||
} else if (deduplicated[signer.address] !== signer) { | ||
throw new Error( | ||
`Multiple distinct signers were identified for address "${signer.address}". Please ensure that you are using the same signer instance for each address.` | ||
); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_ADDRESS_CANNOT_HAVE_MULTIPLE_SIGNERS, { | ||
address: signer.address | ||
}); | ||
} | ||
@@ -29,3 +30,6 @@ }); | ||
function getSignersFromTransaction(transaction) { | ||
return deduplicateSigners(transaction.instructions.flatMap(getSignersFromInstruction)); | ||
return deduplicateSigners([ | ||
...transaction.feePayerSigner ? [transaction.feePayerSigner] : [], | ||
...transaction.instructions.flatMap(getSignersFromInstruction) | ||
]); | ||
} | ||
@@ -57,4 +61,18 @@ function addSignersToInstruction(signers, instruction) { | ||
} | ||
// src/message-partial-signer.ts | ||
function setTransactionFeePayerSigner(feePayerSigner, transaction) { | ||
if ("feePayer" in transaction && feePayerSigner.address === transaction.feePayer) { | ||
if ("feePayerSigner" in transaction) | ||
return transaction; | ||
const out2 = { ...transaction, feePayerSigner }; | ||
Object.freeze(out2); | ||
return out2; | ||
} | ||
const out = { | ||
...getUnsignedTransaction(transaction), | ||
feePayer: feePayerSigner.address, | ||
feePayerSigner | ||
}; | ||
Object.freeze(out); | ||
return out; | ||
} | ||
function isMessagePartialSigner(value) { | ||
@@ -65,7 +83,7 @@ return "signMessages" in value && typeof value.signMessages === "function"; | ||
if (!isMessagePartialSigner(value)) { | ||
throw new Error("The provided value does not implement the MessagePartialSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_PARTIAL_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-partial-signer.ts | ||
function isTransactionPartialSigner(value) { | ||
@@ -76,3 +94,5 @@ return "signTransactions" in value && typeof value.signTransactions === "function"; | ||
if (!isTransactionPartialSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionPartialSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_PARTIAL_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -87,3 +107,5 @@ } | ||
if (!isKeyPairSigner(value)) { | ||
throw new Error("The provided value does not implement the KeyPairSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_KEY_PAIR_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -113,2 +135,5 @@ } | ||
} | ||
async function createKeyPairSignerFromBytes(bytes, extractable) { | ||
return createSignerFromKeyPair(await createKeyPairFromBytes(bytes, extractable)); | ||
} | ||
function isMessageModifyingSigner(value) { | ||
@@ -119,7 +144,7 @@ return isAddress(value.address) && "modifyAndSignMessages" in value && typeof value.modifyAndSignMessages === "function"; | ||
if (!isMessageModifyingSigner(value)) { | ||
throw new Error("The provided value does not implement the MessageModifyingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_MODIFYING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/message-signer.ts | ||
function isMessageSigner(value) { | ||
@@ -130,3 +155,5 @@ return isMessagePartialSigner(value) || isMessageModifyingSigner(value); | ||
if (!isMessageSigner(value)) { | ||
throw new Error("The provided value does not implement any of the MessageSigner interfaces"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_MESSAGE_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -144,4 +171,2 @@ } | ||
} | ||
// src/transaction-modifying-signer.ts | ||
function isTransactionModifyingSigner(value) { | ||
@@ -152,7 +177,7 @@ return "modifyAndSignTransactions" in value && typeof value.modifyAndSignTransactions === "function"; | ||
if (!isTransactionModifyingSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionModifyingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_MODIFYING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-sending-signer.ts | ||
function isTransactionSendingSigner(value) { | ||
@@ -163,7 +188,7 @@ return "signAndSendTransactions" in value && typeof value.signAndSendTransactions === "function"; | ||
if (!isTransactionSendingSigner(value)) { | ||
throw new Error("The provided value does not implement the TransactionSendingSigner interface"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SENDING_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
} | ||
// src/transaction-signer.ts | ||
function isTransactionSigner(value) { | ||
@@ -174,3 +199,5 @@ return isTransactionPartialSigner(value) || isTransactionModifyingSigner(value) || isTransactionSendingSigner(value); | ||
if (!isTransactionSigner(value)) { | ||
throw new Error("The provided value does not implement any of the TransactionSigner interfaces"); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_EXPECTED_TRANSACTION_SIGNER, { | ||
address: value.address | ||
}); | ||
} | ||
@@ -205,5 +232,3 @@ } | ||
if (!sendingSigner) { | ||
throw new Error( | ||
"No `TransactionSendingSigner` was identified. Please provide a valid `ITransactionWithSingleSendingSigner` transaction." | ||
); | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING); | ||
} | ||
@@ -281,4 +306,2 @@ abortSignal?.throwIfAborted(); | ||
} | ||
// src/transaction-with-single-sending-signer.ts | ||
function isTransactionWithSingleSendingSigner(transaction) { | ||
@@ -296,5 +319,3 @@ try { | ||
if (sendingSigners.length === 0) { | ||
const error = new Error("No `TransactionSendingSigner` was identified."); | ||
error.name = "MissingTransactionSendingSignerError"; | ||
throw error; | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_SENDING_SIGNER_MISSING); | ||
} | ||
@@ -305,10 +326,8 @@ const sendingOnlySigners = sendingSigners.filter( | ||
if (sendingOnlySigners.length > 1) { | ||
const error = new Error("More than one `TransactionSendingSigner` was identified."); | ||
error.name = "MultipleTransactionSendingSignersError"; | ||
throw error; | ||
throw new SolanaError(SOLANA_ERROR__SIGNER_TRANSACTION_CANNOT_HAVE_MULTIPLE_SENDING_SIGNERS); | ||
} | ||
} | ||
export { addSignersToInstruction, addSignersToTransaction, assertIsKeyPairSigner, assertIsMessageModifyingSigner, assertIsMessagePartialSigner, assertIsMessageSigner, assertIsTransactionModifyingSigner, assertIsTransactionPartialSigner, assertIsTransactionSendingSigner, assertIsTransactionSigner, assertIsTransactionWithSingleSendingSigner, createNoopSigner, createSignableMessage, createSignerFromKeyPair, generateKeyPairSigner, getSignersFromInstruction, getSignersFromTransaction, isKeyPairSigner, isMessageModifyingSigner, isMessagePartialSigner, isMessageSigner, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, isTransactionSigner, isTransactionWithSingleSendingSigner, partiallySignTransactionWithSigners, signAndSendTransactionWithSigners, signTransactionWithSigners }; | ||
export { addSignersToInstruction, addSignersToTransaction, assertIsKeyPairSigner, assertIsMessageModifyingSigner, assertIsMessagePartialSigner, assertIsMessageSigner, assertIsTransactionModifyingSigner, assertIsTransactionPartialSigner, assertIsTransactionSendingSigner, assertIsTransactionSigner, assertIsTransactionWithSingleSendingSigner, createKeyPairSignerFromBytes, createNoopSigner, createSignableMessage, createSignerFromKeyPair, generateKeyPairSigner, getSignersFromInstruction, getSignersFromTransaction, isKeyPairSigner, isMessageModifyingSigner, isMessagePartialSigner, isMessageSigner, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, isTransactionSigner, isTransactionWithSingleSendingSigner, partiallySignTransactionWithSigners, setTransactionFeePayerSigner, signAndSendTransactionWithSigners, signTransactionWithSigners }; | ||
//# sourceMappingURL=out.js.map | ||
//# sourceMappingURL=index.node.js.map |
import { AccountRole, IAccountLookupMeta, IAccountMeta, IInstruction } from '@solana/instructions'; | ||
import { BaseTransaction, TransactionVersion } from '@solana/transactions'; | ||
import { TransactionSigner } from './transaction-signer'; | ||
import { TransactionSigner } from './transaction-signer.js'; | ||
/** An extension of the IAccountMeta type that keeps track of its transaction signer. */ | ||
export interface IAccountSignerMeta<TAddress extends string = string, TSigner extends TransactionSigner = TransactionSigner> extends IAccountMeta<TAddress> { | ||
export interface IAccountSignerMeta<TAddress extends string = string, TSigner extends TransactionSigner<TAddress> = TransactionSigner<TAddress>> extends IAccountMeta<TAddress> { | ||
readonly role: AccountRole.READONLY_SIGNER | AccountRole.WRITABLE_SIGNER; | ||
readonly signer: TSigner; | ||
} | ||
type IAccountMetaWithWithSigner<TSigner extends TransactionSigner = TransactionSigner> = IAccountMeta | IAccountLookupMeta | IAccountSignerMeta<string, TSigner>; | ||
type IAccountMetaWithSigner<TSigner extends TransactionSigner = TransactionSigner> = IAccountMeta | IAccountLookupMeta | IAccountSignerMeta<string, TSigner>; | ||
/** A variation of the instruction type that allows IAccountSignerMeta in its account metas. */ | ||
export type IInstructionWithSigners<TSigner extends TransactionSigner = TransactionSigner, TAccounts extends readonly IAccountMetaWithWithSigner<TSigner>[] = readonly IAccountMetaWithWithSigner<TSigner>[]> = Pick<IInstruction<string, TAccounts>, 'accounts'>; | ||
export type IInstructionWithSigners<TSigner extends TransactionSigner = TransactionSigner, TAccounts extends readonly IAccountMetaWithSigner<TSigner>[] = readonly IAccountMetaWithSigner<TSigner>[]> = Pick<IInstruction<string, TAccounts>, 'accounts'>; | ||
/** A variation of the transaction type that allows IAccountSignerMeta in its account metas. */ | ||
export type ITransactionWithSigners<TSigner extends TransactionSigner = TransactionSigner, TAccounts extends readonly IAccountMetaWithWithSigner<TSigner>[] = readonly IAccountMetaWithWithSigner<TSigner>[]> = Pick<BaseTransaction<TransactionVersion, IInstruction & IInstructionWithSigners<TSigner, TAccounts>>, 'instructions'>; | ||
export type ITransactionWithSigners<TSigner extends TransactionSigner = TransactionSigner, TAccounts extends readonly IAccountMetaWithSigner<TSigner>[] = readonly IAccountMetaWithSigner<TSigner>[]> = Pick<BaseTransaction<TransactionVersion, IInstruction & IInstructionWithSigners<TSigner, TAccounts>>, 'instructions'> & { | ||
feePayerSigner?: TSigner; | ||
}; | ||
/** Extract all signers from an instruction that may contain IAccountSignerMeta accounts. */ | ||
@@ -15,0 +17,0 @@ export declare function getSignersFromInstruction<TSigner extends TransactionSigner = TransactionSigner>(instruction: IInstructionWithSigners<TSigner>): readonly TSigner[]; |
import { IInstruction } from '@solana/instructions'; | ||
import { BaseTransaction } from '@solana/transactions'; | ||
import { IInstructionWithSigners, ITransactionWithSigners } from './account-signer-meta'; | ||
import { TransactionSigner } from './transaction-signer'; | ||
import { IInstructionWithSigners, ITransactionWithSigners } from './account-signer-meta.js'; | ||
import { TransactionSigner } from './transaction-signer.js'; | ||
/** Attaches the provided signers to the account metas of an instruction when applicable. */ | ||
@@ -6,0 +6,0 @@ export declare function addSignersToInstruction<TInstruction extends IInstruction>(signers: TransactionSigner[], instruction: TInstruction | (TInstruction & IInstructionWithSigners)): TInstruction & IInstructionWithSigners; |
@@ -1,5 +0,5 @@ | ||
import { MessageSigner } from './message-signer'; | ||
import { TransactionSigner } from './transaction-signer'; | ||
import { MessageSigner } from './message-signer.js'; | ||
import { TransactionSigner } from './transaction-signer.js'; | ||
/** Removes all duplicated signers from a provided array by comparing their addresses. */ | ||
export declare function deduplicateSigners<TSigner extends MessageSigner | TransactionSigner>(signers: readonly TSigner[]): readonly TSigner[]; | ||
//# sourceMappingURL=deduplicate-signers.d.ts.map |
@@ -1,16 +0,17 @@ | ||
export * from './account-signer-meta'; | ||
export * from './add-signers'; | ||
export * from './keypair-signer'; | ||
export * from './message-modifying-signer'; | ||
export * from './message-partial-signer'; | ||
export * from './message-signer'; | ||
export * from './noop-signer'; | ||
export * from './sign-transaction'; | ||
export * from './signable-message'; | ||
export * from './transaction-modifying-signer'; | ||
export * from './transaction-partial-signer'; | ||
export * from './transaction-sending-signer'; | ||
export * from './transaction-signer'; | ||
export * from './transaction-with-single-sending-signer'; | ||
export * from './types'; | ||
export * from './account-signer-meta.js'; | ||
export * from './add-signers.js'; | ||
export * from './fee-payer-signer.js'; | ||
export * from './keypair-signer.js'; | ||
export * from './message-modifying-signer.js'; | ||
export * from './message-partial-signer.js'; | ||
export * from './message-signer.js'; | ||
export * from './noop-signer.js'; | ||
export * from './sign-transaction.js'; | ||
export * from './signable-message.js'; | ||
export * from './transaction-modifying-signer.js'; | ||
export * from './transaction-partial-signer.js'; | ||
export * from './transaction-sending-signer.js'; | ||
export * from './transaction-signer.js'; | ||
export * from './transaction-with-single-sending-signer.js'; | ||
export * from './types.js'; | ||
//# sourceMappingURL=index.d.ts.map |
import { Address } from '@solana/addresses'; | ||
import { MessagePartialSigner } from './message-partial-signer'; | ||
import { TransactionPartialSigner } from './transaction-partial-signer'; | ||
import { MessagePartialSigner } from './message-partial-signer.js'; | ||
import { TransactionPartialSigner } from './transaction-partial-signer.js'; | ||
/** Defines a signer capable of signing messages and transactions using a CryptoKeyPair. */ | ||
@@ -22,2 +22,4 @@ export type KeyPairSigner<TAddress extends string = string> = MessagePartialSigner<TAddress> & TransactionPartialSigner<TAddress> & { | ||
export declare function generateKeyPairSigner(): Promise<KeyPairSigner>; | ||
/** Creates a signer capable of signing messages and transactions using the 64 bytes of a KeyPair. */ | ||
export declare function createKeyPairSignerFromBytes(bytes: Uint8Array, extractable?: boolean): Promise<KeyPairSigner>; | ||
//# sourceMappingURL=keypair-signer.d.ts.map |
import { Address } from '@solana/addresses'; | ||
import { SignableMessage } from './signable-message'; | ||
import { BaseSignerConfig } from './types'; | ||
import { SignableMessage } from './signable-message.js'; | ||
import { BaseSignerConfig } from './types.js'; | ||
export type MessageModifyingSignerConfig = BaseSignerConfig; | ||
@@ -5,0 +5,0 @@ /** Defines a signer capable of signing messages. */ |
import { Address } from '@solana/addresses'; | ||
import { SignableMessage } from './signable-message'; | ||
import { BaseSignerConfig, SignatureDictionary } from './types'; | ||
import { SignableMessage } from './signable-message.js'; | ||
import { BaseSignerConfig, SignatureDictionary } from './types.js'; | ||
export type MessagePartialSignerConfig = BaseSignerConfig; | ||
@@ -5,0 +5,0 @@ /** Defines a signer capable of signing messages. */ |
import { Address } from '@solana/addresses'; | ||
import { MessageModifyingSigner } from './message-modifying-signer'; | ||
import { MessagePartialSigner } from './message-partial-signer'; | ||
import { MessageModifyingSigner } from './message-modifying-signer.js'; | ||
import { MessagePartialSigner } from './message-partial-signer.js'; | ||
/** Defines a signer capable of signing messages. */ | ||
@@ -5,0 +5,0 @@ export type MessageSigner<TAddress extends string = string> = MessagePartialSigner<TAddress> | MessageModifyingSigner<TAddress>; |
import { Address } from '@solana/addresses'; | ||
import { MessagePartialSigner } from './message-partial-signer'; | ||
import { TransactionPartialSigner } from './transaction-partial-signer'; | ||
import { MessagePartialSigner } from './message-partial-signer.js'; | ||
import { TransactionPartialSigner } from './transaction-partial-signer.js'; | ||
/** Defines a no-operation signer that pretends to partially sign messages and transactions. */ | ||
@@ -5,0 +5,0 @@ export type NoopSigner<TAddress extends string = string> = MessagePartialSigner<TAddress> & TransactionPartialSigner<TAddress>; |
import { SignatureBytes } from '@solana/keys'; | ||
import { CompilableTransaction, IFullySignedTransaction, ITransactionWithSignatures } from '@solana/transactions'; | ||
import { ITransactionWithSigners } from './account-signer-meta'; | ||
import { ITransactionWithSingleSendingSigner } from './transaction-with-single-sending-signer'; | ||
import { ITransactionWithSigners } from './account-signer-meta.js'; | ||
import { ITransactionWithSingleSendingSigner } from './transaction-with-single-sending-signer.js'; | ||
type CompilableTransactionWithSigners = CompilableTransaction & ITransactionWithSigners & Partial<ITransactionWithSignatures>; | ||
@@ -6,0 +6,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
import { SignatureDictionary } from './types'; | ||
import { SignatureDictionary } from './types.js'; | ||
/** Defines a message that needs signing and its current set of signatures if any. */ | ||
@@ -3,0 +3,0 @@ export type SignableMessage = Readonly<{ |
import { Address } from '@solana/addresses'; | ||
import { CompilableTransaction } from '@solana/transactions'; | ||
import { BaseSignerConfig } from './types'; | ||
import { BaseSignerConfig } from './types.js'; | ||
export type TransactionModifyingSignerConfig = BaseSignerConfig; | ||
@@ -5,0 +5,0 @@ /** Defines a signer capable of signing transactions. */ |
import { Address } from '@solana/addresses'; | ||
import { CompilableTransaction } from '@solana/transactions'; | ||
import { BaseSignerConfig, SignatureDictionary } from './types'; | ||
import { BaseSignerConfig, SignatureDictionary } from './types.js'; | ||
export type TransactionPartialSignerConfig = BaseSignerConfig; | ||
@@ -5,0 +5,0 @@ /** Defines a signer capable of signing transactions. */ |
import { Address } from '@solana/addresses'; | ||
import { SignatureBytes } from '@solana/keys'; | ||
import { CompilableTransaction } from '@solana/transactions'; | ||
import { BaseSignerConfig } from './types'; | ||
import { BaseSignerConfig } from './types.js'; | ||
export type TransactionSendingSignerConfig = BaseSignerConfig; | ||
@@ -6,0 +6,0 @@ /** Defines a signer capable of signing and sending transactions simultaneously. */ |
import { Address } from '@solana/addresses'; | ||
import { TransactionModifyingSigner } from './transaction-modifying-signer'; | ||
import { TransactionPartialSigner } from './transaction-partial-signer'; | ||
import { TransactionSendingSigner } from './transaction-sending-signer'; | ||
import { TransactionModifyingSigner } from './transaction-modifying-signer.js'; | ||
import { TransactionPartialSigner } from './transaction-partial-signer.js'; | ||
import { TransactionSendingSigner } from './transaction-sending-signer.js'; | ||
/** Defines a signer capable of signing transactions. */ | ||
@@ -6,0 +6,0 @@ export type TransactionSigner<TAddress extends string = string> = TransactionPartialSigner<TAddress> | TransactionModifyingSigner<TAddress> | TransactionSendingSigner<TAddress>; |
import { CompilableTransaction } from '@solana/transactions'; | ||
import { ITransactionWithSigners } from './account-signer-meta'; | ||
import { ITransactionWithSigners } from './account-signer-meta.js'; | ||
/** Defines a transaction with exactly one {@link TransactionSendingSigner}. */ | ||
@@ -4,0 +4,0 @@ export type ITransactionWithSingleSendingSigner = ITransactionWithSigners & { |
{ | ||
"name": "@solana/signers", | ||
"version": "2.0.0-experimental.e1ca396", | ||
"version": "2.0.0-experimental.e374ac6", | ||
"description": "An abstraction layer over signing messages and transactions in Solana", | ||
@@ -52,31 +52,8 @@ "exports": { | ||
"dependencies": { | ||
"@solana/addresses": "2.0.0-experimental.e1ca396", | ||
"@solana/instructions": "2.0.0-experimental.e1ca396", | ||
"@solana/keys": "2.0.0-experimental.e1ca396", | ||
"@solana/transactions": "2.0.0-experimental.e1ca396" | ||
"@solana/errors": "2.0.0-experimental.e374ac6", | ||
"@solana/addresses": "2.0.0-experimental.e374ac6", | ||
"@solana/instructions": "2.0.0-experimental.e374ac6", | ||
"@solana/keys": "2.0.0-experimental.e374ac6", | ||
"@solana/transactions": "2.0.0-experimental.e374ac6" | ||
}, | ||
"devDependencies": { | ||
"@solana/eslint-config-solana": "^1.0.2", | ||
"@swc/jest": "^0.2.29", | ||
"@types/jest": "^29.5.6", | ||
"@typescript-eslint/eslint-plugin": "^6.7.0", | ||
"@typescript-eslint/parser": "^6.3.0", | ||
"agadoo": "^3.0.0", | ||
"eslint": "^8.45.0", | ||
"eslint-plugin-jest": "^27.4.2", | ||
"eslint-plugin-sort-keys-fix": "^1.1.2", | ||
"jest": "^29.7.0", | ||
"jest-environment-jsdom": "^29.7.0", | ||
"jest-runner-eslint": "^2.1.2", | ||
"jest-runner-prettier": "^1.0.0", | ||
"prettier": "^3.1", | ||
"tsup": "^8.0.1", | ||
"typescript": "^5.2.2", | ||
"version-from-git": "^1.1.1", | ||
"build-scripts": "0.0.0", | ||
"test-config": "0.0.0", | ||
"test-matchers": "0.0.0", | ||
"text-encoding-impl": "0.0.0", | ||
"tsconfig": "0.0.0" | ||
}, | ||
"bundlewatch": { | ||
@@ -91,9 +68,10 @@ "defaultCompression": "gzip", | ||
"scripts": { | ||
"compile:js": "tsup --config build-scripts/tsup.config.library.ts", | ||
"compile:typedefs": "tsc -p ./tsconfig.declarations.json", | ||
"dev": "jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch", | ||
"publish-packages": "pnpm publish --tag experimental --access public --no-git-checks", | ||
"style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/*", | ||
"test:lint": "jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent", | ||
"test:prettier": "jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent", | ||
"compile:js": "tsup --config build-scripts/tsup.config.package.ts", | ||
"compile:typedefs": "tsc -p ./tsconfig.declarations.json && node node_modules/@solana/build-scripts/add-js-extension-to-types.mjs", | ||
"dev": "jest -c node_modules/@solana/test-config/jest-dev.config.ts --rootDir . --watch", | ||
"publish-impl": "npm view $npm_package_name@$npm_package_version > /dev/null 2>&1 || pnpm publish --tag experimental --access public --no-git-checks", | ||
"publish-packages": "pnpm prepublishOnly && pnpm publish-impl", | ||
"style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/* package.json", | ||
"test:lint": "jest -c node_modules/@solana/test-config/jest-lint.config.ts --rootDir . --silent", | ||
"test:prettier": "jest -c node_modules/@solana/test-config/jest-prettier.config.ts --rootDir . --silent", | ||
"test:treeshakability:browser": "agadoo dist/index.browser.js", | ||
@@ -103,5 +81,5 @@ "test:treeshakability:native": "agadoo dist/index.native.js", | ||
"test:typecheck": "tsc --noEmit", | ||
"test:unit:browser": "jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent", | ||
"test:unit:node": "jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent" | ||
"test:unit:browser": "jest -c node_modules/@solana/test-config/jest-unit.config.browser.ts --rootDir . --silent", | ||
"test:unit:node": "jest -c node_modules/@solana/test-config/jest-unit.config.node.ts --rootDir . --silent" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
0
370738
5
50
2232
+ Added@solana/addresses@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/assertions@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/codecs-core@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/codecs-data-structures@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/codecs-numbers@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/codecs-strings@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/errors@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/functional@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/instructions@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/keys@2.0.0-experimental.e374ac6(transitive)
+ Added@solana/transactions@2.0.0-experimental.e374ac6(transitive)
+ Addedchalk@5.3.0(transitive)
+ Addedcommander@12.1.0(transitive)
- Removed@solana/addresses@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/assertions@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/codecs-core@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/codecs-data-structures@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/codecs-numbers@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/codecs-strings@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/functional@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/instructions@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/keys@2.0.0-experimental.e1ca396(transitive)
- Removed@solana/transactions@2.0.0-experimental.e1ca396(transitive)