@magicblock-labs/ephemeral-rollups-sdk 0.3.3 → 0.3.6

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magic-router.test.d.ts","sourceRoot":"","sources":["../../src/__test__/magic-router.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const magic_router_js_1 = require("../magic-router.js");
5
+ const web3_js_1 = require("@solana/web3.js");
6
+ global.fetch = vitest_1.vi.fn();
7
+ (0, vitest_1.describe)("getWritableAccounts", () => {
8
+ const mockPublicKey = (address) => ({
9
+ toBase58: () => address,
10
+ toString: () => address,
11
+ });
12
+ (0, vitest_1.it)("deduplicates writable accounts", () => {
13
+ const tx = {
14
+ feePayer: mockPublicKey("fee-payer"),
15
+ instructions: [
16
+ {
17
+ keys: [
18
+ { pubkey: mockPublicKey("k1"), isWritable: true },
19
+ { pubkey: mockPublicKey("k1"), isWritable: true },
20
+ ],
21
+ },
22
+ ],
23
+ };
24
+ const result = (0, magic_router_js_1.getWritableAccounts)(tx);
25
+ (0, vitest_1.expect)(result).toEqual(["fee-payer", "k1"]);
26
+ });
27
+ });
28
+ (0, vitest_1.describe)("Connection prototype methods", () => {
29
+ let connection;
30
+ let tx;
31
+ (0, vitest_1.beforeEach)(() => {
32
+ connection = new magic_router_js_1.ConnectionMagicRouter("http://localhost");
33
+ tx = new web3_js_1.Transaction();
34
+ tx.serialize = vitest_1.vi.fn(() => Buffer.from("mock"));
35
+ tx.sign = vitest_1.vi.fn();
36
+ global.fetch.mockReset();
37
+ });
38
+ (0, vitest_1.it)("getClosestValidator returns identity", async () => {
39
+ global.fetch.mockResolvedValueOnce({
40
+ json: async () => ({ result: { identity: "validator-1" } }),
41
+ });
42
+ const result = await connection.getClosestValidator();
43
+ (0, vitest_1.expect)(result).toEqual({ identity: "validator-1" });
44
+ });
45
+ (0, vitest_1.it)("getDelegationStatus works with string account", async () => {
46
+ global.fetch.mockResolvedValueOnce({
47
+ json: async () => ({ result: { isDelegated: true } }),
48
+ });
49
+ const result = await connection.getDelegationStatus("account1");
50
+ (0, vitest_1.expect)(result).toEqual({ isDelegated: true });
51
+ });
52
+ (0, vitest_1.it)("getDelegationStatus works with PublicKey account", async () => {
53
+ global.fetch.mockResolvedValueOnce({
54
+ json: async () => ({ result: { isDelegated: false } }),
55
+ });
56
+ const pk = new web3_js_1.PublicKey("11111111111111111111111111111111");
57
+ const result = await connection.getDelegationStatus(pk);
58
+ (0, vitest_1.expect)(result).toEqual({ isDelegated: false });
59
+ });
60
+ (0, vitest_1.it)("getLatestBlockhashForTransaction returns blockhash", async () => {
61
+ global.fetch.mockResolvedValueOnce({
62
+ json: async () => ({
63
+ result: { blockhash: "mock-blockhash", lastValidBlockHeight: 100 },
64
+ }),
65
+ });
66
+ const result = await connection.getLatestBlockhashForTransaction(tx);
67
+ (0, vitest_1.expect)(result).toEqual({
68
+ blockhash: "mock-blockhash",
69
+ lastValidBlockHeight: 100,
70
+ });
71
+ });
72
+ (0, vitest_1.it)("prepareTransaction sets recentBlockhash", async () => {
73
+ vitest_1.vi.spyOn(magic_router_js_1.ConnectionMagicRouter.prototype, "getLatestBlockhashForTransaction").mockResolvedValue({
74
+ blockhash: "hb",
75
+ lastValidBlockHeight: 100,
76
+ });
77
+ const result = await connection.prepareTransaction(tx);
78
+ (0, vitest_1.expect)(result.recentBlockhash).toBe("hb");
79
+ });
80
+ (0, vitest_1.it)("sendTransaction signs and sends transaction", async () => {
81
+ vitest_1.vi.spyOn(magic_router_js_1.ConnectionMagicRouter.prototype, "getLatestBlockhashForTransaction").mockResolvedValue({
82
+ blockhash: "hb",
83
+ lastValidBlockHeight: 100,
84
+ });
85
+ vitest_1.vi.spyOn(magic_router_js_1.ConnectionMagicRouter.prototype, "sendRawTransaction").mockResolvedValue("sig123");
86
+ const signers = [new web3_js_1.Keypair()];
87
+ const sendTx = connection.sendTransaction.bind(connection);
88
+ const signature = await sendTx(tx, signers);
89
+ const signFn = tx.sign.bind(tx);
90
+ const serializeFn = tx.serialize.bind(tx);
91
+ (0, vitest_1.expect)(signFn(...signers)).toBeUndefined();
92
+ (0, vitest_1.expect)(serializeFn()).toBeInstanceOf(Buffer);
93
+ (0, vitest_1.expect)(signature).toBe("sig123");
94
+ });
95
+ (0, vitest_1.it)("sendAndConfirmTransaction calls sendTransaction and returns signature", async () => {
96
+ vitest_1.vi.spyOn(magic_router_js_1.ConnectionMagicRouter.prototype, "sendTransaction").mockResolvedValue("sig123");
97
+ vitest_1.vi.spyOn(magic_router_js_1.ConnectionMagicRouter.prototype, "confirmTransaction").mockResolvedValue({ value: { err: null } });
98
+ const signature = await (0, web3_js_1.sendAndConfirmTransaction)(connection, tx, [
99
+ new web3_js_1.Keypair(),
100
+ ]);
101
+ (0, vitest_1.expect)(signature).toBe("sig123");
102
+ });
103
+ (0, vitest_1.it)("sendAndConfirmTransaction throws SendTransactionError if status has err", async () => {
104
+ vitest_1.vi.spyOn(magic_router_js_1.ConnectionMagicRouter.prototype, "sendTransaction").mockResolvedValue("sig123");
105
+ vitest_1.vi.spyOn(magic_router_js_1.ConnectionMagicRouter.prototype, "confirmTransaction").mockResolvedValue({ value: { err: { some: "error" } } });
106
+ await (0, vitest_1.expect)((0, web3_js_1.sendAndConfirmTransaction)(connection, tx, [new web3_js_1.Keypair()])).rejects.toThrow(web3_js_1.SendTransactionError);
107
+ });
108
+ });
109
+ //# sourceMappingURL=magic-router.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magic-router.test.js","sourceRoot":"","sources":["../../src/__test__/magic-router.test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,6 @@ export declare const delegateInstructionDiscriminator: number[];
10
10
  interface DelegateAccountArgs {
11
11
  commit_frequency_ms: number;
12
12
  seeds: Uint8Array[][];
13
- validator?: web3.PublicKey;
14
13
  }
