@prb/effect-solana 1.0.0-beta.0 → 1.0.0-beta.2
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 +154 -174
- package/dist/core/errors/predicates.d.ts +0 -11
- package/dist/core/errors/predicates.d.ts.map +1 -1
- package/dist/core/errors/predicates.js +0 -5
- package/dist/core/errors/predicates.js.map +1 -1
- package/dist/core/errors/transaction.d.ts +20 -1
- package/dist/core/errors/transaction.d.ts.map +1 -1
- package/dist/core/errors/transaction.js +60 -1
- package/dist/core/errors/transaction.js.map +1 -1
- package/dist/core/errors/wallet.d.ts +0 -7
- package/dist/core/errors/wallet.d.ts.map +1 -1
- package/dist/core/errors/wallet.js +0 -4
- package/dist/core/errors/wallet.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pda/index.d.ts +1 -0
- package/dist/pda/index.d.ts.map +1 -1
- package/dist/pda/index.js +1 -0
- package/dist/pda/index.js.map +1 -1
- package/dist/pda/service.d.ts +4 -3
- package/dist/pda/service.d.ts.map +1 -1
- package/dist/pda/service.js +12 -4
- package/dist/pda/service.js.map +1 -1
- package/dist/pda/types.d.ts +12 -0
- package/dist/pda/types.d.ts.map +1 -0
- package/dist/pda/types.js +8 -0
- package/dist/pda/types.js.map +1 -0
- package/dist/presets/layers.d.ts +3 -2
- package/dist/presets/layers.d.ts.map +1 -1
- package/dist/presets/layers.js +2 -1
- package/dist/presets/layers.js.map +1 -1
- package/dist/program/index.d.ts +3 -0
- package/dist/program/index.d.ts.map +1 -0
- package/dist/program/index.js +3 -0
- package/dist/program/index.js.map +1 -0
- package/dist/program/service.d.ts +19 -0
- package/dist/program/service.d.ts.map +1 -0
- package/dist/program/service.js +94 -0
- package/dist/program/service.js.map +1 -0
- package/dist/program/types.d.ts +34 -0
- package/dist/program/types.d.ts.map +1 -0
- package/dist/program/types.js +32 -0
- package/dist/program/types.js.map +1 -0
- package/dist/rpc/service.d.ts.map +1 -1
- package/dist/rpc/service.js +6 -11
- package/dist/rpc/service.js.map +1 -1
- package/dist/telemetry/tracer.d.ts +3 -0
- package/dist/telemetry/tracer.d.ts.map +1 -1
- package/dist/telemetry/tracer.js +3 -0
- package/dist/telemetry/tracer.js.map +1 -1
- package/dist/token/service.d.ts +2 -2
- package/dist/token/service.d.ts.map +1 -1
- package/dist/token/service.js +30 -17
- package/dist/token/service.js.map +1 -1
- package/dist/tx/service.d.ts +4 -2
- package/dist/tx/service.d.ts.map +1 -1
- package/dist/tx/service.js +12 -2
- package/dist/tx/service.js.map +1 -1
- package/dist/web3.js/_fixtures.d.ts +4 -0
- package/dist/web3.js/_fixtures.d.ts.map +1 -0
- package/dist/web3.js/_fixtures.js +30 -0
- package/dist/web3.js/_fixtures.js.map +1 -0
- package/dist/web3.js/index.d.ts +5 -0
- package/dist/web3.js/index.d.ts.map +1 -0
- package/dist/web3.js/index.js +5 -0
- package/dist/web3.js/index.js.map +1 -0
- package/dist/web3.js/layers.d.ts +12 -0
- package/dist/web3.js/layers.d.ts.map +1 -0
- package/dist/web3.js/layers.js +10 -0
- package/dist/web3.js/layers.js.map +1 -0
- package/dist/web3.js/legacy-signer.d.ts +5 -0
- package/dist/web3.js/legacy-signer.d.ts.map +1 -0
- package/dist/web3.js/legacy-signer.js +71 -0
- package/dist/web3.js/legacy-signer.js.map +1 -0
- package/dist/web3.js/transaction-bridge.d.ts +9 -0
- package/dist/web3.js/transaction-bridge.d.ts.map +1 -0
- package/dist/web3.js/transaction-bridge.js +47 -0
- package/dist/web3.js/transaction-bridge.js.map +1 -0
- package/dist/web3.js/types.d.ts +12 -0
- package/dist/web3.js/types.d.ts.map +1 -0
- package/dist/web3.js/types.js +14 -0
- package/dist/web3.js/types.js.map +1 -0
- package/package.json +15 -1
package/dist/token/service.js
CHANGED
|
@@ -12,11 +12,16 @@ export const TokenServiceLive = Layer.effect(TokenService, Effect.gen(function*
|
|
|
12
12
|
return TokenService.of({
|
|
13
13
|
getAssociatedTokenAddress: (params) => Effect.gen(function* () {
|
|
14
14
|
const tokenProgram = params.tokenProgram ?? TOKEN_PROGRAM_ADDRESS;
|
|
15
|
-
const pda = yield* Effect.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
const pda = yield* Effect.tryPromise({
|
|
16
|
+
catch: (cause) => new Error(`Failed to derive ATA for mint ${params.mint} and owner ${params.owner}`, {
|
|
17
|
+
cause,
|
|
18
|
+
}),
|
|
19
|
+
try: () => findAssociatedTokenPda({
|
|
20
|
+
mint: params.mint,
|
|
21
|
+
owner: params.owner,
|
|
22
|
+
tokenProgram,
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
20
25
|
return pda[0];
|
|
21
26
|
}).pipe(Effect.withSpan(SpanNames.TOKEN_GET_ATA, {
|
|
22
27
|
attributes: {
|
|
@@ -47,11 +52,16 @@ export const TokenServiceLive = Layer.effect(TokenService, Effect.gen(function*
|
|
|
47
52
|
})),
|
|
48
53
|
getOrCreateATA: (params) => Effect.gen(function* () {
|
|
49
54
|
const tokenProgram = params.tokenProgram ?? TOKEN_PROGRAM_ADDRESS;
|
|
50
|
-
const pda = yield* Effect.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
const pda = yield* Effect.tryPromise({
|
|
56
|
+
catch: (cause) => new Error(`Failed to derive ATA for mint ${params.mint} and owner ${params.owner}`, {
|
|
57
|
+
cause,
|
|
58
|
+
}),
|
|
59
|
+
try: () => findAssociatedTokenPda({
|
|
60
|
+
mint: params.mint,
|
|
61
|
+
owner: params.owner,
|
|
62
|
+
tokenProgram,
|
|
63
|
+
}),
|
|
64
|
+
});
|
|
55
65
|
const ata = pda[0];
|
|
56
66
|
const rpc = yield* rpcService.getRpc();
|
|
57
67
|
const rpcUrl = yield* rpcService.getRpcUrl();
|
|
@@ -67,13 +77,16 @@ export const TokenServiceLive = Layer.effect(TokenService, Effect.gen(function*
|
|
|
67
77
|
return { address: ata };
|
|
68
78
|
}
|
|
69
79
|
const payerSigner = createNoopSigner(params.payer);
|
|
70
|
-
const instruction = yield* Effect.
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
const instruction = yield* Effect.tryPromise({
|
|
81
|
+
catch: (cause) => new Error(`Failed to create ATA instruction for mint ${params.mint} and owner ${params.owner}`, { cause }),
|
|
82
|
+
try: () => getCreateAssociatedTokenIdempotentInstructionAsync({
|
|
83
|
+
ata,
|
|
84
|
+
mint: params.mint,
|
|
85
|
+
owner: params.owner,
|
|
86
|
+
payer: payerSigner,
|
|
87
|
+
tokenProgram,
|
|
88
|
+
}),
|
|
89
|
+
});
|
|
77
90
|
return { address: ata, instruction };
|
|
78
91
|
}).pipe(Effect.withSpan(SpanNames.TOKEN_CREATE_ATA, {
|
|
79
92
|
attributes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/token/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,kDAAkD,EAClD,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAiErD,MAAM,OAAO,YAAa,SAAQ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAGlE;CAAG;AAEN,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAC1C,YAAY,EACZ,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC;IAErC,OAAO,YAAY,CAAC,EAAE,CAAC;QACrB,yBAAyB,EAAE,CAAC,MAAM,EAAE,EAAE,CACpC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,qBAAqB,CAAC;YAClE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/token/service.ts"],"names":[],"mappings":"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"}
|
package/dist/tx/service.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { WalletNotConnectedError } from "../core/errors/index.js";
|
|
|
7
7
|
import { SimulationFailedError, TransactionFailedError, TransactionSendError, TransactionTimeoutError } from "../core/errors/index.js";
|
|
8
8
|
import { RpcService } from "../rpc/index.js";
|
|
9
9
|
import { SignerService } from "../signer/index.js";
|
|
10
|
-
import type { ConfirmOpts, TransactionBatchItem, TransactionBatchOpts, TransactionBuildOpts, TransactionReceipt } from "./types.js";
|
|
10
|
+
import type { ComputeBudgetConfig, ConfirmOpts, TransactionBatchItem, TransactionBatchOpts, TransactionBuildOpts, TransactionReceipt } from "./types.js";
|
|
11
11
|
export type TransactionServiceShape = {
|
|
12
12
|
readonly build: (instructions: readonly Instruction[], opts?: TransactionBuildOpts) => Effect.Effect<CompilableTransactionMessage, TransactionSendError | WalletNotConnectedError>;
|
|
13
13
|
readonly signAll: (txs: readonly CompilableTransactionMessage[]) => Effect.Effect<readonly (Transaction & TransactionWithLifetime)[], TransactionSendError | WalletNotConnectedError>;
|
|
@@ -15,7 +15,9 @@ export type TransactionServiceShape = {
|
|
|
15
15
|
readonly sendAll: (txs: readonly (Transaction & TransactionWithLifetime)[], opts?: TransactionBatchOpts) => Effect.Effect<readonly Signature[], TransactionSendError>;
|
|
16
16
|
readonly send: (tx: Transaction & TransactionWithLifetime) => Effect.Effect<Signature, TransactionSendError>;
|
|
17
17
|
readonly confirm: (signature: Signature, opts?: ConfirmOpts) => Effect.Effect<TransactionReceipt, TransactionTimeoutError | TransactionFailedError>;
|
|
18
|
-
readonly sendAndConfirm: (instructions: readonly Instruction[], opts?: ConfirmOpts
|
|
18
|
+
readonly sendAndConfirm: (instructions: readonly Instruction[], opts?: ConfirmOpts & {
|
|
19
|
+
computeBudget?: ComputeBudgetConfig;
|
|
20
|
+
}) => Effect.Effect<TransactionReceipt, TransactionSendError | WalletNotConnectedError | TransactionTimeoutError | TransactionFailedError>;
|
|
19
21
|
readonly sendAndConfirmBatch: (items: readonly TransactionBatchItem[], opts?: TransactionBatchOpts) => Effect.Effect<readonly TransactionReceipt[], TransactionSendError | WalletNotConnectedError | TransactionTimeoutError | TransactionFailedError>;
|
|
20
22
|
readonly simulate: <T extends CompilableTransactionMessage>(tx: T) => Effect.Effect<void, SimulationFailedError | TransactionSendError | WalletNotConnectedError>;
|
|
21
23
|
};
|
package/dist/tx/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAOjF,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAUjF,OAAO,EAAE,OAAO,EAAY,MAAM,EAAE,KAAK,EAAY,MAAM,QAAQ,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAEL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":"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"}
|
package/dist/tx/service.js
CHANGED
|
@@ -19,7 +19,15 @@ const hasReachedConfirmation = (status, commitment) => {
|
|
|
19
19
|
return status.confirmationStatus === "finalized";
|
|
20
20
|
};
|
|
21
21
|
const checkSignatureStatus = (rpc, signature, commitment) => Effect.gen(function* () {
|
|
22
|
-
const response = yield* Effect.
|
|
22
|
+
const response = yield* Effect.tryPromise({
|
|
23
|
+
catch: (cause) => new TransactionFailedError({
|
|
24
|
+
cause,
|
|
25
|
+
logs: [],
|
|
26
|
+
message: "Failed to get signature status",
|
|
27
|
+
signature,
|
|
28
|
+
}),
|
|
29
|
+
try: () => rpc.getSignatureStatuses([signature]).send(),
|
|
30
|
+
});
|
|
23
31
|
const status = response?.value?.[0];
|
|
24
32
|
if (!status) {
|
|
25
33
|
return null;
|
|
@@ -120,7 +128,9 @@ export const TransactionServiceLive = Layer.effect(TransactionService, Effect.ge
|
|
|
120
128
|
return yield* Effect.forEach(txs, (tx) => sendWithRetry(tx), opts?.concurrency ? { concurrency: opts.concurrency } : undefined);
|
|
121
129
|
}).pipe(Effect.withSpan(SpanNames.TX_SEND)),
|
|
122
130
|
sendAndConfirm: (instructions, opts) => Effect.gen(function* () {
|
|
123
|
-
const tx = yield* service.build(instructions
|
|
131
|
+
const tx = yield* service.build(instructions, {
|
|
132
|
+
computeBudget: opts?.computeBudget,
|
|
133
|
+
});
|
|
124
134
|
const signed = yield* service.sign(tx);
|
|
125
135
|
const signature = yield* service.send(signed);
|
|
126
136
|
return yield* service.confirm(signature, opts);
|
package/dist/tx/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI1C,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EACxB,6BAA6B,EAC7B,2CAA2C,GAC5C,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,iCAAiC,GAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEpE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AA4GrD,MAAM,OAAO,kBAAmB,SAAQ,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAG9E;CAAG;AAKN,MAAM,sBAAsB,GAAG,CAC7B,MAEC,EACD,UAAmD,EAC1C,EAAE;IACX,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,kBAAkB,KAAK,WAAW,IAAI,MAAM,CAAC,kBAAkB,KAAK,WAAW,CAAC;IAChG,CAAC;IACD,OAAO,MAAM,CAAC,kBAAkB,KAAK,WAAW,CAAC;AACnD,CAAC,CAAC;AAKF,MAAM,oBAAoB,GAAG,CAC3B,GAAiE,EACjE,SAAoB,EACpB,UAAmD,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_fixtures.d.ts","sourceRoot":"","sources":["../../src/web3.js/_fixtures.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,YAAY,SAKxB,CAAC;AAaF,wBAAgB,uBAAuB,IAAI,iBAAiB,CAY3D;AAaD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAcjE"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Keypair, Transaction as LegacyTransaction, PublicKey, SystemProgram, TransactionInstruction, TransactionMessage, VersionedTransaction, } from "@solana/web3.js";
|
|
2
|
+
export const TEST_KEYPAIR = Keypair.fromSeed(new Uint8Array([
|
|
3
|
+
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
4
|
+
27, 28, 29, 30, 31, 32,
|
|
5
|
+
]));
|
|
6
|
+
export function createLegacyTransaction() {
|
|
7
|
+
const tx = new LegacyTransaction();
|
|
8
|
+
tx.add(new TransactionInstruction({
|
|
9
|
+
data: Buffer.from([0, 0, 0, 0]),
|
|
10
|
+
keys: [],
|
|
11
|
+
programId: SystemProgram.programId,
|
|
12
|
+
}));
|
|
13
|
+
tx.recentBlockhash = "GH7ome3EiwEr7tu9JuTh2dpYWBJK3z69Xm1ZE3MEE6JC";
|
|
14
|
+
tx.feePayer = new PublicKey("11111111111111111111111111111111");
|
|
15
|
+
return tx;
|
|
16
|
+
}
|
|
17
|
+
export function createVersionedTransaction() {
|
|
18
|
+
const instruction = new TransactionInstruction({
|
|
19
|
+
data: Buffer.from([0, 0, 0, 0]),
|
|
20
|
+
keys: [],
|
|
21
|
+
programId: SystemProgram.programId,
|
|
22
|
+
});
|
|
23
|
+
const messageV0 = new TransactionMessage({
|
|
24
|
+
instructions: [instruction],
|
|
25
|
+
payerKey: TEST_KEYPAIR.publicKey,
|
|
26
|
+
recentBlockhash: "GH7ome3EiwEr7tu9JuTh2dpYWBJK3z69Xm1ZE3MEE6JC",
|
|
27
|
+
}).compileToV0Message();
|
|
28
|
+
return new VersionedTransaction(messageV0);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=_fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_fixtures.js","sourceRoot":"","sources":["../../src/web3.js/_fixtures.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EACP,WAAW,IAAI,iBAAiB,EAChC,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAC1C,IAAI,UAAU,CAAC;IACb,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC7F,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;CACvB,CAAC,CACH,CAAC;AAaF,MAAM,UAAU,uBAAuB;IACrC,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACnC,EAAE,CAAC,GAAG,CACJ,IAAI,sBAAsB,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,aAAa,CAAC,SAAS;KACnC,CAAC,CACH,CAAC;IACF,EAAE,CAAC,eAAe,GAAG,8CAA8C,CAAC;IACpE,EAAE,CAAC,QAAQ,GAAG,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC;AACZ,CAAC;AAaD,MAAM,UAAU,0BAA0B;IACxC,MAAM,WAAW,GAAG,IAAI,sBAAsB,CAAC;QAC7C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,aAAa,CAAC,SAAS;KACnC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC;QACvC,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,QAAQ,EAAE,YAAY,CAAC,SAAS;QAChC,eAAe,EAAE,8CAA8C;KAChE,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAExB,OAAO,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web3.js/index.ts"],"names":[],"mappings":"AA2BA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web3.js/index.ts"],"names":[],"mappings":"AA2BA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import type { BalanceService } from "../balance/index.js";
|
|
3
|
+
import type { PdaService } from "../pda/index.js";
|
|
4
|
+
import type { SolanaClusterConfig } from "../presets/index.js";
|
|
5
|
+
import type { ProgramWriter } from "../program/index.js";
|
|
6
|
+
import type { RpcService } from "../rpc/index.js";
|
|
7
|
+
import type { SignerService } from "../signer/index.js";
|
|
8
|
+
import type { TokenService } from "../token/index.js";
|
|
9
|
+
import type { TransactionService } from "../tx/index.js";
|
|
10
|
+
import type { LegacyWalletAdapter } from "./types.js";
|
|
11
|
+
export declare function makeSolanaLayerWithLegacyAdapter(config: SolanaClusterConfig, getAdapter: () => LegacyWalletAdapter): Layer.Layer<RpcService | SignerService | BalanceService | TokenService | TransactionService | PdaService | ProgramWriter>;
|
|
12
|
+
//# sourceMappingURL=layers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../src/web3.js/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA6BtD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,mBAAmB,GACpC,KAAK,CAAC,KAAK,CACV,UAAU,GACV,aAAa,GACb,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,UAAU,GACV,aAAa,CAChB,CAOA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import { effectSolanaServices, makeRpcLayer } from "../presets/index.js";
|
|
3
|
+
import { makeSignerServiceFromLegacyAdapter } from "./legacy-signer.js";
|
|
4
|
+
export function makeSolanaLayerWithLegacyAdapter(config, getAdapter) {
|
|
5
|
+
const rpcLayer = makeRpcLayer(config);
|
|
6
|
+
const signerLayer = makeSignerServiceFromLegacyAdapter(getAdapter);
|
|
7
|
+
const baseLayers = Layer.mergeAll(rpcLayer, signerLayer);
|
|
8
|
+
return Layer.provideMerge(effectSolanaServices, baseLayers);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=layers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.js","sourceRoot":"","sources":["../../src/web3.js/layers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAI/B,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAM5E,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AA8BxE,MAAM,UAAU,gCAAgC,CAC9C,MAA2B,EAC3B,UAAqC;IAUrC,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,YAAY,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Layer } from "effect";
|
|
2
|
+
import { SignerService } from "../signer/index.js";
|
|
3
|
+
import type { LegacyWalletAdapter } from "./types.js";
|
|
4
|
+
export declare function makeSignerServiceFromLegacyAdapter(getAdapter: () => LegacyWalletAdapter): Layer.Layer<SignerService>;
|
|
5
|
+
//# sourceMappingURL=legacy-signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-signer.d.ts","sourceRoot":"","sources":["../../src/web3.js/legacy-signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA2BtD,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,mBAAmB,GACpC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAkH5B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Effect, Layer } from "effect";
|
|
2
|
+
import { SignatureError, WalletNotConnectedError } from "../core/errors/index.js";
|
|
3
|
+
import { SignerService } from "../signer/index.js";
|
|
4
|
+
import { SpanNames } from "../telemetry/index.js";
|
|
5
|
+
import { fromWeb3Transaction, toWeb3Transaction } from "./transaction-bridge.js";
|
|
6
|
+
import { publicKeyToAddress } from "./types.js";
|
|
7
|
+
export function makeSignerServiceFromLegacyAdapter(getAdapter) {
|
|
8
|
+
return Layer.succeed(SignerService, SignerService.of({
|
|
9
|
+
getAddress: () => Effect.gen(function* () {
|
|
10
|
+
const adapter = getAdapter();
|
|
11
|
+
if (!(adapter.connected && adapter.publicKey)) {
|
|
12
|
+
return yield* Effect.fail(new WalletNotConnectedError({ message: "Wallet not connected" }));
|
|
13
|
+
}
|
|
14
|
+
if (typeof adapter.publicKey !== "object" ||
|
|
15
|
+
adapter.publicKey === null ||
|
|
16
|
+
typeof adapter.publicKey.toBase58 !== "function") {
|
|
17
|
+
return yield* Effect.fail(new WalletNotConnectedError({
|
|
18
|
+
message: "Invalid publicKey: missing toBase58 method",
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
return publicKeyToAddress(adapter.publicKey);
|
|
22
|
+
}).pipe(Effect.withSpan(SpanNames.SIGNER_GET_ADDRESS)),
|
|
23
|
+
isConnected: () => Effect.sync(() => getAdapter().connected),
|
|
24
|
+
signAllTransactions: (txs) => Effect.gen(function* () {
|
|
25
|
+
if (txs.length === 0) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
const adapter = getAdapter();
|
|
29
|
+
if (!adapter.connected) {
|
|
30
|
+
return yield* Effect.fail(new WalletNotConnectedError({ message: "Wallet not connected" }));
|
|
31
|
+
}
|
|
32
|
+
const legacyTxs = yield* Effect.all(txs.map((tx) => Effect.tryPromise({
|
|
33
|
+
catch: (cause) => new SignatureError({
|
|
34
|
+
cause,
|
|
35
|
+
message: cause instanceof Error ? cause.message : "Failed to convert transaction",
|
|
36
|
+
}),
|
|
37
|
+
try: () => toWeb3Transaction(tx),
|
|
38
|
+
})));
|
|
39
|
+
const signedAll = yield* Effect.tryPromise({
|
|
40
|
+
catch: (cause) => new SignatureError({
|
|
41
|
+
cause,
|
|
42
|
+
message: cause instanceof Error ? cause.message : "Failed to sign transactions",
|
|
43
|
+
}),
|
|
44
|
+
try: () => adapter.signAllTransactions(legacyTxs),
|
|
45
|
+
});
|
|
46
|
+
return signedAll.map((signed) => fromWeb3Transaction(signed));
|
|
47
|
+
}).pipe(Effect.withSpan(SpanNames.TX_SIGN)),
|
|
48
|
+
signTransaction: (tx) => Effect.gen(function* () {
|
|
49
|
+
const adapter = getAdapter();
|
|
50
|
+
if (!adapter.connected) {
|
|
51
|
+
return yield* Effect.fail(new WalletNotConnectedError({ message: "Wallet not connected" }));
|
|
52
|
+
}
|
|
53
|
+
const legacyTx = yield* Effect.tryPromise({
|
|
54
|
+
catch: (cause) => new SignatureError({
|
|
55
|
+
cause,
|
|
56
|
+
message: cause instanceof Error ? cause.message : "Failed to convert transaction",
|
|
57
|
+
}),
|
|
58
|
+
try: () => toWeb3Transaction(tx),
|
|
59
|
+
});
|
|
60
|
+
const signed = yield* Effect.tryPromise({
|
|
61
|
+
catch: (cause) => new SignatureError({
|
|
62
|
+
cause,
|
|
63
|
+
message: cause instanceof Error ? cause.message : "Failed to sign transaction",
|
|
64
|
+
}),
|
|
65
|
+
try: () => adapter.signTransaction(legacyTx),
|
|
66
|
+
});
|
|
67
|
+
return fromWeb3Transaction(signed);
|
|
68
|
+
}).pipe(Effect.withSpan(SpanNames.TX_SIGN)),
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=legacy-signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-signer.js","sourceRoot":"","sources":["../../src/web3.js/legacy-signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Transaction, TransactionWithLifetime } from "@solana/transactions";
|
|
2
|
+
export declare function toWeb3Transaction(tx: Transaction & TransactionWithLifetime): Promise<unknown>;
|
|
3
|
+
export declare function fromWeb3Transaction(tx: {
|
|
4
|
+
serialize(opts: {
|
|
5
|
+
requireAllSignatures: boolean;
|
|
6
|
+
verifySignatures: boolean;
|
|
7
|
+
}): Uint8Array;
|
|
8
|
+
}): Transaction & TransactionWithLifetime;
|
|
9
|
+
//# sourceMappingURL=transaction-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-bridge.d.ts","sourceRoot":"","sources":["../../src/web3.js/transaction-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AA0DjF,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,WAAW,GAAG,uBAAuB,GACxC,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAsBD,wBAAgB,mBAAmB,CAAC,EAAE,EAAE;IACtC,SAAS,CAAC,IAAI,EAAE;QAAE,oBAAoB,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,OAAO,CAAA;KAAE,GAAG,UAAU,CAAC;CAC3F,GAAG,WAAW,GAAG,uBAAuB,CAQxC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { getTransactionDecoder, getTransactionEncoder } from "@solana/transactions";
|
|
2
|
+
let _encoder = null;
|
|
3
|
+
let _decoder = null;
|
|
4
|
+
function getEncoder() {
|
|
5
|
+
if (_encoder === null) {
|
|
6
|
+
_encoder = getTransactionEncoder();
|
|
7
|
+
}
|
|
8
|
+
return _encoder;
|
|
9
|
+
}
|
|
10
|
+
function getDecoder() {
|
|
11
|
+
if (_decoder === null) {
|
|
12
|
+
_decoder = getTransactionDecoder();
|
|
13
|
+
}
|
|
14
|
+
return _decoder;
|
|
15
|
+
}
|
|
16
|
+
function isVersionedMessage(wireBytes) {
|
|
17
|
+
const signatureCount = wireBytes[0] ?? 0;
|
|
18
|
+
const messageOffset = 1 + signatureCount * 64;
|
|
19
|
+
return ((wireBytes[messageOffset] ?? 0) & 0x80) !== 0;
|
|
20
|
+
}
|
|
21
|
+
export async function toWeb3Transaction(tx) {
|
|
22
|
+
const wire = getEncoder().encode(tx);
|
|
23
|
+
let LegacyTransaction;
|
|
24
|
+
let VersionedTransaction;
|
|
25
|
+
try {
|
|
26
|
+
const web3Module = await import("@solana/web3.js");
|
|
27
|
+
LegacyTransaction = web3Module.Transaction;
|
|
28
|
+
VersionedTransaction = web3Module.VersionedTransaction;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new Error("@solana/web3.js is required for legacy compatibility. Install it as a peer dependency.", { cause: error });
|
|
32
|
+
}
|
|
33
|
+
const wireBytes = new Uint8Array(wire);
|
|
34
|
+
return isVersionedMessage(wireBytes)
|
|
35
|
+
? VersionedTransaction.deserialize(wireBytes)
|
|
36
|
+
: LegacyTransaction.from(wireBytes);
|
|
37
|
+
}
|
|
38
|
+
export function fromWeb3Transaction(tx) {
|
|
39
|
+
const wire = tx.serialize({ requireAllSignatures: false, verifySignatures: false });
|
|
40
|
+
try {
|
|
41
|
+
return getDecoder().decode(wire);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw new Error("Failed to decode transaction from web3.js format", { cause: error });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=transaction-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-bridge.js","sourceRoot":"","sources":["../../src/web3.js/transaction-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,IAAI,QAAQ,GAAoD,IAAI,CAAC;AACrE,IAAI,QAAQ,GAAoD,IAAI,CAAC;AAErE,SAAS,UAAU;IACjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU;IACjB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAUD,SAAS,kBAAkB,CAAC,SAAqB;IAE/C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,GAAG,EAAE,CAAC;IAE9C,OAAO,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAsBD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAyC;IAEzC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAErC,IAAI,iBAAuD,CAAC;IAC5D,IAAI,oBAAiE,CAAC;IAEtE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACnD,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC;QAC3C,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,wFAAwF,EACxF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IAGD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,kBAAkB,CAAC,SAAS,CAAC;QAClC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,CAAC;QAC7C,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAsBD,MAAM,UAAU,mBAAmB,CAAC,EAEnC;IACC,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IAEpF,IAAI,CAAC;QACH,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAA0C,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Address } from "@solana/addresses";
|
|
2
|
+
export type LegacyWalletAdapter = {
|
|
3
|
+
readonly publicKey: unknown | null;
|
|
4
|
+
readonly connected: boolean;
|
|
5
|
+
readonly signTransaction: <T>(tx: T) => Promise<T>;
|
|
6
|
+
readonly signAllTransactions: <T>(txs: T[]) => Promise<T[]>;
|
|
7
|
+
};
|
|
8
|
+
export declare function publicKeyToAddress(pk: {
|
|
9
|
+
toBase58(): string;
|
|
10
|
+
}): Address;
|
|
11
|
+
export declare function addressToPublicKey(addr: Address): Promise<unknown>;
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/web3.js/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAoBjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7D,CAAC;AAoBF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,GAAG,OAAO,CAEtE;AAqBD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAUxE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { address } from "@solana/addresses";
|
|
2
|
+
export function publicKeyToAddress(pk) {
|
|
3
|
+
return address(pk.toBase58());
|
|
4
|
+
}
|
|
5
|
+
export async function addressToPublicKey(addr) {
|
|
6
|
+
try {
|
|
7
|
+
const { PublicKey } = await import("@solana/web3.js");
|
|
8
|
+
return new PublicKey(addr);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
throw new Error("@solana/web3.js is required for legacy compatibility. Install it as a peer dependency.", { cause: error });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/web3.js/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AA4C5C,MAAM,UAAU,kBAAkB,CAAC,EAA0B;IAC3D,OAAO,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAa;IACpD,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACtD,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,wFAAwF,EACxF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prb/effect-solana",
|
|
3
3
|
"description": "Effect-TS integration for Solana",
|
|
4
|
-
"version": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.2",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "just build",
|
|
8
|
+
"prepack": "bun install --frozen-lockfile && just build"
|
|
9
|
+
},
|
|
6
10
|
"main": "./dist/index.js",
|
|
7
11
|
"types": "./dist/index.d.ts",
|
|
8
12
|
"author": {
|
|
@@ -21,6 +25,7 @@
|
|
|
21
25
|
"homepage": "https://github.com/PaulRBerg/prb-effect/tree/main/solana#readme",
|
|
22
26
|
"devDependencies": {
|
|
23
27
|
"@biomejs/biome": "catalog:dev",
|
|
28
|
+
"@coral-xyz/anchor": "^0.31.1",
|
|
24
29
|
"@effect/platform": "catalog:effect",
|
|
25
30
|
"@effect/vitest": "catalog:dev",
|
|
26
31
|
"@sablier/devkit": "catalog:dev",
|
|
@@ -28,6 +33,7 @@
|
|
|
28
33
|
"@solana-program/system": "^0.8.0",
|
|
29
34
|
"@solana-program/token": "^0.8.0",
|
|
30
35
|
"@solana/kit": "^2.2.7",
|
|
36
|
+
"@solana/web3.js": "^1.95.0",
|
|
31
37
|
"@types/node": "^25.0.3",
|
|
32
38
|
"@types/react": "catalog:dev",
|
|
33
39
|
"@types/react-dom": "catalog:dev",
|
|
@@ -58,16 +64,24 @@
|
|
|
58
64
|
"CONTRIBUTING.md"
|
|
59
65
|
],
|
|
60
66
|
"peerDependencies": {
|
|
67
|
+
"@coral-xyz/anchor": "^0.31.1",
|
|
61
68
|
"@effect/platform": "catalog:peers",
|
|
62
69
|
"effect": "catalog:peers",
|
|
63
70
|
"@solana/kit": "^2.2.0",
|
|
64
71
|
"@solana-program/system": "^0.8.0",
|
|
65
72
|
"@solana-program/token": "^0.8.0",
|
|
66
73
|
"@solana-program/compute-budget": "^0.8.0",
|
|
74
|
+
"@solana/web3.js": "^1.95.0",
|
|
67
75
|
"react": "catalog:peers",
|
|
68
76
|
"react-dom": "catalog:peers"
|
|
69
77
|
},
|
|
70
78
|
"peerDependenciesMeta": {
|
|
79
|
+
"@coral-xyz/anchor": {
|
|
80
|
+
"optional": true
|
|
81
|
+
},
|
|
82
|
+
"@solana/web3.js": {
|
|
83
|
+
"optional": true
|
|
84
|
+
},
|
|
71
85
|
"react": {
|
|
72
86
|
"optional": true
|
|
73
87
|
},
|