@fogo/sessions-sdk 0.1.8 → 0.1.9
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/cjs/connection.d.ts +10 -10
- package/cjs/connection.js +22 -22
- package/cjs/context.d.ts +4 -4
- package/cjs/context.js +4 -4
- package/cjs/crypto.js +1 -1
- package/cjs/index.d.ts +218 -2028
- package/cjs/index.js +115 -72
- package/cjs/instructions.js +9 -9
- package/esm/connection.d.ts +10 -10
- package/esm/connection.js +23 -23
- package/esm/context.d.ts +4 -4
- package/esm/context.js +4 -4
- package/esm/crypto.js +1 -1
- package/esm/index.d.ts +218 -2028
- package/esm/index.js +82 -72
- package/esm/instructions.js +9 -9
- package/package.json +41 -40
package/cjs/connection.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import type { Address, GetLatestBlockhashApi, Instruction, Rpc, Transaction, TransactionWithLifetime } from "@solana/kit";
|
|
2
|
-
import type { TransactionError } from "@solana/web3.js";
|
|
3
|
-
import { Keypair, PublicKey,
|
|
2
|
+
import type { TransactionError, TransactionInstruction } from "@solana/web3.js";
|
|
3
|
+
import { Keypair, PublicKey, VersionedTransaction, Connection as Web3Connection } from "@solana/web3.js";
|
|
4
4
|
import { Network } from "./network.js";
|
|
5
5
|
export declare enum TransactionResultType {
|
|
6
6
|
Success = 0,
|
|
7
7
|
Failed = 1
|
|
8
8
|
}
|
|
9
9
|
declare const TransactionResult: {
|
|
10
|
-
Success: (signature: string) => {
|
|
11
|
-
type: TransactionResultType.Success;
|
|
12
|
-
signature: string;
|
|
13
|
-
};
|
|
14
10
|
Failed: (signature: string, error: TransactionError) => {
|
|
11
|
+
error: TransactionError;
|
|
12
|
+
signature: string;
|
|
15
13
|
type: TransactionResultType.Failed;
|
|
14
|
+
};
|
|
15
|
+
Success: (signature: string) => {
|
|
16
16
|
signature: string;
|
|
17
|
-
|
|
17
|
+
type: TransactionResultType.Success;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
export type TransactionResult = ReturnType<(typeof TransactionResult)[keyof typeof TransactionResult]>;
|
|
@@ -30,12 +30,12 @@ export declare const createSessionConnection: (options: {
|
|
|
30
30
|
sendToPaymaster: (transaction: Transaction) => Promise<TransactionResult>;
|
|
31
31
|
sponsor: PublicKey;
|
|
32
32
|
})) => {
|
|
33
|
-
rpc: Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
|
|
34
33
|
connection: Web3Connection;
|
|
35
|
-
network: Network;
|
|
36
34
|
getSolanaConnection: () => Promise<Web3Connection>;
|
|
37
|
-
sendToPaymaster: (domain: string, sessionKey: CryptoKeyPair | undefined, instructions: TransactionOrInstructions, walletPublicKey: PublicKey, extraConfig?: SendTransactionOptions) => Promise<TransactionResult>;
|
|
38
35
|
getSponsor: (domain: string) => Promise<PublicKey>;
|
|
36
|
+
network: Network;
|
|
37
|
+
rpc: Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
|
|
38
|
+
sendToPaymaster: (domain: string, sessionKey: CryptoKeyPair | undefined, instructions: TransactionOrInstructions, walletPublicKey: PublicKey, extraConfig?: SendTransactionOptions) => Promise<TransactionResult>;
|
|
39
39
|
};
|
|
40
40
|
export type TransactionOrInstructions = (TransactionInstruction | Instruction)[] | VersionedTransaction | (Transaction & TransactionWithLifetime);
|
|
41
41
|
export type SendTransactionOptions = {
|
package/cjs/connection.js
CHANGED
|
@@ -27,14 +27,14 @@ var TransactionResultType;
|
|
|
27
27
|
TransactionResultType[TransactionResultType["Failed"] = 1] = "Failed";
|
|
28
28
|
})(TransactionResultType || (exports.TransactionResultType = TransactionResultType = {}));
|
|
29
29
|
const TransactionResult = {
|
|
30
|
-
Success: (signature) => ({
|
|
31
|
-
type: TransactionResultType.Success,
|
|
32
|
-
signature,
|
|
33
|
-
}),
|
|
34
30
|
Failed: (signature, error) => ({
|
|
31
|
+
error,
|
|
32
|
+
signature,
|
|
35
33
|
type: TransactionResultType.Failed,
|
|
34
|
+
}),
|
|
35
|
+
Success: (signature) => ({
|
|
36
36
|
signature,
|
|
37
|
-
|
|
37
|
+
type: TransactionResultType.Success,
|
|
38
38
|
}),
|
|
39
39
|
};
|
|
40
40
|
const createSessionConnection = (options) => {
|
|
@@ -44,12 +44,12 @@ const createSessionConnection = (options) => {
|
|
|
44
44
|
const addressLookupTableCache = new Map();
|
|
45
45
|
const sponsorCache = new Map();
|
|
46
46
|
return {
|
|
47
|
-
rpc,
|
|
48
47
|
connection,
|
|
49
|
-
network: options.network,
|
|
50
48
|
getSolanaConnection: createSolanaConnectionGetter(options.network),
|
|
51
|
-
sendToPaymaster: async (domain, sessionKey, instructions, walletPublicKey, extraConfig) => sendToPaymaster({ ...options, rpc, connection, addressLookupTableCache, sponsorCache }, domain, sessionKey, instructions, walletPublicKey, extraConfig),
|
|
52
49
|
getSponsor: (domain) => getSponsor(options, sponsorCache, domain),
|
|
50
|
+
network: options.network,
|
|
51
|
+
rpc,
|
|
52
|
+
sendToPaymaster: async (domain, sessionKey, instructions, walletPublicKey, extraConfig) => sendToPaymaster({ ...options, addressLookupTableCache, connection, rpc, sponsorCache }, domain, sessionKey, instructions, walletPublicKey, extraConfig),
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
55
|
exports.createSessionConnection = createSessionConnection;
|
|
@@ -87,13 +87,13 @@ const sendToPaymaster = async (connection, domain, sessionKey, instructions, wal
|
|
|
87
87
|
url.searchParams.set("variation", extraConfig.variation);
|
|
88
88
|
}
|
|
89
89
|
const response = await fetch(url, {
|
|
90
|
-
method: "POST",
|
|
91
|
-
headers: {
|
|
92
|
-
"Content-Type": "application/json",
|
|
93
|
-
},
|
|
94
90
|
body: JSON.stringify({
|
|
95
91
|
transaction: (0, kit_1.getBase64EncodedWireTransaction)(transaction),
|
|
96
92
|
}),
|
|
93
|
+
headers: {
|
|
94
|
+
"Content-Type": "application/json",
|
|
95
|
+
},
|
|
96
|
+
method: "POST",
|
|
97
97
|
});
|
|
98
98
|
if (response.status === 200) {
|
|
99
99
|
return sponsorAndSendResponseSchema.parse(await response.json());
|
|
@@ -127,13 +127,13 @@ const buildTransaction = async (connection, domain, sessionKey, signerKeys, inst
|
|
|
127
127
|
: (0, kit_1.getAddressFromPublicKey)(sessionKey.publicKey),
|
|
128
128
|
]);
|
|
129
129
|
const tollboothInstruction = await buildTollboothInstructionIfNeeded({
|
|
130
|
-
sessionKeyAddress,
|
|
131
|
-
walletPublicKey,
|
|
132
130
|
domain,
|
|
133
|
-
feeMint,
|
|
134
131
|
feeAmount,
|
|
132
|
+
feeMint,
|
|
133
|
+
sessionKeyAddress,
|
|
134
|
+
walletPublicKey,
|
|
135
135
|
});
|
|
136
|
-
return (0, kit_1.partiallySignTransactionMessageWithSigners)((0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (tx) => (0, kit_1.setTransactionMessageFeePayer)((0, compat_1.fromLegacyPublicKey)(sponsor), tx), (tx) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, tx), (tx) => (0, kit_1.appendTransactionMessageInstructions)(instructions.map((instruction) =>
|
|
136
|
+
return (0, kit_1.partiallySignTransactionMessageWithSigners)((0, kit_1.pipe)((0, kit_1.createTransactionMessage)({ version: 0 }), (tx) => (0, kit_1.setTransactionMessageFeePayer)((0, compat_1.fromLegacyPublicKey)(sponsor), tx), (tx) => (0, kit_1.setTransactionMessageLifetimeUsingBlockhash)(latestBlockhash, tx), (tx) => (0, kit_1.appendTransactionMessageInstructions)(instructions.map((instruction) => "programId" in instruction
|
|
137
137
|
? (0, compat_1.fromLegacyTransactionInstruction)(instruction)
|
|
138
138
|
: instruction), tx), (tx) => tollboothInstruction === undefined ||
|
|
139
139
|
tx.instructions.some((instruction) => instruction.programAddress == sessions_idls_1.TollboothIdl.address)
|
|
@@ -149,11 +149,11 @@ const buildTollboothInstructionIfNeeded = ({ sessionKeyAddress, walletPublicKey,
|
|
|
149
149
|
sessionKeyAddress !== undefined &&
|
|
150
150
|
feeMint !== undefined) {
|
|
151
151
|
return (0, instructions_js_1.createPaymasterFeeInstruction)({
|
|
152
|
-
sessionKey: new web3_js_1.PublicKey(sessionKeyAddress),
|
|
153
|
-
walletPublicKey,
|
|
154
152
|
domain,
|
|
155
|
-
feeMint,
|
|
156
153
|
feeAmount,
|
|
154
|
+
feeMint,
|
|
155
|
+
sessionKey: new web3_js_1.PublicKey(sessionKeyAddress),
|
|
156
|
+
walletPublicKey,
|
|
157
157
|
}).then(compat_1.fromLegacyTransactionInstruction);
|
|
158
158
|
}
|
|
159
159
|
else {
|
|
@@ -182,15 +182,15 @@ const getSignerKeys = async (sessionKey, extraSigners) => {
|
|
|
182
182
|
const sponsorAndSendResponseSchema = zod_1.z
|
|
183
183
|
.discriminatedUnion("type", [
|
|
184
184
|
zod_1.z.object({
|
|
185
|
-
type: zod_1.z.literal("success"),
|
|
186
185
|
signature: zod_1.z.string(),
|
|
186
|
+
type: zod_1.z.literal("success"),
|
|
187
187
|
}),
|
|
188
188
|
zod_1.z.object({
|
|
189
|
-
type: zod_1.z.literal("failed"),
|
|
190
|
-
signature: zod_1.z.string(),
|
|
191
189
|
error: zod_1.z.object({
|
|
192
190
|
InstructionError: zod_1.z.tuple([zod_1.z.number(), zod_1.z.unknown()]),
|
|
193
191
|
}),
|
|
192
|
+
signature: zod_1.z.string(),
|
|
193
|
+
type: zod_1.z.literal("failed"),
|
|
194
194
|
}),
|
|
195
195
|
])
|
|
196
196
|
.transform((data) => {
|
package/cjs/context.d.ts
CHANGED
|
@@ -7,13 +7,13 @@ export declare const createSessionContext: (options: {
|
|
|
7
7
|
domain?: string | undefined;
|
|
8
8
|
}) => Promise<{
|
|
9
9
|
chainId: string;
|
|
10
|
+
connection: Web3Connection;
|
|
10
11
|
domain: string;
|
|
11
|
-
payer: PublicKey;
|
|
12
|
-
internalPayer: PublicKey;
|
|
13
12
|
getSolanaConnection: () => Promise<Web3Connection>;
|
|
14
|
-
|
|
15
|
-
rpc: import("@solana/kit").Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & import("@solana/kit").GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
|
|
13
|
+
internalPayer: PublicKey;
|
|
16
14
|
network: import("./network.js").Network;
|
|
15
|
+
payer: PublicKey;
|
|
16
|
+
rpc: import("@solana/kit").Rpc<import("@solana/kit").RequestAirdropApi & import("@solana/kit").GetAccountInfoApi & import("@solana/kit").GetBalanceApi & import("@solana/kit").GetBlockApi & import("@solana/kit").GetBlockCommitmentApi & import("@solana/kit").GetBlockHeightApi & import("@solana/kit").GetBlockProductionApi & import("@solana/kit").GetBlocksApi & import("@solana/kit").GetBlocksWithLimitApi & import("@solana/kit").GetBlockTimeApi & import("@solana/kit").GetClusterNodesApi & import("@solana/kit").GetEpochInfoApi & import("@solana/kit").GetEpochScheduleApi & import("@solana/kit").GetFeeForMessageApi & import("@solana/kit").GetFirstAvailableBlockApi & import("@solana/kit").GetGenesisHashApi & import("@solana/kit").GetHealthApi & import("@solana/kit").GetHighestSnapshotSlotApi & import("@solana/kit").GetIdentityApi & import("@solana/kit").GetInflationGovernorApi & import("@solana/kit").GetInflationRateApi & import("@solana/kit").GetInflationRewardApi & import("@solana/kit").GetLargestAccountsApi & import("@solana/kit").GetLatestBlockhashApi & import("@solana/kit").GetLeaderScheduleApi & import("@solana/kit").GetMaxRetransmitSlotApi & import("@solana/kit").GetMaxShredInsertSlotApi & import("@solana/kit").GetMinimumBalanceForRentExemptionApi & import("@solana/kit").GetMultipleAccountsApi & import("@solana/kit").GetProgramAccountsApi & import("@solana/kit").GetRecentPerformanceSamplesApi & import("@solana/kit").GetRecentPrioritizationFeesApi & import("@solana/kit").GetSignaturesForAddressApi & import("@solana/kit").GetSignatureStatusesApi & import("@solana/kit").GetSlotApi & import("@solana/kit").GetSlotLeaderApi & import("@solana/kit").GetSlotLeadersApi & import("@solana/kit").GetStakeMinimumDelegationApi & import("@solana/kit").GetSupplyApi & import("@solana/kit").GetTokenAccountBalanceApi & import("@solana/kit").GetTokenAccountsByDelegateApi & import("@solana/kit").GetTokenAccountsByOwnerApi & import("@solana/kit").GetTokenLargestAccountsApi & import("@solana/kit").GetTokenSupplyApi & import("@solana/kit").GetTransactionApi & import("@solana/kit").GetTransactionCountApi & import("@solana/kit").GetVersionApi & import("@solana/kit").GetVoteAccountsApi & import("@solana/kit").IsBlockhashValidApi & import("@solana/kit").MinimumLedgerSlotApi & import("@solana/kit").SendTransactionApi & import("@solana/kit").SimulateTransactionApi>;
|
|
17
17
|
sendTransaction: (sessionKey: CryptoKeyPair | undefined, instructions: TransactionOrInstructions, walletPublicKey: PublicKey, sendTxOptions?: SendTransactionOptions) => Promise<import("./connection.js").TransactionResult>;
|
|
18
18
|
}>;
|
|
19
19
|
export type SendTransactionOptions = SendTransactionBaseOptions & {
|
package/cjs/context.js
CHANGED
|
@@ -15,13 +15,13 @@ const createSessionContext = async (options) => {
|
|
|
15
15
|
]);
|
|
16
16
|
return {
|
|
17
17
|
chainId: await fetchChainId(options.connection.connection),
|
|
18
|
+
connection: options.connection.connection,
|
|
18
19
|
domain: getDomain(options.domain),
|
|
19
|
-
payer: sponsor,
|
|
20
|
-
internalPayer: internalSponsor,
|
|
21
20
|
getSolanaConnection: options.connection.getSolanaConnection,
|
|
22
|
-
|
|
23
|
-
rpc: options.connection.rpc,
|
|
21
|
+
internalPayer: internalSponsor,
|
|
24
22
|
network: options.connection.network,
|
|
23
|
+
payer: sponsor,
|
|
24
|
+
rpc: options.connection.rpc,
|
|
25
25
|
sendTransaction: (sessionKey, instructions, walletPublicKey, sendTxOptions) => options.connection.sendToPaymaster(sendTxOptions?.paymasterDomain ?? domain, sessionKey, instructions, walletPublicKey, {
|
|
26
26
|
...sendTxOptions,
|
|
27
27
|
addressLookupTable: sendTxOptions?.addressLookupTable ??
|
package/cjs/crypto.js
CHANGED
|
@@ -24,7 +24,7 @@ exports.signMessageWithKey = signMessageWithKey;
|
|
|
24
24
|
* @returns True if the message and signature are valid, false otherwise
|
|
25
25
|
*/
|
|
26
26
|
const verifyMessageWithKey = async (publicKey, message, signature) => {
|
|
27
|
-
const isValid = await crypto.subtle.verify({ name: "Ed25519" }, publicKey, bs58_1.default.decode(signature), new TextEncoder().encode(message));
|
|
27
|
+
const isValid = await crypto.subtle.verify({ name: "Ed25519" }, publicKey, Buffer.from(bs58_1.default.decode(signature)), new TextEncoder().encode(message));
|
|
28
28
|
return isValid;
|
|
29
29
|
};
|
|
30
30
|
exports.verifyMessageWithKey = verifyMessageWithKey;
|