@appliedblockchain/silentdatarollup-hardhat-plugin-fireblocks 1.0.9 → 1.0.10

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/dist/index.js CHANGED
@@ -65,8 +65,7 @@ var SilentDataFireblocksSigner = class extends import_plugins.ProviderWrapper {
65
65
  log(".request()", JSON.stringify(args, null, 2));
66
66
  const payload = {
67
67
  jsonrpc: "2.0",
68
- ...args,
69
- id: Math.floor(Math.random() * 1e10)
68
+ ...args
70
69
  };
71
70
  if (args.method === "eth_sendTransaction") {
72
71
  return this.sendTransaction(payload);
@@ -92,7 +91,7 @@ var SilentDataFireblocksSigner = class extends import_plugins.ProviderWrapper {
92
91
  }
93
92
  sendAsync(payload, callback) {
94
93
  log("Provider .sendAsync() method called:", payload.method);
95
- this.request(payload).then(callback).catch(callback);
94
+ this.request(payload).then((result) => callback(null, result)).catch((error) => callback(error));
96
95
  }
97
96
  setupInterceptor(provider) {
98
97
  log("Setting up silent data interceptor for Fireblocks");
@@ -100,23 +99,28 @@ var SilentDataFireblocksSigner = class extends import_plugins.ProviderWrapper {
100
99
  provider.send = async (payload, callback) => {
101
100
  ;
102
101
  (async () => {
103
- const requiresAuthHeaders = SIGN_RPC_METHODS.includes(payload.method);
104
102
  if (payload.method === "eth_sendTransaction") {
105
103
  try {
106
- const result2 = await this.sendTransaction(payload);
107
- callback(null, result2);
104
+ const result = await this.sendTransaction(payload);
105
+ callback(null, result);
108
106
  } catch (error) {
109
107
  callback(error, null);
110
108
  }
111
109
  return;
112
110
  }
113
- log("Intercepted send method:", JSON.stringify(payload, null, 2));
111
+ const requestId = payload.id ?? Math.floor(Math.random() * 1e10);
112
+ const modifiedPayload = { ...payload, id: requestId };
113
+ log(
114
+ "Intercepted send method:",
115
+ JSON.stringify(modifiedPayload, null, 2)
116
+ );
117
+ const requiresAuthHeaders = SIGN_RPC_METHODS.includes(payload.method);
114
118
  if (requiresAuthHeaders) {
115
119
  log("Request requires auth headers");
116
120
  const clonedEthereum = new import_fireblocks_web3_provider.FireblocksWeb3Provider(
117
121
  provider.config
118
122
  );
119
- const authHeaders = await this.getAuthHeaders(payload);
123
+ const authHeaders = await this.getAuthHeaders(modifiedPayload);
120
124
  const allHeaders = [];
121
125
  for (const [key, value] of Object.entries(authHeaders)) {
122
126
  allHeaders.push({ name: key, value });
@@ -124,10 +128,12 @@ var SilentDataFireblocksSigner = class extends import_plugins.ProviderWrapper {
124
128
  ;
125
129
  clonedEthereum.headers = allHeaders;
126
130
  log("Auth headers set for cloned FireblocksWeb3Provider provider");
127
- return originalSend.call(clonedEthereum, payload, callback);
131
+ return originalSend.call(clonedEthereum, modifiedPayload, callback);
128
132
  }
129
- const result = await originalSend.call(provider, payload, callback);
130
- return result;
133
+ const wrappedCallback = (error, response) => {
134
+ callback(error, response);
135
+ };
136
+ return originalSend.call(provider, modifiedPayload, wrappedCallback);
131
137
  })();
132
138
  };
133
139
  }
@@ -159,12 +165,6 @@ var SilentDataFireblocksSigner = class extends import_plugins.ProviderWrapper {
159
165
  }
160
166
  async getAuthHeaders(payload) {
161
167
  log("Getting auth headers for method:", JSON.stringify(payload, null, 2));
162
- const requestId = this._wrappedProvider._provider._wrappedProvider._wrappedProvider._wrappedProvider._nextRequestId;
163
- const rpcRequest = {
164
- jsonrpc: "2.0",
165
- ...payload,
166
- id: requestId
167
- };
168
168
  const xTimestamp = (/* @__PURE__ */ new Date()).toISOString();
169
169
  const headers = {
170
170
  [import_silentdatarollup_core2.HEADER_TIMESTAMP]: xTimestamp
@@ -176,7 +176,7 @@ var SilentDataFireblocksSigner = class extends import_plugins.ProviderWrapper {
176
176
  case import_silentdatarollup_core2.SignatureType.Raw:
177
177
  const preparedMessage = this.baseProvider.prepareMessage(
178
178
  chainId.toString(),
179
- rpcRequest,
179
+ payload,
180
180
  xTimestamp
181
181
  );
182
182
  content = (0, import_ethers.hashMessage)(preparedMessage).slice(2);
@@ -298,18 +298,20 @@ var SilentDataFireblocksSigner = class extends import_plugins.ProviderWrapper {
298
298
  return [maxPriorityFeePerGas, maxFeePerGas];
299
299
  }
300
300
  async estimateGasLimit(txParams) {
301
- const gasLimitHex = await this._wrappedProvider.request({
302
- method: "eth_estimateGas",
303
- params: [txParams]
304
- });
301
+ const gasLimitHex = await this.send("eth_estimateGas", [
302
+ txParams
303
+ ]);
305
304
  return parseInt(gasLimitHex, 16);
306
305
  }
306
+ async getTransactionReceipt(txHash) {
307
+ const receipt = await this.send("eth_getTransactionReceipt", [
308
+ txHash
309
+ ]);
310
+ return receipt;
311
+ }
307
312
  async waitForTransaction(txHash) {
308
313
  for (let i = 0; i < this.maxRetries; i++) {
309
- const receipt = await this._wrappedProvider.request({
310
- method: "eth_getTransactionReceipt",
311
- params: [txHash]
312
- });
314
+ const receipt = await this.getTransactionReceipt(txHash);
313
315
  if (receipt) {
314
316
  log("Transaction mined, receipt:", JSON.stringify(receipt, null, 2));
315
317
  if (receipt.status !== "0x1") {
package/dist/index.mjs CHANGED
@@ -52,8 +52,7 @@ var SilentDataFireblocksSigner = class extends ProviderWrapper {
52
52
  log(".request()", JSON.stringify(args, null, 2));
53
53
  const payload = {
54
54
  jsonrpc: "2.0",
55
- ...args,
56
- id: Math.floor(Math.random() * 1e10)
55
+ ...args
57
56
  };
58
57
  if (args.method === "eth_sendTransaction") {
59
58
  return this.sendTransaction(payload);
@@ -79,7 +78,7 @@ var SilentDataFireblocksSigner = class extends ProviderWrapper {
79
78
  }
80
79
  sendAsync(payload, callback) {
81
80
  log("Provider .sendAsync() method called:", payload.method);
82
- this.request(payload).then(callback).catch(callback);
81
+ this.request(payload).then((result) => callback(null, result)).catch((error) => callback(error));
83
82
  }
84
83
  setupInterceptor(provider) {
85
84
  log("Setting up silent data interceptor for Fireblocks");
@@ -87,23 +86,28 @@ var SilentDataFireblocksSigner = class extends ProviderWrapper {
87
86
  provider.send = async (payload, callback) => {
88
87
  ;
89
88
  (async () => {
90
- const requiresAuthHeaders = SIGN_RPC_METHODS.includes(payload.method);
91
89
  if (payload.method === "eth_sendTransaction") {
92
90
  try {
93
- const result2 = await this.sendTransaction(payload);
94
- callback(null, result2);
91
+ const result = await this.sendTransaction(payload);
92
+ callback(null, result);
95
93
  } catch (error) {
96
94
  callback(error, null);
97
95
  }
98
96
  return;
99
97
  }
100
- log("Intercepted send method:", JSON.stringify(payload, null, 2));
98
+ const requestId = payload.id ?? Math.floor(Math.random() * 1e10);
99
+ const modifiedPayload = { ...payload, id: requestId };
100
+ log(
101
+ "Intercepted send method:",
102
+ JSON.stringify(modifiedPayload, null, 2)
103
+ );
104
+ const requiresAuthHeaders = SIGN_RPC_METHODS.includes(payload.method);
101
105
  if (requiresAuthHeaders) {
102
106
  log("Request requires auth headers");
103
107
  const clonedEthereum = new FireblocksWeb3Provider(
104
108
  provider.config
105
109
  );
106
- const authHeaders = await this.getAuthHeaders(payload);
110
+ const authHeaders = await this.getAuthHeaders(modifiedPayload);
107
111
  const allHeaders = [];
108
112
  for (const [key, value] of Object.entries(authHeaders)) {
109
113
  allHeaders.push({ name: key, value });
@@ -111,10 +115,12 @@ var SilentDataFireblocksSigner = class extends ProviderWrapper {
111
115
  ;
112
116
  clonedEthereum.headers = allHeaders;
113
117
  log("Auth headers set for cloned FireblocksWeb3Provider provider");
114
- return originalSend.call(clonedEthereum, payload, callback);
118
+ return originalSend.call(clonedEthereum, modifiedPayload, callback);
115
119
  }
116
- const result = await originalSend.call(provider, payload, callback);
117
- return result;
120
+ const wrappedCallback = (error, response) => {
121
+ callback(error, response);
122
+ };
123
+ return originalSend.call(provider, modifiedPayload, wrappedCallback);
118
124
  })();
119
125
  };
120
126
  }
@@ -146,12 +152,6 @@ var SilentDataFireblocksSigner = class extends ProviderWrapper {
146
152
  }
147
153
  async getAuthHeaders(payload) {
148
154
  log("Getting auth headers for method:", JSON.stringify(payload, null, 2));
149
- const requestId = this._wrappedProvider._provider._wrappedProvider._wrappedProvider._wrappedProvider._nextRequestId;
150
- const rpcRequest = {
151
- jsonrpc: "2.0",
152
- ...payload,
153
- id: requestId
154
- };
155
155
  const xTimestamp = (/* @__PURE__ */ new Date()).toISOString();
156
156
  const headers = {
157
157
  [HEADER_TIMESTAMP]: xTimestamp
@@ -163,7 +163,7 @@ var SilentDataFireblocksSigner = class extends ProviderWrapper {
163
163
  case SignatureType.Raw:
164
164
  const preparedMessage = this.baseProvider.prepareMessage(
165
165
  chainId.toString(),
166
- rpcRequest,
166
+ payload,
167
167
  xTimestamp
168
168
  );
169
169
  content = hashMessage(preparedMessage).slice(2);
@@ -285,18 +285,20 @@ var SilentDataFireblocksSigner = class extends ProviderWrapper {
285
285
  return [maxPriorityFeePerGas, maxFeePerGas];
286
286
  }
287
287
  async estimateGasLimit(txParams) {
288
- const gasLimitHex = await this._wrappedProvider.request({
289
- method: "eth_estimateGas",
290
- params: [txParams]
291
- });
288
+ const gasLimitHex = await this.send("eth_estimateGas", [
289
+ txParams
290
+ ]);
292
291
  return parseInt(gasLimitHex, 16);
293
292
  }
293
+ async getTransactionReceipt(txHash) {
294
+ const receipt = await this.send("eth_getTransactionReceipt", [
295
+ txHash
296
+ ]);
297
+ return receipt;
298
+ }
294
299
  async waitForTransaction(txHash) {
295
300
  for (let i = 0; i < this.maxRetries; i++) {
296
- const receipt = await this._wrappedProvider.request({
297
- method: "eth_getTransactionReceipt",
298
- params: [txHash]
299
- });
301
+ const receipt = await this.getTransactionReceipt(txHash);
300
302
  if (receipt) {
301
303
  log("Transaction mined, receipt:", JSON.stringify(receipt, null, 2));
302
304
  if (receipt.status !== "0x1") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appliedblockchain/silentdatarollup-hardhat-plugin-fireblocks",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Hardhat plugin for Silent Data with Fireblocks integration",
5
5
  "author": "Applied Blockchain",
6
6
  "homepage": "https://github.com/appliedblockchain/silent-data-rollup-providers#readme",
@@ -33,7 +33,7 @@
33
33
  "debug": "4.3.7",
34
34
  "ethers": "6.13.2",
35
35
  "fireblocks-sdk": "5.31.2",
36
- "@appliedblockchain/silentdatarollup-core": "1.0.9"
36
+ "@appliedblockchain/silentdatarollup-core": "1.0.10"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/debug": "4.1.12",