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

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.
@@ -2,226 +2,115 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const magic_router_js_1 = require("../magic-router.js");
4
4
  const web3_js_1 = require("@solana/web3.js");
5
- const mockPublicKey = (address) => ({
6
- toBase58: () => address,
7
- toString: () => address,
8
- });
9
- jest.mock("@solana/web3.js", () => {
10
- const actual = jest.requireActual("@solana/web3.js");
11
- return {
12
- ...actual,
13
- Connection: jest.fn().mockImplementation(() => ({
14
- rpcEndpoint: "http://localhost",
15
- sendRawTransaction: jest.fn().mockResolvedValue("mock-signature"),
16
- })),
17
- Transaction: jest.fn().mockImplementation(() => ({
18
- feePayer: mockPublicKey("mock-fee-payer"),
19
- signature: [],
20
- instructions: [
21
- {
22
- keys: [
23
- { pubkey: mockPublicKey("key1"), isSigner: true, isWritable: true },
24
- {
25
- pubkey: mockPublicKey("key2"),
26
- isSigner: false,
27
- isWritable: false,
28
- },
29
- ],
30
- },
31
- ],
32
- serialize: jest.fn(() => Buffer.from("mock")),
33
- sign: jest.fn(),
34
- })),
35
- Keypair: jest.fn().mockImplementation(() => ({
36
- publicKey: mockPublicKey("mock-public-key"),
37
- sign: jest.fn(),
38
- })),
39
- PublicKey: jest
40
- .fn()
41
- .mockImplementation((address) => mockPublicKey(address)),
42
- };
43
- });
44
- global.fetch = jest.fn(async () => Promise.resolve({
45
- json: async () => Promise.resolve({ result: { blockhash: "mock-blockhash" } }),
46
- }));
47
- describe("prepareRouterTransaction", () => {
48
- it("sets recentBlockhash and returns the transaction", async () => {
49
- const connection = new web3_js_1.Connection("http://localhost");
50
- const transaction = new web3_js_1.Transaction();
51
- const result = await (0, magic_router_js_1.prepareMagicTransaction)(connection, transaction);
52
- expect(result.recentBlockhash).toBe("mock-blockhash");
53
- expect(global.fetch).toHaveBeenCalledWith("http://localhost", {
54
- method: "POST",
55
- headers: { "Content-Type": "application/json" },
56
- body: JSON.stringify({
57
- jsonrpc: "2.0",
58
- id: 1,
59
- method: "getBlockhashForAccounts",
60
- params: [["mock-fee-payer", "key1"]],
61
- }),
62
- });
63
- });
64
- });
65
- describe("sendRouterTransaction", () => {
66
- it("sets recentBlockhash, feePayer, signs, and sends the transaction", async () => {
67
- const connection = new web3_js_1.Connection("http://localhost");
68
- const transaction = new web3_js_1.Transaction();
69
- const signers = [new web3_js_1.Keypair()];
70
- const signature = await (0, magic_router_js_1.sendMagicTransaction)(connection, transaction, signers);
71
- expect(transaction.recentBlockhash).toBe("mock-blockhash");
72
- expect(transaction.feePayer?.toBase58()).toBe("mock-fee-payer");
73
- expect(transaction.sign).toHaveBeenCalledWith(...signers);
74
- expect(signature).toBe("mock-signature");
75
- expect(global.fetch).toHaveBeenCalledWith("http://localhost", {
76
- method: "POST",
77
- headers: { "Content-Type": "application/json" },
78
- body: JSON.stringify({
79
- jsonrpc: "2.0",
80
- id: 1,
81
- method: "getBlockhashForAccounts",
82
- params: [["mock-fee-payer", "key1"]],
83
- }),
84
- });
85
- });
86
- });
5
+ global.fetch = jest.fn();
87
6
  describe("getWritableAccounts", () => {
88
- it("returns writable accounts from transaction", () => {
89
- const transaction = {
90
- feePayer: mockPublicKey("fee-payer"),
91
- instructions: [
92
- {
93
- keys: [
94
- { pubkey: mockPublicKey("key1"), isWritable: true },
95
- { pubkey: mockPublicKey("key2"), isWritable: false },
96
- { pubkey: mockPublicKey("key3"), isWritable: true },
97
- ],
98
- },
99
- ],
100
- };
101
- const result = (0, magic_router_js_1.getWritableAccounts)(transaction);
102
- expect(result).toEqual(["fee-payer", "key1", "key3"]);
103
- });
104
- it("handles transaction without feePayer", () => {
105
- const transaction = {
106
- feePayer: null,
107
- instructions: [
108
- {
109
- keys: [
110
- { pubkey: mockPublicKey("key1"), isWritable: true },
111
- { pubkey: mockPublicKey("key2"), isWritable: false },
112
- ],
113
- },
114
- ],
115
- };
116
- const result = (0, magic_router_js_1.getWritableAccounts)(transaction);
117
- expect(result).toEqual(["key1"]);
118
- });
119
- it("handles transaction without instructions", () => {
120
- const transaction = {
121
- feePayer: mockPublicKey("fee-payer"),
122
- instructions: [],
123
- };
124
- const result = (0, magic_router_js_1.getWritableAccounts)(transaction);
125
- expect(result).toEqual(["fee-payer"]);
7
+ const mockPublicKey = (address) => ({
8
+ toBase58: () => address,
9
+ toString: () => address,
126
10
  });
127
11
  it("deduplicates writable accounts", () => {
128
- const transaction = {
12
+ const tx = {
129
13
  feePayer: mockPublicKey("fee-payer"),
130
14
  instructions: [
131
15
  {
132
16
  keys: [
133
- { pubkey: mockPublicKey("key1"), isWritable: true },
134
- { pubkey: mockPublicKey("key1"), isWritable: true },
135
- { pubkey: mockPublicKey("key2"), isWritable: false },
17
+ { pubkey: mockPublicKey("k1"), isWritable: true },
18
+ { pubkey: mockPublicKey("k1"), isWritable: true },
136
19
  ],
137
20
  },
138
21
  ],
139
22
  };
140
- const result = (0, magic_router_js_1.getWritableAccounts)(transaction);
141
- expect(result).toEqual(["fee-payer", "key1"]);
23
+ const result = (0, magic_router_js_1.getWritableAccounts)(tx);
24
+ expect(result).toEqual(["fee-payer", "k1"]);
142
25
  });
143
26
  });
144
- describe("getClosestValidator", () => {
27
+ describe("Connection prototype methods", () => {
28
+ let connection;
29
+ let tx;
145
30
  beforeEach(() => {
146
- jest.clearAllMocks();
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();
147
36
  });
148
- it("fetches and returns the closest validator public key", async () => {
149
- const mockIdentityData = {
150
- result: {
151
- identity: "mock-validator-identity",
152
- },
153
- };
37
+ it("getClosestValidator returns identity", async () => {
154
38
  global.fetch.mockResolvedValueOnce({
155
- json: async () => Promise.resolve(mockIdentityData),
39
+ json: async () => ({ result: { identity: "validator-1" } }),
156
40
  });
157
- const connection = new web3_js_1.Connection("http://localhost");
158
- const result = await (0, magic_router_js_1.getClosestValidator)(connection);
159
- expect(global.fetch).toHaveBeenCalledWith("http://localhost", {
160
- method: "POST",
161
- headers: { "Content-Type": "application/json" },
162
- body: JSON.stringify({
163
- jsonrpc: "2.0",
164
- id: 1,
165
- method: "getIdentity",
166
- params: [],
167
- }),
168
- });
169
- expect(result.toBase58()).toBe("mock-validator-identity");
170
- });
171
- it("handles fetch errors gracefully", async () => {
172
- global.fetch.mockRejectedValueOnce(new Error("Network error"));
173
- const connection = new web3_js_1.Connection("http://localhost");
174
- await expect((0, magic_router_js_1.getClosestValidator)(connection)).rejects.toThrow("Network error");
41
+ const result = await connection.getClosestValidator();
42
+ expect(result).toEqual({ identity: "validator-1" });
175
43
  });
176
- it("handles invalid response format", async () => {
44
+ it("getDelegationStatus works with string account", async () => {
177
45
  global.fetch.mockResolvedValueOnce({
178
- json: async () => Promise.resolve({ error: "Invalid response" }),
46
+ json: async () => ({ result: { isDelegated: true } }),
179
47
  });
180
- const connection = new web3_js_1.Connection("http://localhost");
181
- await expect((0, magic_router_js_1.getClosestValidator)(connection)).rejects.toThrow();
182
- });
183
- });
184
- describe("getDelegationStatus", () => {
185
- beforeEach(() => {
186
- jest.clearAllMocks();
48
+ const result = await connection.getDelegationStatus("account1");
49
+ expect(result).toEqual({ isDelegated: true });
187
50
  });
188
- it("returns delegation status for a string account", async () => {
51
+ it("getDelegationStatus works with PublicKey account", async () => {
189
52
  global.fetch.mockResolvedValueOnce({
190
- json: async () => Promise.resolve({ result: { isDelegated: false } }),
191
- });
192
- const connection = new web3_js_1.Connection("http://localhost");
193
- const account = "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU";
194
- const result = await (0, magic_router_js_1.getDelegationStatus)(connection, account);
195
- expect(global.fetch).toHaveBeenCalledWith("http://localhost/getDelegationStatus", {
196
- method: "POST",
197
- headers: { "Content-Type": "application/json" },
198
- body: JSON.stringify({
199
- jsonrpc: "2.0",
200
- id: 1,
201
- method: "getDelegationStatus",
202
- params: [account],
203
- }),
53
+ json: async () => ({ result: { isDelegated: false } }),
204
54
  });
55
+ const pk = new web3_js_1.PublicKey("11111111111111111111111111111111");
56
+ const result = await connection.getDelegationStatus(pk);
205
57
  expect(result).toEqual({ isDelegated: false });
206
58
  });
207
- it("returns delegation status for a PublicKey account", async () => {
59
+ it("getLatestBlockhashForTransaction returns blockhash", async () => {
208
60
  global.fetch.mockResolvedValueOnce({
209
- json: async () => Promise.resolve({ result: { isDelegated: true } }),
210
- });
211
- const connection = new web3_js_1.Connection("http://localhost");
212
- const accountKey = new web3_js_1.PublicKey("mock-public-key");
213
- const result = await (0, magic_router_js_1.getDelegationStatus)(connection, accountKey);
214
- expect(global.fetch).toHaveBeenCalledWith("http://localhost/getDelegationStatus", {
215
- method: "POST",
216
- headers: { "Content-Type": "application/json" },
217
- body: JSON.stringify({
218
- jsonrpc: "2.0",
219
- id: 1,
220
- method: "getDelegationStatus",
221
- params: [accountKey.toBase58()],
61
+ json: async () => ({
62
+ result: { blockhash: "mock-blockhash", lastValidBlockHeight: 100 },
222
63
  }),
223
64
  });
224
- expect(result).toEqual({ isDelegated: true });
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);
225
114
  });
226
115
  });
227
116
  //# sourceMappingURL=magic-router.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"magic-router.test.js","sourceRoot":"","sources":["../../src/__tests__/magic-router.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"magic-router.test.js","sourceRoot":"","sources":["../../src/__tests__/magic-router.test.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,4 @@
1
- import { Connection, Transaction, ConfirmOptions, TransactionSignature, Signer, BlockhashWithExpiryBlockHeight, SendOptions, PublicKey, TransactionConfirmationStrategy, RpcResponseAndContext, SignatureResult, Commitment, SignatureStatusConfig, SignatureStatus } from "@solana/web3.js";
1
+ import { Connection, Transaction } from "@solana/web3.js";
2
2
  export declare function getWritableAccounts(transaction: Transaction): string[];
3
- export declare function getClosestValidator(routerConnection: Connection): Promise<PublicKey>;
4
- export declare function getDelegationStatus(connection: Connection, account: PublicKey | string): Promise<{
5
- isDelegated: boolean;
6
- }>;
7
- export declare function getLatestBlockhashForMagicTransaction(connection: Connection, transaction: Transaction, options?: ConfirmOptions): Promise<BlockhashWithExpiryBlockHeight>;
8
- export declare function prepareMagicTransaction(connection: Connection, transaction: Transaction, options?: ConfirmOptions): Promise<Transaction>;
9
- export declare function sendMagicTransaction(connection: Connection, transaction: Transaction, signersOrOptions?: Signer[] | SendOptions, options?: SendOptions): Promise<TransactionSignature>;
10
- export declare function confirmMagicTransaction(connection: Connection, strategy: TransactionConfirmationStrategy | string, commitment?: Commitment): Promise<RpcResponseAndContext<SignatureResult>>;
11
- export declare function sendAndConfirmMagicTransaction(connection: Connection, transaction: Transaction, signers: Signer[], options?: ConfirmOptions & Readonly<{
12
- abortSignal?: AbortSignal;
13
- }>): Promise<TransactionSignature>;
14
- export declare function pollSignatureStatus(getSignatureStatus: (connection: Connection, signature: TransactionSignature, config?: SignatureStatusConfig) => Promise<RpcResponseAndContext<SignatureStatus | null>>, connection: Connection, signature: string, { intervalMs, timeoutMs, commitment, abortSignal, }?: {
15
- intervalMs?: number;
16
- timeoutMs?: number;
17
- commitment?: Commitment;
18
- abortSignal?: AbortSignal;
19
- }): Promise<RpcResponseAndContext<SignatureResult>>;
3
+ export { Connection };
20
4
  //# 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,EACX,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,8BAA8B,EAC9B,WAAW,EACX,SAAS,EACT,+BAA+B,EAC/B,qBAAqB,EACrB,eAAe,EACf,UAAU,EAEV,qBAAqB,EACrB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAOzB,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,YAiB3D;AAKD,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,sBAyBrE;AAKD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,SAAS,GAAG,MAAM,GAC1B,OAAO,CAAC;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,CAoBnC;AAKD,wBAAsB,qCAAqC,CACzD,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,8BAA8B,CAAC,CAgBzC;AAKD,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC,CAStB;AAMD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,EACzC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAwB/B;AAOD,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,+BAA+B,GAAG,MAAM,EAClD,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CA6BjD;AAMD,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,cAAc,GACtB,QAAQ,CAAC;IACP,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC,GACH,OAAO,CAAC,oBAAoB,CAAC,CAoE/B;AA8DD,wBAAsB,mBAAmB,CACvC,kBAAkB,EAAE,CAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,oBAAoB,EAC/B,MAAM,CAAC,EAAE,qBAAqB,KAC3B,OAAO,CAAC,qBAAqB,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,EAC3D,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,EACE,UAAe,EACf,SAAkB,EAClB,UAAwB,EACxB,WAAW,GACZ,GAAE;IACD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CACtB,GACL,OAAO,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CA8CjD"}
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,20 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Connection = void 0;
6
4
  exports.getWritableAccounts = getWritableAccounts;
7
- exports.getClosestValidator = getClosestValidator;
8
- exports.getDelegationStatus = getDelegationStatus;
9
- exports.getLatestBlockhashForMagicTransaction = getLatestBlockhashForMagicTransaction;
10
- exports.prepareMagicTransaction = prepareMagicTransaction;
11
- exports.sendMagicTransaction = sendMagicTransaction;
12
- exports.confirmMagicTransaction = confirmMagicTransaction;
13
- exports.sendAndConfirmMagicTransaction = sendAndConfirmMagicTransaction;
14
- exports.pollSignatureStatus = pollSignatureStatus;
15
5
  const web3_js_1 = require("@solana/web3.js");
16
- const assert_1 = __importDefault(require("assert"));
17
- const bs58_1 = __importDefault(require("bs58"));
6
+ Object.defineProperty(exports, "Connection", { enumerable: true, get: function () { return web3_js_1.Connection; } });
18
7
  function getWritableAccounts(transaction) {
19
8
  const writableAccounts = new Set();
20
9
  if (transaction.feePayer) {
@@ -29,8 +18,8 @@ function getWritableAccounts(transaction) {
29
18
  }
30
19
  return Array.from(writableAccounts);
31
20
  }
32
- async function getClosestValidator(routerConnection) {
33
- const response = await fetch(routerConnection.rpcEndpoint, {
21
+ web3_js_1.Connection.prototype.getClosestValidator = async function () {
22
+ const response = await fetch(this.rpcEndpoint, {
34
23
  method: "POST",
35
24
  headers: { "Content-Type": "application/json" },
36
25
  body: JSON.stringify({
@@ -40,20 +29,15 @@ async function getClosestValidator(routerConnection) {
40
29
  params: [],
41
30
  }),
42
31
  });
43
- const identityData = await response.json();
44
- const identity = identityData?.result?.identity;
45
- if (typeof identity !== "string") {
46
- throw new Error("Invalid identity response");
32
+ const identityData = (await response.json())?.result;
33
+ if (identityData === null || identityData.identity === undefined) {
34
+ throw new Error("Invalid response");
47
35
  }
48
- const validatorKey = {
49
- toBase58: () => identity,
50
- toString: () => identity,
51
- };
52
- return validatorKey;
53
- }
54
- async function getDelegationStatus(connection, account) {
36
+ return identityData;
37
+ };
38
+ web3_js_1.Connection.prototype.getDelegationStatus = async function (account) {
55
39
  const accountAddress = typeof account === "string" ? account : account.toBase58();
56
- const response = await fetch(`${connection.rpcEndpoint}/getDelegationStatus`, {
40
+ const response = await fetch(`${this.rpcEndpoint}/getDelegationStatus`, {
57
41
  method: "POST",
58
42
  headers: { "Content-Type": "application/json" },
59
43
  body: JSON.stringify({
@@ -63,188 +47,77 @@ async function getDelegationStatus(connection, account) {
63
47
  params: [accountAddress],
64
48
  }),
65
49
  });
66
- const data = await response.json();
67
- return data.result;
68
- }
69
- async function getLatestBlockhashForMagicTransaction(connection, transaction, options) {
70
- const writableAccounts = getWritableAccounts(transaction);
71
- const blockHashResponse = await fetch(connection.rpcEndpoint, {
72
- method: "POST",
73
- headers: { "Content-Type": "application/json" },
74
- body: JSON.stringify({
75
- jsonrpc: "2.0",
76
- id: 1,
77
- method: "getBlockhashForAccounts",
78
- params: [writableAccounts],
79
- }),
80
- });
81
- const blockHashData = await blockHashResponse.json();
82
- return blockHashData.result;
83
- }
84
- async function prepareMagicTransaction(connection, transaction, options) {
85
- const blockHashData = await getLatestBlockhashForMagicTransaction(connection, transaction, options);
50
+ return (await response.json()).result;
51
+ };
52
+ web3_js_1.Connection.prototype.getLatestBlockhashForTransaction =
53
+ async function (transaction, options) {
54
+ const writableAccounts = getWritableAccounts(transaction);
55
+ const blockHashResponse = await fetch(this.rpcEndpoint, {
56
+ method: "POST",
57
+ headers: { "Content-Type": "application/json" },
58
+ body: JSON.stringify({
59
+ jsonrpc: "2.0",
60
+ id: 1,
61
+ method: "getBlockhashForAccounts",
62
+ params: [writableAccounts],
63
+ }),
64
+ });
65
+ const blockHashData = await blockHashResponse.json();
66
+ return blockHashData.result;
67
+ };
68
+ web3_js_1.Connection.prototype.prepareTransaction = async function (transaction, options) {
69
+ const blockHashData = await this.getLatestBlockhashForTransaction(transaction, options);
86
70
  transaction.recentBlockhash = blockHashData.blockhash;
87
71
  return transaction;
88
- }
89
- async function sendMagicTransaction(connection, transaction, signersOrOptions, options) {
72
+ };
73
+ web3_js_1.Connection.prototype.sendTransaction = async function (transaction, signersOrOptions, options) {
90
74
  const sendOpts = Array.isArray(signersOrOptions)
91
75
  ? (options ?? undefined)
92
76
  : (signersOrOptions ?? undefined);
93
- const latestBlockhash = await getLatestBlockhashForMagicTransaction(connection, transaction, sendOpts);
77
+ const latestBlockhash = await this.getLatestBlockhashForTransaction(transaction, sendOpts);
78
+ transaction.recentBlockhash = latestBlockhash.blockhash;
94
79
  transaction.lastValidBlockHeight =
95
80
  latestBlockhash.lastValidBlockHeight;
96
- transaction.recentBlockhash = latestBlockhash.blockhash;
97
81
  if (Array.isArray(signersOrOptions)) {
98
- transaction.sign?.(...signersOrOptions);
82
+ transaction.sign(...signersOrOptions);
99
83
  }
100
84
  const wireTransaction = transaction.serialize();
101
- return connection.sendRawTransaction(wireTransaction, sendOpts);
102
- }
103
- async function confirmMagicTransaction(connection, strategy, commitment) {
104
- let rawSignature;
105
- if (typeof strategy === "string") {
106
- rawSignature = strategy;
107
- }
108
- else {
109
- const config = strategy;
110
- if (config.abortSignal != null && config.abortSignal.aborted) {
111
- return Promise.reject(config.abortSignal.reason ?? new Error("Aborted"));
112
- }
113
- rawSignature = config.signature;
114
- }
115
- let decodedSignature;
116
- try {
117
- decodedSignature = bs58_1.default.decode(rawSignature);
118
- }
119
- catch (err) {
120
- throw new Error("signature must be base58 encoded: " + rawSignature);
121
- }
122
- (0, assert_1.default)(decodedSignature.length === 64, "signature has invalid length");
123
- const status = await pollSignatureStatus(getSignatureStatus, connection, rawSignature, {
124
- intervalMs: 100,
125
- timeoutMs: 10000,
126
- commitment,
127
- });
128
- return status;
129
- }
130
- async function sendAndConfirmMagicTransaction(connection, transaction, signers, options) {
131
- const signature = await sendMagicTransaction(connection, transaction, signers, options);
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);
132
89
  let status;
133
- if (transaction.recentBlockhash != null &&
134
- transaction.lastValidBlockHeight != null) {
135
- status = (await confirmMagicTransaction(connection, {
90
+ const { recentBlockhash, lastValidBlockHeight, minNonceContextSlot, nonceInfo, } = transaction;
91
+ if (recentBlockhash !== undefined && lastValidBlockHeight !== undefined) {
92
+ status = (await this.confirmTransaction({
136
93
  abortSignal: options?.abortSignal,
137
94
  signature,
138
- blockhash: transaction.recentBlockhash,
139
- lastValidBlockHeight: transaction.lastValidBlockHeight,
95
+ blockhash: recentBlockhash,
96
+ lastValidBlockHeight,
140
97
  }, options?.commitment)).value;
141
98
  }
142
- else if (transaction.minNonceContextSlot != null &&
143
- transaction.nonceInfo != null) {
144
- const { nonceInstruction } = transaction.nonceInfo;
99
+ else if (minNonceContextSlot !== undefined && nonceInfo !== undefined) {
100
+ const { nonceInstruction } = nonceInfo;
145
101
  const nonceAccountPubkey = nonceInstruction.keys[0].pubkey;
146
- status = (await confirmMagicTransaction(connection, {
102
+ status = (await this.confirmTransaction({
147
103
  abortSignal: options?.abortSignal,
148
- minContextSlot: transaction.minNonceContextSlot,
104
+ minContextSlot: minNonceContextSlot,
149
105
  nonceAccountPubkey,
150
- nonceValue: transaction.nonceInfo.nonce,
106
+ nonceValue: nonceInfo.nonce,
151
107
  signature,
152
108
  }, options?.commitment)).value;
153
109
  }
154
110
  else {
155
- if (options?.abortSignal != null) {
156
- console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was " +
157
- "supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` " +
158
- "or a combination of `nonceInfo` and `minNonceContextSlot` are abortable.");
159
- }
160
- status = (await confirmMagicTransaction(connection, signature, options?.commitment)).value;
111
+ status = (await this.confirmTransaction(signature, options?.commitment))
112
+ .value;
161
113
  }
162
114
  if (status.err != null) {
163
- if (signature != null) {
164
- throw new web3_js_1.SendTransactionError({
165
- action: "send",
166
- signature,
167
- transactionMessage: `Status: (${JSON.stringify(status)})`,
168
- });
169
- }
170
- throw new Error(`Transaction ${signature} failed (${JSON.stringify(status)})`);
115
+ throw new web3_js_1.SendTransactionError({
116
+ action: "send",
117
+ signature,
118
+ transactionMessage: `Status: (${JSON.stringify(status)})`,
119
+ });
171
120
  }
172
121
  return signature;
173
- }
174
- async function getSignatureStatus(connection, signature, config) {
175
- const { context, value: values } = await getSignatureStatuses(connection, [signature], config);
176
- if (values.length === 0) {
177
- const value = null;
178
- return {
179
- context,
180
- value,
181
- };
182
- }
183
- else {
184
- (0, assert_1.default)(values.length === 1);
185
- const value = values[0];
186
- return {
187
- context,
188
- value,
189
- };
190
- }
191
- }
192
- async function getSignatureStatuses(connection, signatures, config) {
193
- const params = config ? [signatures, config] : [signatures];
194
- const unsafeRes = await fetch(connection.rpcEndpoint, {
195
- method: "POST",
196
- headers: { "Content-Type": "application/json" },
197
- body: JSON.stringify({
198
- jsonrpc: "2.0",
199
- id: 1,
200
- method: "getSignatureStatuses",
201
- params,
202
- }),
203
- });
204
- const res = await unsafeRes.json();
205
- return res.result;
206
- }
207
- async function pollSignatureStatus(getSignatureStatus, connection, signature, { intervalMs = 50, timeoutMs = 12000, commitment = "confirmed", abortSignal, } = {}) {
208
- const maxTries = Math.ceil(timeoutMs / intervalMs);
209
- let tries = 0;
210
- return new Promise((resolve, reject) => {
211
- const intervalId = setInterval(() => {
212
- if (abortSignal != null && abortSignal.aborted) {
213
- clearInterval(intervalId);
214
- reject(abortSignal.reason ?? new Error("Polling aborted"));
215
- return;
216
- }
217
- tries++;
218
- void (async () => {
219
- try {
220
- const result = await getSignatureStatus(connection, signature);
221
- if (result.value !== null) {
222
- if (result.value.confirmationStatus === commitment ||
223
- result.value.confirmationStatus === "finalized") {
224
- clearInterval(intervalId);
225
- resolve({
226
- context: result.context,
227
- value: result.value,
228
- });
229
- }
230
- }
231
- else if (tries >= maxTries) {
232
- clearInterval(intervalId);
233
- const timeoutValue = {
234
- err: new Error("Timeout"),
235
- };
236
- resolve({
237
- context: result.context,
238
- value: timeoutValue,
239
- });
240
- }
241
- }
242
- catch (err) {
243
- clearInterval(intervalId);
244
- reject(err);
245
- }
246
- })();
247
- }, intervalMs);
248
- });
249
- }
122
+ };
250
123
  //# sourceMappingURL=magic-router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"magic-router.js","sourceRoot":"","sources":["../src/magic-router.ts"],"names":[],"mappings":"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"}
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.0",
3
+ "version": "0.3.3",
4
4
  "author": "MagicBlock Labs",
5
5
  "license": "MIT",
6
6
  "publishConfig": {