15
14
  export declare function createDelegateInstruction(accounts: {
16
15
  payer: web3.PublicKey;
@@ -19,6 +18,7 @@ export declare function createDelegateInstruction(accounts: {
19
18
  delegationRecord?: web3.PublicKey;
20
19
  delegationMetadata?: web3.PublicKey;
21
20
  systemProgram?: web3.PublicKey;
21
+ validator?: web3.PublicKey;
22
22
  }, args?: DelegateAccountArgs, programId?: web3.PublicKey): web3.TransactionInstruction;
23
23
  export {};
24
24
  //# sourceMappingURL=delegate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAQxC,eAAO,MAAM,cAAc;8BACC,MAAM,EAAE;yBACb,IAAI,CAAC,MAAM;WACzB,MAAM,EAAE,EAAE;gBACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;EASrC,CAAC;AACF,eAAO,MAAM,gCAAgC,UAA2B,CAAC;AAGzE,UAAU,mBAAmB;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE;IACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;IACjC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;CAChC,EACD,IAAI,CAAC,EAAE,mBAAmB,EAC1B,SAAS,iBAAwB,+BA2DlC"}
1
+ {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAQxC,eAAO,MAAM,cAAc;8BACC,MAAM,EAAE;yBACb,IAAI,CAAC,MAAM;WACzB,MAAM,EAAE,EAAE;gBACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;EASrC,CAAC;AACF,eAAO,MAAM,gCAAgC,UAA2B,CAAC;AAGzE,UAAU,mBAAmB;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE;IACR,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;IACtB,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;IACjC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;CAC5B,EACD,IAAI,CAAC,EAAE,mBAAmB,EAC1B,SAAS,iBAAwB,+BAmElC"}
@@ -53,7 +53,6 @@ function createDelegateInstruction(accounts, args, programId = constants_1.DELEG
53
53
  args = args ?? {
54
54
  commit_frequency_ms: 4294967295,
55
55
  seeds: [],
56
- validator: undefined,
57
56
  };
58
57
  const keys = [
59
58
  { pubkey: accounts.payer, isWritable: false, isSigner: true },
@@ -79,12 +78,20 @@ function createDelegateInstruction(accounts, args, programId = constants_1.DELEG
79
78
  isWritable: false,
80
79
  isSigner: false,
81
80
  },
81
+ ...(accounts.validator
82
+ ? [
83
+ {
84
+ pubkey: accounts.validator,
85
+ isWritable: false,
86
+ isSigner: false,
87
+ },
88
+ ]
89
+ : []),
82
90
  ];
83
91
  const [data] = exports.delegateStruct.serialize({
84
92
  instructionDiscriminator: exports.delegateInstructionDiscriminator,
85
93
  commit_frequency_ms: args.commit_frequency_ms,
86
94
  seeds: args.seeds.map((seed) => seed.map(Number)),
87
- validator: args.validator ? args.validator.toBytes() : undefined,
88
95
  });
89
96
  return new web3.TransactionInstruction({
90
97
  programId,
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../src/instructions/delegate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,18 @@
1
- import { Connection, Transaction } from "@solana/web3.js";
1
+ import { Connection, Transaction, ConfirmOptions, TransactionSignature, Signer, BlockhashWithExpiryBlockHeight, SendOptions, PublicKey, VersionedTransaction } from "@solana/web3.js";
2
2
  export declare function getWritableAccounts(transaction: Transaction): string[];
3
- export { Connection };
3
+ export declare class ConnectionMagicRouter extends Connection {
4
+ getClosestValidator(): Promise<{
5
+ identity: string;
6
+ fqdn?: string;
7
+ }>;
8
+ getDelegationStatus(account: PublicKey | string): Promise<{
9
+ isDelegated: boolean;
10
+ }>;
11
+ getLatestBlockhashForTransaction(transaction: Transaction, options?: ConfirmOptions): Promise<BlockhashWithExpiryBlockHeight>;
12
+ prepareTransaction(transaction: Transaction, options?: ConfirmOptions): Promise<Transaction>;
13
+ sendTransaction(transaction: Transaction | VersionedTransaction, signersOrOptions?: Signer[] | SendOptions, options?: SendOptions): Promise<TransactionSignature>;
14
+ sendAndConfirmTransaction(transaction: Transaction, signers: Signer[], options?: ConfirmOptions & {
15
+ abortSignal?: AbortSignal;
16
+ }): Promise<TransactionSignature>;
17
+ }
4
18
  //# sourceMappingURL=magic-router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"magic-router.d.ts","sourceRoot":"","sources":["../src/magic-router.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EAQZ,MAAM,iBAAiB,CAAC;AAKzB,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,YAgB3D;AA6LD,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"magic-router.d.ts","sourceRoot":"","sources":["../src/magic-router.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,8BAA8B,EAC9B,WAAW,EACX,SAAS,EAET,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAOzB,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,YAgB3D;AAKD,qBAAa,qBAAsB,SAAQ,UAAU;IAK7C,mBAAmB,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBnE,mBAAmB,CACvB,OAAO,EAAE,SAAS,GAAG,MAAM,GAC1B,OAAO,CAAC;QAAE,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAwB9B,gCAAgC,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,8BAA8B,CAAC;IAwBpC,kBAAkB,CACtB,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC;IAiBjB,eAAe,CACnB,WAAW,EAAE,WAAW,GAAG,oBAAoB,EAC/C,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,EACzC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,oBAAoB,CAAC;IAiC1B,yBAAyB,CAC7B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,cAAc,GAAG;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GACvD,OAAO,CAAC,oBAAoB,CAAC;CAoDjC"}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Connection = void 0;
3
+ exports.ConnectionMagicRouter = void 0;
4
4
  exports.getWritableAccounts = getWritableAccounts;
5
5
  const web3_js_1 = require("@solana/web3.js");
6
- Object.defineProperty(exports, "Connection", { enumerable: true, get: function () { return web3_js_1.Connection; } });
7
6
  function getWritableAccounts(transaction) {
8
7
  const writableAccounts = new Set();
9
8
  if (transaction.feePayer) {
@@ -18,39 +17,39 @@ function getWritableAccounts(transaction) {
18
17
  }
19
18
  return Array.from(writableAccounts);
20
19
  }
21
- web3_js_1.Connection.prototype.getClosestValidator = async function () {
22
- const response = await fetch(this.rpcEndpoint, {
23
- method: "POST",
24
- headers: { "Content-Type": "application/json" },
25
- body: JSON.stringify({
26
- jsonrpc: "2.0",
27
- id: 1,
28
- method: "getIdentity",
29
- params: [],
30
- }),
31
- });
32
- const identityData = (await response.json())?.result;
33
- if (identityData === null || identityData.identity === undefined) {
34
- throw new Error("Invalid response");
20
+ class ConnectionMagicRouter extends web3_js_1.Connection {
21
+ async getClosestValidator() {
22
+ const response = await fetch(this.rpcEndpoint, {
23
+ method: "POST",
24
+ headers: { "Content-Type": "application/json" },
25
+ body: JSON.stringify({
26
+ jsonrpc: "2.0",
27
+ id: 1,
28
+ method: "getIdentity",
29
+ params: [],
30
+ }),
31
+ });
32
+ const identityData = (await response.json())?.result;
33
+ if (identityData === null || identityData.identity === undefined) {
34
+ throw new Error("Invalid response");
35
+ }
36
+ return identityData;
37
+ }
38
+ async getDelegationStatus(account) {
39
+ const accountAddress = typeof account === "string" ? account : account.toBase58();
40
+ const response = await fetch(`${this.rpcEndpoint}/getDelegationStatus`, {
41
+ method: "POST",
42
+ headers: { "Content-Type": "application/json" },
43
+ body: JSON.stringify({
44
+ jsonrpc: "2.0",
45
+ id: 1,
46
+ method: "getDelegationStatus",
47
+ params: [accountAddress],
48
+ }),
49
+ });
50
+ return (await response.json()).result;
35
51
  }
36
- return identityData;
37
- };
38
- web3_js_1.Connection.prototype.getDelegationStatus = async function (account) {
39
- const accountAddress = typeof account === "string" ? account : account.toBase58();
40
- const response = await fetch(`${this.rpcEndpoint}/getDelegationStatus`, {
41
- method: "POST",
42
- headers: { "Content-Type": "application/json" },
43
- body: JSON.stringify({
44
- jsonrpc: "2.0",
45
- id: 1,
46
- method: "getDelegationStatus",
47
- params: [accountAddress],
48
- }),
49
- });
50
- return (await response.json()).result;
51
- };
52
- web3_js_1.Connection.prototype.getLatestBlockhashForTransaction =
53
- async function (transaction, options) {
52
+ async getLatestBlockhashForTransaction(transaction, options) {
54
53
  const writableAccounts = getWritableAccounts(transaction);
55
54
  const blockHashResponse = await fetch(this.rpcEndpoint, {
56
55
  method: "POST",
@@ -64,60 +63,63 @@ web3_js_1.Connection.prototype.getLatestBlockhashForTransaction =
64
63
  });
65
64
  const blockHashData = await blockHashResponse.json();
66
65
  return blockHashData.result;
67
- };
68
- web3_js_1.Connection.prototype.prepareTransaction = async function (transaction, options) {
69
- const blockHashData = await this.getLatestBlockhashForTransaction(transaction, options);
70
- transaction.recentBlockhash = blockHashData.blockhash;
71
- return transaction;
72
- };
73
- web3_js_1.Connection.prototype.sendTransaction = async function (transaction, signersOrOptions, options) {
74
- const sendOpts = Array.isArray(signersOrOptions)
75
- ? (options ?? undefined)
76
- : (signersOrOptions ?? undefined);
77
- const latestBlockhash = await this.getLatestBlockhashForTransaction(transaction, sendOpts);
78
- transaction.recentBlockhash = latestBlockhash.blockhash;
79
- transaction.lastValidBlockHeight =
80
- latestBlockhash.lastValidBlockHeight;
81
- if (Array.isArray(signersOrOptions)) {
82
- transaction.sign(...signersOrOptions);
83
- }
84
- const wireTransaction = transaction.serialize();
85
- return this.sendRawTransaction(wireTransaction, sendOpts);
86
- };
87
- web3_js_1.Connection.prototype.sendAndConfirmTransaction = async function (transaction, signers, options) {
88
- const signature = await this.sendTransaction(transaction, signers, options);
89
- let status;
90
- const { recentBlockhash, lastValidBlockHeight, minNonceContextSlot, nonceInfo, } = transaction;
91
- if (recentBlockhash !== undefined && lastValidBlockHeight !== undefined) {
92
- status = (await this.confirmTransaction({
93
- abortSignal: options?.abortSignal,
94
- signature,
95
- blockhash: recentBlockhash,
96
- lastValidBlockHeight,
97
- }, options?.commitment)).value;
98
66
  }
99
- else if (minNonceContextSlot !== undefined && nonceInfo !== undefined) {
100
- const { nonceInstruction } = nonceInfo;
101
- const nonceAccountPubkey = nonceInstruction.keys[0].pubkey;
102
- status = (await this.confirmTransaction({
103
- abortSignal: options?.abortSignal,
104
- minContextSlot: minNonceContextSlot,
105
- nonceAccountPubkey,
106
- nonceValue: nonceInfo.nonce,
107
- signature,
108
- }, options?.commitment)).value;
67
+ async prepareTransaction(transaction, options) {
68
+ const blockHashData = await this.getLatestBlockhashForTransaction(transaction, options);
69
+ transaction.recentBlockhash = blockHashData.blockhash;
70
+ return transaction;
109
71
  }
110
- else {
111
- status = (await this.confirmTransaction(signature, options?.commitment))
112
- .value;
72
+ async sendTransaction(transaction, signersOrOptions, options) {
73
+ if (transaction instanceof web3_js_1.Transaction) {
74
+ const latestBlockhash = await this.getLatestBlockhashForTransaction(transaction);
75
+ transaction.recentBlockhash = latestBlockhash.blockhash;
76
+ transaction.lastValidBlockHeight = latestBlockhash.lastValidBlockHeight;
77
+ if (Array.isArray(signersOrOptions)) {
78
+ transaction.sign(...signersOrOptions);
79
+ }
80
+ const wireTx = transaction.serialize();
81
+ return this.sendRawTransaction(wireTx, options);
82
+ }
83
+ else {
84
+ return super.sendTransaction(transaction, signersOrOptions);
85
+ }
113
86
  }
114
- if (status.err != null) {
115
- throw new web3_js_1.SendTransactionError({
116
- action: "send",
117
- signature,
118
- transactionMessage: `Status: (${JSON.stringify(status)})`,
119
- });
87
+ async sendAndConfirmTransaction(transaction, signers, options) {
88
+ const signature = await this.sendTransaction(transaction, signers, options);
89
+ let status;
90
+ const { recentBlockhash, lastValidBlockHeight, minNonceContextSlot, nonceInfo, } = transaction;
91
+ if (recentBlockhash !== undefined && lastValidBlockHeight !== undefined) {
92
+ status = (await this.confirmTransaction({
93
+ abortSignal: options?.abortSignal,
94
+ signature,
95
+ blockhash: recentBlockhash,
96
+ lastValidBlockHeight,
97
+ }, options?.commitment)).value;
98
+ }
99
+ else if (minNonceContextSlot !== undefined && nonceInfo !== undefined) {
100
+ const { nonceInstruction } = nonceInfo;
101
+ const nonceAccountPubkey = nonceInstruction.keys[0].pubkey;
102
+ status = (await this.confirmTransaction({
103
+ abortSignal: options?.abortSignal,
104
+ minContextSlot: minNonceContextSlot,
105
+ nonceAccountPubkey,
106
+ nonceValue: nonceInfo.nonce,
107
+ signature,
108
+ }, options?.commitment)).value;
109
+ }
110
+ else {
111
+ status = (await this.confirmTransaction(signature, options?.commitment))
112
+ .value;
113
+ }
114
+ if (status.err != null) {
115
+ throw new web3_js_1.SendTransactionError({
116
+ action: "send",
117
+ signature,
118
+ transactionMessage: `Status: (${JSON.stringify(status)})`,
119
+ });
120
+ }
121
+ return signature;
120
122
  }
121
- return signature;
122
- };
123
+ }
124
+ exports.ConnectionMagicRouter = ConnectionMagicRouter;
123
125
  //# sourceMappingURL=magic-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"magic-router.js","sourceRoot":"","sources":["../src/magic-router.ts"],"names":[],"mappings":";;;AAeA,kDAgBC;AA/BD,6CAUyB;AAkNhB,2FA3NP,oBAAU,OA2NO;AA7MnB,SAAgB,mBAAmB,CAAC,WAAwB;IAC1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAMA,oBAAU,CAAC,SAAiB,CAAC,mBAAmB,GAAG,KAAK;IAIvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAqB,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,EAAE;SACX,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC;IACrD,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAMD,oBAAU,CAAC,SAAiB,CAAC,mBAAmB,GAAG,KAAK,WACvD,OAA2B;IAE3B,MAAM,cAAc,GAClB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE7D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,WAAqB,sBAAsB,EACnD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,qBAAqB;YAC7B,MAAM,EAAE,CAAC,cAAc,CAAC;SACzB,CAAC;KACH,CACF,CAAC;IAEF,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC,CAAC;AAMD,oBAAU,CAAC,SAAiB,CAAC,gCAAgC;IAC5D,KAAK,WACH,WAAwB,EACxB,OAAwB;QAExB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,iBAAiB,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAqB,EAAE;YAChE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,CAAC,gBAAgB,CAAC;aAC3B,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC,CAAC;AAMH,oBAAU,CAAC,SAAiB,CAAC,kBAAkB,GAAG,KAAK,WACtD,WAAwB,EACxB,OAAwB;IAExB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAC/D,WAAW,EACX,OAAO,CACR,CAAC;IACF,WAAW,CAAC,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC;IACtD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAOD,oBAAU,CAAC,SAAiB,CAAC,eAAe,GAAG,KAAK,WACnD,WAAwB,EACxB,gBAAyC,EACzC,OAAqB;IAErB,MAAM,QAAQ,GAA4B,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACvE,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;QACxB,CAAC,CAAC,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC;IAEpC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gCAAgC,CACjE,WAAW,EACX,QAA0B,CAC3B,CAAC;IACD,WAAmB,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC;IAChE,WAAmB,CAAC,oBAAoB;QACvC,eAAe,CAAC,oBAAoB,CAAC;IAEvC,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC,CAAC;AAOD,oBAAU,CAAC,SAAiB,CAAC,yBAAyB,GAAG,KAAK,WAC7D,WAAwB,EACxB,OAAiB,EACjB,OAAwD;IAExD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC;IACX,MAAM,EACJ,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GACV,GAAG,WAAW,CAAC;IAEhB,IAAI,eAAe,KAAK,SAAS,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,GAAG,CACP,MAAM,IAAI,CAAC,kBAAkB,CAC3B;YACE,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,SAAS;YACT,SAAS,EAAE,eAAe;YAC1B,oBAAoB;SACrB,EACD,OAAO,EAAE,UAAU,CACpB,CACF,CAAC,KAAK,CAAC;IACV,CAAC;SAAM,IAAI,mBAAmB,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACxE,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;QACvC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,MAAM,GAAG,CACP,MAAM,IAAI,CAAC,kBAAkB,CAC3B;YACE,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,cAAc,EAAE,mBAAmB;YACnC,kBAAkB;YAClB,UAAU,EAAE,SAAS,CAAC,KAAK;YAC3B,SAAS;SACV,EACD,OAAO,EAAE,UAAU,CACpB,CACF,CAAC,KAAK,CAAC;IACV,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;aACrE,KAAK,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,8BAAoB,CAAC;YAC7B,MAAM,EAAE,MAAM;YACd,SAAS;YACT,kBAAkB,EAAE,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"magic-router.js","sourceRoot":"","sources":["../src/magic-router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicblock-labs/ephemeral-rollups-sdk",
3
- "version": "0.3.3",
3
+ "version": "0.3.6",
4
4
  "author": "MagicBlock Labs",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -20,14 +20,13 @@
20
20
  "lint": "eslint -c .eslintrc.yml --ext .ts,.tsx src",
21
21
  "lint:fix": "eslint -c .eslintrc.yml --ext .ts,.tsx src --fix",
22
22
  "pretest": "tsc",
23
- "test": "jest --config ./jest.lib.config.cjs",
23
+ "test": "vitest run --reporter verbose",
24
24
  "prepare": "npm run build"
25
25
  },
26
26
  "files": [
27
27
  "lib"
28
28
  ],
29
29
  "devDependencies": {
30
- "@types/jest": "^29.5.12",
31
30
  "@typescript-eslint/eslint-plugin": "^6.21.0",
32
31
  "@typescript-eslint/parser": "^6.21.0",
33
32
  "eslint": "^8.55.0",
@@ -37,10 +36,9 @@
37
36
  "eslint-plugin-n": "^16.6.2",
38
37
  "eslint-plugin-prettier": "^5.2.1",
39
38
  "eslint-plugin-promise": "^6.2.0",
40
- "jest": "^29.7.0",
41
39
  "prettier": "^3.3.2",
42
40
  "rimraf": "^3.0.2",
43
- "ts-jest": "^29.1.1"
41
+ "vitest": "^3.2.4"
44
42
  },
45
43
  "dependencies": {
46
44
  "@metaplex-foundation/beet": "^0.7.2",
@@ -50,5 +48,6 @@
50
48
  "rpc-websockets": "^9.0.4",
51
49
  "typescript": "^5.3.0"
52
50
  },
51
+ "optionalDependencies": {},
53
52
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
54
53
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"magic-router.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/magic-router.test.ts"],"names":[],"mappings":""}
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const magic_router_js_1 = require("../magic-router.js");
4
- const web3_js_1 = require("@solana/web3.js");
5
- global.fetch = jest.fn();
6
- describe("getWritableAccounts", () => {
7
- const mockPublicKey = (address) => ({
8
- toBase58: () => address,
9
- toString: () => address,
10
- });
11
- it("deduplicates writable accounts", () => {
12
- const tx = {
13
- feePayer: mockPublicKey("fee-payer"),
14
- instructions: [
15
- {
16
- keys: [
17
- { pubkey: mockPublicKey("k1"), isWritable: true },
18
- { pubkey: mockPublicKey("k1"), isWritable: true },
19
- ],
20
- },
21
- ],
22
- };
23
- const result = (0, magic_router_js_1.getWritableAccounts)(tx);
24
- expect(result).toEqual(["fee-payer", "k1"]);
25
- });
26
- });
27
- describe("Connection prototype methods", () => {
28
- let connection;
29
- let tx;
30
- beforeEach(() => {
31
- connection = new magic_router_js_1.Connection("http://localhost");
32
- tx = new web3_js_1.Transaction();
33
- tx.serialize = jest.fn(() => Buffer.from("mock"));
34
- tx.sign = jest.fn();
35
- global.fetch.mockReset();
36
- });
37
- it("getClosestValidator returns identity", async () => {
38
- global.fetch.mockResolvedValueOnce({
39
- json: async () => ({ result: { identity: "validator-1" } }),
40
- });
41
- const result = await connection.getClosestValidator();
42
- expect(result).toEqual({ identity: "validator-1" });
43
- });
44
- it("getDelegationStatus works with string account", async () => {
45
- global.fetch.mockResolvedValueOnce({
46
- json: async () => ({ result: { isDelegated: true } }),
47
- });
48
- const result = await connection.getDelegationStatus("account1");
49
- expect(result).toEqual({ isDelegated: true });
50
- });
51
- it("getDelegationStatus works with PublicKey account", async () => {
52
- global.fetch.mockResolvedValueOnce({
53
- json: async () => ({ result: { isDelegated: false } }),
54
- });
55
- const pk = new web3_js_1.PublicKey("11111111111111111111111111111111");
56
- const result = await connection.getDelegationStatus(pk);
57
- expect(result).toEqual({ isDelegated: false });
58
- });
59
- it("getLatestBlockhashForTransaction returns blockhash", async () => {
60
- global.fetch.mockResolvedValueOnce({
61
- json: async () => ({
62
- result: { blockhash: "mock-blockhash", lastValidBlockHeight: 100 },
63
- }),
64
- });
65
- const result = await connection.getLatestBlockhashForTransaction(tx);
66
- expect(result).toEqual({
67
- blockhash: "mock-blockhash",
68
- lastValidBlockHeight: 100,
69
- });
70
- });
71
- it("prepareTransaction sets recentBlockhash", async () => {
72
- jest
73
- .spyOn(magic_router_js_1.Connection.prototype, "getLatestBlockhashForTransaction")
74
- .mockResolvedValue({ blockhash: "hb", lastValidBlockHeight: 100 });
75
- const result = await connection.prepareTransaction(tx);
76
- expect(result.recentBlockhash).toBe("hb");
77
- });
78
- it("sendTransaction signs and sends transaction", async () => {
79
- jest
80
- .spyOn(magic_router_js_1.Connection.prototype, "getLatestBlockhashForTransaction")
81
- .mockResolvedValue({ blockhash: "hb", lastValidBlockHeight: 100 });
82
- jest
83
- .spyOn(magic_router_js_1.Connection.prototype, "sendRawTransaction")
84
- .mockResolvedValue("sig123");
85
- const signers = [new web3_js_1.Keypair()];
86
- const sendTx = connection.sendTransaction.bind(connection);
87
- const signature = await sendTx(tx, signers);
88
- const signFn = tx.sign.bind(tx);
89
- const serializeFn = tx.serialize.bind(tx);
90
- expect(signFn(...signers)).toBeUndefined();
91
- expect(serializeFn()).toBeInstanceOf(Buffer);
92
- expect(signature).toBe("sig123");
93
- });
94
- it("sendAndConfirmTransaction calls sendTransaction and returns signature", async () => {
95
- jest
96
- .spyOn(magic_router_js_1.Connection.prototype, "sendTransaction")
97
- .mockResolvedValue("sig123");
98
- jest
99
- .spyOn(magic_router_js_1.Connection.prototype, "confirmTransaction")
100
- .mockResolvedValue({ value: { err: null } });
101
- const signature = await connection.sendAndConfirmTransaction(tx, [
102
- new web3_js_1.Keypair(),
103
- ]);
104
- expect(signature).toBe("sig123");
105
- });
106
- it("sendAndConfirmTransaction throws SendTransactionError if status has err", async () => {
107
- jest
108
- .spyOn(magic_router_js_1.Connection.prototype, "sendTransaction")
109
- .mockResolvedValue("sig123");
110
- jest
111
- .spyOn(magic_router_js_1.Connection.prototype, "confirmTransaction")
112
- .mockResolvedValue({ value: { err: { some: "error" } } });
113
- await expect(connection.sendAndConfirmTransaction(tx, [new web3_js_1.Keypair()])).rejects.toThrow(web3_js_1.SendTransactionError);
114
- });
115
- });
116
- //# sourceMappingURL=magic-router.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"magic-router.test.js","sourceRoot":"","sources":["../../src/__tests__/magic-router.test.ts"],"names":[],"mappings":"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"}