@orderly.network/web3-provider-ethers 2.8.10 → 2.8.11-alpha.0

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
@@ -33,10 +33,7 @@ var __copyProps = (to, from, except, desc) => {
33
33
  return to;
34
34
  };
35
35
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
- var __publicField = (obj, key, value) => {
37
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
38
- return value;
39
- };
36
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
40
37
  var __async = (__this, __arguments, generator) => {
41
38
  return new Promise((resolve, reject) => {
42
39
  var fulfilled = (value) => {
@@ -59,11 +56,11 @@ var __async = (__this, __arguments, generator) => {
59
56
  };
60
57
 
61
58
  // src/index.ts
62
- var src_exports = {};
63
- __export(src_exports, {
59
+ var index_exports = {};
60
+ __export(index_exports, {
64
61
  EthersProvider: () => EthersProvider
65
62
  });
66
- module.exports = __toCommonJS(src_exports);
63
+ module.exports = __toCommonJS(index_exports);
67
64
 
68
65
  // src/ethersProvider.ts
69
66
  var import_ethers = require("ethers");
@@ -215,7 +212,7 @@ var EthersProvider = class {
215
212
  callOnChain(chain, address, method, params, options) {
216
213
  const provider = new import_ethers.ethers.JsonRpcProvider(chain.public_rpc_url);
217
214
  const contract = new import_ethers.ethers.Contract(address, options.abi, provider);
218
- return contract[method].apply(null, params).catch((error) => __async(this, null, function* () {
215
+ return contract[method].apply(null, params).catch((error) => __async(null, null, function* () {
219
216
  const parsedEthersError = yield parseError(error);
220
217
  throw parsedEthersError;
221
218
  }));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/ethersProvider.ts","../src/parseError.ts"],"sourcesContent":["export { EthersProvider } from \"./ethersProvider\";\n","import { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\nimport { parseError } from \"./parseError\";\n\nclass EthersProvider implements Web3Provider {\n private _provider!: BrowserProvider;\n private _originalProvider!: Eip1193Provider;\n\n parseUnits(amount: string, decimals?: number): string {\n return ethers.parseUnits(amount, decimals).toString();\n }\n\n formatUnits(amount: string, decimals?: number): string {\n return ethers.formatUnits(amount, decimals);\n }\n\n set provider(provider: Eip1193Provider) {\n this._provider = new BrowserProvider(provider, \"any\");\n this._originalProvider = provider;\n }\n\n get browserProvider(): BrowserProvider {\n if (!this._provider) {\n throw new Error(\"browserProvider is not initialized\");\n }\n return this._provider;\n }\n\n async signTypedData(\n address: string,\n toSignatureMessage: any,\n ): Promise<string> {\n return await this.browserProvider?.send(\"eth_signTypedData_v4\", [\n address,\n toSignatureMessage,\n ]);\n }\n\n async call(\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const writeMethod: string[] = [\"approve\"];\n // @ts-ignore\n if (this._originalProvider.agwWallet && writeMethod.includes(method)) {\n try {\n // @ts-ignore\n const transactionHash = await this._originalProvider.writeContract({\n abi: options.abi,\n address: address,\n functionName: method,\n args: params,\n });\n\n return {\n hash: transactionHash,\n };\n } catch (error) {\n // const parsedEthersError = getParsedEthersError(error as EthersError);\n // if ((error as any).message.includes(\"rejected\")) {\n // // @ts-ignore\n // throw new Error({ content: \"REJECTED_TRANSACTION\" });\n // }\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n const singer = await this.browserProvider.getSigner();\n const contract = new ethers.Contract(address, options.abi, singer);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n send(method: string, params: Array<any> | Record<string, any>): Promise<any> {\n return this.browserProvider.send(method, params);\n }\n\n async sendTransaction(\n contractAddress: string,\n method: string,\n payload: { from: string; to?: string; data: any[]; value?: bigint },\n options: { abi: any },\n ): Promise<any> {\n const singer = await this.browserProvider?.getSigner();\n if (!singer) {\n throw new Error(\"singer is not exist\");\n }\n\n const contract = new ethers.Contract(\n contractAddress,\n options.abi,\n this.browserProvider,\n );\n\n // contract.interface.getAbiCoder().encode(tx.data);\n const encodeFunctionData = contract.interface.encodeFunctionData(\n method,\n payload.data,\n );\n\n const tx: ethers.TransactionRequest = {\n from: payload.from,\n to: payload.to,\n data: encodeFunctionData,\n value: payload.value,\n };\n\n try {\n // for agw wallet\n if (method === \"depositTo\") {\n // @ts-ignore\n return await this._originalProvider.sendTransaction({\n to: contractAddress,\n data: encodeFunctionData,\n value: payload.value,\n });\n }\n return await singer.sendTransaction(tx);\n } catch (error) {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n\n async pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval = 1000,\n maxInterval = 6000,\n maxRetries = 30,\n ) {\n let interval = baseInterval;\n let retries = 0;\n\n while (retries < maxRetries) {\n try {\n const receipt =\n await this.browserProvider!.getTransactionReceipt(txHash);\n if (receipt) {\n // completed, get receipt\n return receipt;\n }\n } catch (error) {\n // waiting\n }\n\n await new Promise((resolve) => setTimeout(resolve, interval));\n\n interval = Math.min(interval * 2, maxInterval);\n retries++;\n }\n\n throw new Error(\"Transaction did not complete after maximum retries.\");\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const provider = new ethers.JsonRpcProvider(chain.public_rpc_url);\n\n const contract = new ethers.Contract(address, options.abi, provider);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n getBalance(userAddress: string): Promise<bigint> {\n return this.browserProvider!.getBalance(userAddress).then((res) => {\n return res;\n });\n }\n}\n\nexport { EthersProvider };\n","import { DecodedError, ErrorDecoder } from \"ethers-decode-error\";\n\nconst errorDecoder = ErrorDecoder.create();\n\ntype ParsedError = DecodedError & {\n message: string;\n};\n\nexport async function parseError(rawError: any): Promise<ParsedError> {\n const error: DecodedError = await errorDecoder.decode(rawError);\n const reason = error.reason ?? \"\";\n console.error(\"parsedError\", error);\n\n return {\n ...error,\n message: replacePrefix(reason),\n };\n}\n\nfunction replacePrefix(reason: string) {\n const prefixes = [\"ethers-user-denied: \", \"ethers-unsupported: \"];\n\n if (typeof reason !== \"string\") {\n return reason;\n }\n\n for (const prefix of prefixes) {\n if (reason.startsWith(prefix)) {\n return reason.replace(prefix, \"\");\n }\n }\n\n return reason;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/ethersProvider.ts","../src/parseError.ts"],"sourcesContent":["export { EthersProvider } from \"./ethersProvider\";\n","import { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\nimport { parseError } from \"./parseError\";\n\nclass EthersProvider implements Web3Provider {\n private _provider!: BrowserProvider;\n private _originalProvider!: Eip1193Provider;\n\n parseUnits(amount: string, decimals?: number): string {\n return ethers.parseUnits(amount, decimals).toString();\n }\n\n formatUnits(amount: string, decimals?: number): string {\n return ethers.formatUnits(amount, decimals);\n }\n\n set provider(provider: Eip1193Provider) {\n this._provider = new BrowserProvider(provider, \"any\");\n this._originalProvider = provider;\n }\n\n get browserProvider(): BrowserProvider {\n if (!this._provider) {\n throw new Error(\"browserProvider is not initialized\");\n }\n return this._provider;\n }\n\n async signTypedData(\n address: string,\n toSignatureMessage: any,\n ): Promise<string> {\n return await this.browserProvider?.send(\"eth_signTypedData_v4\", [\n address,\n toSignatureMessage,\n ]);\n }\n\n async call(\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const writeMethod: string[] = [\"approve\"];\n // @ts-ignore\n if (this._originalProvider.agwWallet && writeMethod.includes(method)) {\n try {\n // @ts-ignore\n const transactionHash = await this._originalProvider.writeContract({\n abi: options.abi,\n address: address,\n functionName: method,\n args: params,\n });\n\n return {\n hash: transactionHash,\n };\n } catch (error) {\n // const parsedEthersError = getParsedEthersError(error as EthersError);\n // if ((error as any).message.includes(\"rejected\")) {\n // // @ts-ignore\n // throw new Error({ content: \"REJECTED_TRANSACTION\" });\n // }\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n const singer = await this.browserProvider.getSigner();\n const contract = new ethers.Contract(address, options.abi, singer);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n send(method: string, params: Array<any> | Record<string, any>): Promise<any> {\n return this.browserProvider.send(method, params);\n }\n\n async sendTransaction(\n contractAddress: string,\n method: string,\n payload: { from: string; to?: string; data: any[]; value?: bigint },\n options: { abi: any },\n ): Promise<any> {\n const singer = await this.browserProvider?.getSigner();\n if (!singer) {\n throw new Error(\"singer is not exist\");\n }\n\n const contract = new ethers.Contract(\n contractAddress,\n options.abi,\n this.browserProvider,\n );\n\n // contract.interface.getAbiCoder().encode(tx.data);\n const encodeFunctionData = contract.interface.encodeFunctionData(\n method,\n payload.data,\n );\n\n const tx: ethers.TransactionRequest = {\n from: payload.from,\n to: payload.to,\n data: encodeFunctionData,\n value: payload.value,\n };\n\n try {\n // for agw wallet\n if (method === \"depositTo\") {\n // @ts-ignore\n return await this._originalProvider.sendTransaction({\n to: contractAddress,\n data: encodeFunctionData,\n value: payload.value,\n });\n }\n return await singer.sendTransaction(tx);\n } catch (error) {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n\n async pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval = 1000,\n maxInterval = 6000,\n maxRetries = 30,\n ) {\n let interval = baseInterval;\n let retries = 0;\n\n while (retries < maxRetries) {\n try {\n const receipt =\n await this.browserProvider!.getTransactionReceipt(txHash);\n if (receipt) {\n // completed, get receipt\n return receipt;\n }\n } catch (error) {\n // waiting\n }\n\n await new Promise((resolve) => setTimeout(resolve, interval));\n\n interval = Math.min(interval * 2, maxInterval);\n retries++;\n }\n\n throw new Error(\"Transaction did not complete after maximum retries.\");\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const provider = new ethers.JsonRpcProvider(chain.public_rpc_url);\n\n const contract = new ethers.Contract(address, options.abi, provider);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n getBalance(userAddress: string): Promise<bigint> {\n return this.browserProvider!.getBalance(userAddress).then((res) => {\n return res;\n });\n }\n}\n\nexport { EthersProvider };\n","import { DecodedError, ErrorDecoder } from \"ethers-decode-error\";\n\nconst errorDecoder = ErrorDecoder.create();\n\ntype ParsedError = DecodedError & {\n message: string;\n};\n\nexport async function parseError(rawError: any): Promise<ParsedError> {\n const error: DecodedError = await errorDecoder.decode(rawError);\n const reason = error.reason ?? \"\";\n console.error(\"parsedError\", error);\n\n return {\n ...error,\n message: replacePrefix(reason),\n };\n}\n\nfunction replacePrefix(reason: string) {\n const prefixes = [\"ethers-user-denied: \", \"ethers-unsupported: \"];\n\n if (typeof reason !== \"string\") {\n return reason;\n }\n\n for (const prefix of prefixes) {\n if (reason.startsWith(prefix)) {\n return reason.replace(prefix, \"\");\n }\n }\n\n return reason;\n}\n"],"mappings":"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","names":[]}
package/dist/index.mjs CHANGED
@@ -17,10 +17,7 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __publicField = (obj, key, value) => {
21
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
- return value;
23
- };
20
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
21
  var __async = (__this, __arguments, generator) => {
25
22
  return new Promise((resolve, reject) => {
26
23
  var fulfilled = (value) => {
@@ -192,7 +189,7 @@ var EthersProvider = class {
192
189
  callOnChain(chain, address, method, params, options) {
193
190
  const provider = new ethers.JsonRpcProvider(chain.public_rpc_url);
194
191
  const contract = new ethers.Contract(address, options.abi, provider);
195
- return contract[method].apply(null, params).catch((error) => __async(this, null, function* () {
192
+ return contract[method].apply(null, params).catch((error) => __async(null, null, function* () {
196
193
  const parsedEthersError = yield parseError(error);
197
194
  throw parsedEthersError;
198
195
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ethersProvider.ts","../src/parseError.ts"],"sourcesContent":["import { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\nimport { parseError } from \"./parseError\";\n\nclass EthersProvider implements Web3Provider {\n private _provider!: BrowserProvider;\n private _originalProvider!: Eip1193Provider;\n\n parseUnits(amount: string, decimals?: number): string {\n return ethers.parseUnits(amount, decimals).toString();\n }\n\n formatUnits(amount: string, decimals?: number): string {\n return ethers.formatUnits(amount, decimals);\n }\n\n set provider(provider: Eip1193Provider) {\n this._provider = new BrowserProvider(provider, \"any\");\n this._originalProvider = provider;\n }\n\n get browserProvider(): BrowserProvider {\n if (!this._provider) {\n throw new Error(\"browserProvider is not initialized\");\n }\n return this._provider;\n }\n\n async signTypedData(\n address: string,\n toSignatureMessage: any,\n ): Promise<string> {\n return await this.browserProvider?.send(\"eth_signTypedData_v4\", [\n address,\n toSignatureMessage,\n ]);\n }\n\n async call(\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const writeMethod: string[] = [\"approve\"];\n // @ts-ignore\n if (this._originalProvider.agwWallet && writeMethod.includes(method)) {\n try {\n // @ts-ignore\n const transactionHash = await this._originalProvider.writeContract({\n abi: options.abi,\n address: address,\n functionName: method,\n args: params,\n });\n\n return {\n hash: transactionHash,\n };\n } catch (error) {\n // const parsedEthersError = getParsedEthersError(error as EthersError);\n // if ((error as any).message.includes(\"rejected\")) {\n // // @ts-ignore\n // throw new Error({ content: \"REJECTED_TRANSACTION\" });\n // }\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n const singer = await this.browserProvider.getSigner();\n const contract = new ethers.Contract(address, options.abi, singer);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n send(method: string, params: Array<any> | Record<string, any>): Promise<any> {\n return this.browserProvider.send(method, params);\n }\n\n async sendTransaction(\n contractAddress: string,\n method: string,\n payload: { from: string; to?: string; data: any[]; value?: bigint },\n options: { abi: any },\n ): Promise<any> {\n const singer = await this.browserProvider?.getSigner();\n if (!singer) {\n throw new Error(\"singer is not exist\");\n }\n\n const contract = new ethers.Contract(\n contractAddress,\n options.abi,\n this.browserProvider,\n );\n\n // contract.interface.getAbiCoder().encode(tx.data);\n const encodeFunctionData = contract.interface.encodeFunctionData(\n method,\n payload.data,\n );\n\n const tx: ethers.TransactionRequest = {\n from: payload.from,\n to: payload.to,\n data: encodeFunctionData,\n value: payload.value,\n };\n\n try {\n // for agw wallet\n if (method === \"depositTo\") {\n // @ts-ignore\n return await this._originalProvider.sendTransaction({\n to: contractAddress,\n data: encodeFunctionData,\n value: payload.value,\n });\n }\n return await singer.sendTransaction(tx);\n } catch (error) {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n\n async pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval = 1000,\n maxInterval = 6000,\n maxRetries = 30,\n ) {\n let interval = baseInterval;\n let retries = 0;\n\n while (retries < maxRetries) {\n try {\n const receipt =\n await this.browserProvider!.getTransactionReceipt(txHash);\n if (receipt) {\n // completed, get receipt\n return receipt;\n }\n } catch (error) {\n // waiting\n }\n\n await new Promise((resolve) => setTimeout(resolve, interval));\n\n interval = Math.min(interval * 2, maxInterval);\n retries++;\n }\n\n throw new Error(\"Transaction did not complete after maximum retries.\");\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const provider = new ethers.JsonRpcProvider(chain.public_rpc_url);\n\n const contract = new ethers.Contract(address, options.abi, provider);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n getBalance(userAddress: string): Promise<bigint> {\n return this.browserProvider!.getBalance(userAddress).then((res) => {\n return res;\n });\n }\n}\n\nexport { EthersProvider };\n","import { DecodedError, ErrorDecoder } from \"ethers-decode-error\";\n\nconst errorDecoder = ErrorDecoder.create();\n\ntype ParsedError = DecodedError & {\n message: string;\n};\n\nexport async function parseError(rawError: any): Promise<ParsedError> {\n const error: DecodedError = await errorDecoder.decode(rawError);\n const reason = error.reason ?? \"\";\n console.error(\"parsedError\", error);\n\n return {\n ...error,\n message: replacePrefix(reason),\n };\n}\n\nfunction replacePrefix(reason: string) {\n const prefixes = [\"ethers-user-denied: \", \"ethers-unsupported: \"];\n\n if (typeof reason !== \"string\") {\n return reason;\n }\n\n for (const prefix of prefixes) {\n if (reason.startsWith(prefix)) {\n return reason.replace(prefix, \"\");\n }\n }\n\n return reason;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/ethersProvider.ts","../src/parseError.ts"],"sourcesContent":["import { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\nimport { parseError } from \"./parseError\";\n\nclass EthersProvider implements Web3Provider {\n private _provider!: BrowserProvider;\n private _originalProvider!: Eip1193Provider;\n\n parseUnits(amount: string, decimals?: number): string {\n return ethers.parseUnits(amount, decimals).toString();\n }\n\n formatUnits(amount: string, decimals?: number): string {\n return ethers.formatUnits(amount, decimals);\n }\n\n set provider(provider: Eip1193Provider) {\n this._provider = new BrowserProvider(provider, \"any\");\n this._originalProvider = provider;\n }\n\n get browserProvider(): BrowserProvider {\n if (!this._provider) {\n throw new Error(\"browserProvider is not initialized\");\n }\n return this._provider;\n }\n\n async signTypedData(\n address: string,\n toSignatureMessage: any,\n ): Promise<string> {\n return await this.browserProvider?.send(\"eth_signTypedData_v4\", [\n address,\n toSignatureMessage,\n ]);\n }\n\n async call(\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const writeMethod: string[] = [\"approve\"];\n // @ts-ignore\n if (this._originalProvider.agwWallet && writeMethod.includes(method)) {\n try {\n // @ts-ignore\n const transactionHash = await this._originalProvider.writeContract({\n abi: options.abi,\n address: address,\n functionName: method,\n args: params,\n });\n\n return {\n hash: transactionHash,\n };\n } catch (error) {\n // const parsedEthersError = getParsedEthersError(error as EthersError);\n // if ((error as any).message.includes(\"rejected\")) {\n // // @ts-ignore\n // throw new Error({ content: \"REJECTED_TRANSACTION\" });\n // }\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n const singer = await this.browserProvider.getSigner();\n const contract = new ethers.Contract(address, options.abi, singer);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n send(method: string, params: Array<any> | Record<string, any>): Promise<any> {\n return this.browserProvider.send(method, params);\n }\n\n async sendTransaction(\n contractAddress: string,\n method: string,\n payload: { from: string; to?: string; data: any[]; value?: bigint },\n options: { abi: any },\n ): Promise<any> {\n const singer = await this.browserProvider?.getSigner();\n if (!singer) {\n throw new Error(\"singer is not exist\");\n }\n\n const contract = new ethers.Contract(\n contractAddress,\n options.abi,\n this.browserProvider,\n );\n\n // contract.interface.getAbiCoder().encode(tx.data);\n const encodeFunctionData = contract.interface.encodeFunctionData(\n method,\n payload.data,\n );\n\n const tx: ethers.TransactionRequest = {\n from: payload.from,\n to: payload.to,\n data: encodeFunctionData,\n value: payload.value,\n };\n\n try {\n // for agw wallet\n if (method === \"depositTo\") {\n // @ts-ignore\n return await this._originalProvider.sendTransaction({\n to: contractAddress,\n data: encodeFunctionData,\n value: payload.value,\n });\n }\n return await singer.sendTransaction(tx);\n } catch (error) {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n }\n }\n\n async pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval = 1000,\n maxInterval = 6000,\n maxRetries = 30,\n ) {\n let interval = baseInterval;\n let retries = 0;\n\n while (retries < maxRetries) {\n try {\n const receipt =\n await this.browserProvider!.getTransactionReceipt(txHash);\n if (receipt) {\n // completed, get receipt\n return receipt;\n }\n } catch (error) {\n // waiting\n }\n\n await new Promise((resolve) => setTimeout(resolve, interval));\n\n interval = Math.min(interval * 2, maxInterval);\n retries++;\n }\n\n throw new Error(\"Transaction did not complete after maximum retries.\");\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n const provider = new ethers.JsonRpcProvider(chain.public_rpc_url);\n\n const contract = new ethers.Contract(address, options.abi, provider);\n\n return contract[method].apply(null, params).catch(async (error) => {\n const parsedEthersError = await parseError(error);\n throw parsedEthersError;\n });\n }\n\n getBalance(userAddress: string): Promise<bigint> {\n return this.browserProvider!.getBalance(userAddress).then((res) => {\n return res;\n });\n }\n}\n\nexport { EthersProvider };\n","import { DecodedError, ErrorDecoder } from \"ethers-decode-error\";\n\nconst errorDecoder = ErrorDecoder.create();\n\ntype ParsedError = DecodedError & {\n message: string;\n};\n\nexport async function parseError(rawError: any): Promise<ParsedError> {\n const error: DecodedError = await errorDecoder.decode(rawError);\n const reason = error.reason ?? \"\";\n console.error(\"parsedError\", error);\n\n return {\n ...error,\n message: replacePrefix(reason),\n };\n}\n\nfunction replacePrefix(reason: string) {\n const prefixes = [\"ethers-user-denied: \", \"ethers-unsupported: \"];\n\n if (typeof reason !== \"string\") {\n return reason;\n }\n\n for (const prefix of prefixes) {\n if (reason.startsWith(prefix)) {\n return reason.replace(prefix, \"\");\n }\n }\n\n return reason;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,iBAAkC,cAAc;;;ACAzD,SAAuB,oBAAoB;AAE3C,IAAM,eAAe,aAAa,OAAO;AAMzC,SAAsB,WAAW,UAAqC;AAAA;AARtE;AASE,UAAM,QAAsB,MAAM,aAAa,OAAO,QAAQ;AAC9D,UAAM,UAAS,WAAM,WAAN,YAAgB;AAC/B,YAAQ,MAAM,eAAe,KAAK;AAElC,WAAO,iCACF,QADE;AAAA,MAEL,SAAS,cAAc,MAAM;AAAA,IAC/B;AAAA,EACF;AAAA;AAEA,SAAS,cAAc,QAAgB;AACrC,QAAM,WAAW,CAAC,wBAAwB,sBAAsB;AAEhE,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO;AAAA,EACT;AAEA,aAAW,UAAU,UAAU;AAC7B,QAAI,OAAO,WAAW,MAAM,GAAG;AAC7B,aAAO,OAAO,QAAQ,QAAQ,EAAE;AAAA,IAClC;AAAA,EACF;AAEA,SAAO;AACT;;;AD5BA,IAAM,iBAAN,MAA6C;AAAA,EAA7C;AACE,wBAAQ;AACR,wBAAQ;AAAA;AAAA,EAER,WAAW,QAAgB,UAA2B;AACpD,WAAO,OAAO,WAAW,QAAQ,QAAQ,EAAE,SAAS;AAAA,EACtD;AAAA,EAEA,YAAY,QAAgB,UAA2B;AACrD,WAAO,OAAO,YAAY,QAAQ,QAAQ;AAAA,EAC5C;AAAA,EAEA,IAAI,SAAS,UAA2B;AACtC,SAAK,YAAY,IAAI,gBAAgB,UAAU,KAAK;AACpD,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EAEA,IAAI,kBAAmC;AACrC,QAAI,CAAC,KAAK,WAAW;AACnB,YAAM,IAAI,MAAM,oCAAoC;AAAA,IACtD;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEM,cACJ,SACA,oBACiB;AAAA;AAhCrB;AAiCI,aAAO,OAAM,UAAK,oBAAL,mBAAsB,KAAK,wBAAwB;AAAA,QAC9D;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA;AAAA,EAEM,KACJ,SACA,QACA,QACA,SACc;AAAA;AACd,YAAM,cAAwB,CAAC,SAAS;AAExC,UAAI,KAAK,kBAAkB,aAAa,YAAY,SAAS,MAAM,GAAG;AACpE,YAAI;AAEF,gBAAM,kBAAkB,MAAM,KAAK,kBAAkB,cAAc;AAAA,YACjE,KAAK,QAAQ;AAAA,YACb;AAAA,YACA,cAAc;AAAA,YACd,MAAM;AAAA,UACR,CAAC;AAED,iBAAO;AAAA,YACL,MAAM;AAAA,UACR;AAAA,QACF,SAAS,OAAO;AAMd,gBAAM,oBAAoB,MAAM,WAAW,KAAK;AAChD,gBAAM;AAAA,QACR;AAAA,MACF;AACA,YAAM,SAAS,MAAM,KAAK,gBAAgB,UAAU;AACpD,YAAM,WAAW,IAAI,OAAO,SAAS,SAAS,QAAQ,KAAK,MAAM;AAEjE,aAAO,SAAS,MAAM,EAAE,MAAM,MAAM,MAAM,EAAE,MAAM,CAAO,UAAU;AACjE,cAAM,oBAAoB,MAAM,WAAW,KAAK;AAChD,cAAM;AAAA,MACR,EAAC;AAAA,IACH;AAAA;AAAA,EAEA,KAAK,QAAgB,QAAwD;AAC3E,WAAO,KAAK,gBAAgB,KAAK,QAAQ,MAAM;AAAA,EACjD;AAAA,EAEM,gBACJ,iBACA,QACA,SACA,SACc;AAAA;AAxFlB;AAyFI,YAAM,SAAS,OAAM,UAAK,oBAAL,mBAAsB;AAC3C,UAAI,CAAC,QAAQ;AACX,cAAM,IAAI,MAAM,qBAAqB;AAAA,MACvC;AAEA,YAAM,WAAW,IAAI,OAAO;AAAA,QAC1B;AAAA,QACA,QAAQ;AAAA,QACR,KAAK;AAAA,MACP;AAGA,YAAM,qBAAqB,SAAS,UAAU;AAAA,QAC5C;AAAA,QACA,QAAQ;AAAA,MACV;AAEA,YAAM,KAAgC;AAAA,QACpC,MAAM,QAAQ;AAAA,QACd,IAAI,QAAQ;AAAA,QACZ,MAAM;AAAA,QACN,OAAO,QAAQ;AAAA,MACjB;AAEA,UAAI;AAEF,YAAI,WAAW,aAAa;AAE1B,iBAAO,MAAM,KAAK,kBAAkB,gBAAgB;AAAA,YAClD,IAAI;AAAA,YACJ,MAAM;AAAA,YACN,OAAO,QAAQ;AAAA,UACjB,CAAC;AAAA,QACH;AACA,eAAO,MAAM,OAAO,gBAAgB,EAAE;AAAA,MACxC,SAAS,OAAO;AACd,cAAM,oBAAoB,MAAM,WAAW,KAAK;AAChD,cAAM;AAAA,MACR;AAAA,IACF;AAAA;AAAA,EAEM,kCACJ,QACA,eAAe,KACf,cAAc,KACd,aAAa,IACb;AAAA;AACA,UAAI,WAAW;AACf,UAAI,UAAU;AAEd,aAAO,UAAU,YAAY;AAC3B,YAAI;AACF,gBAAM,UACJ,MAAM,KAAK,gBAAiB,sBAAsB,MAAM;AAC1D,cAAI,SAAS;AAEX,mBAAO;AAAA,UACT;AAAA,QACF,SAAS,OAAO;AAAA,QAEhB;AAEA,cAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,QAAQ,CAAC;AAE5D,mBAAW,KAAK,IAAI,WAAW,GAAG,WAAW;AAC7C;AAAA,MACF;AAEA,YAAM,IAAI,MAAM,qDAAqD;AAAA,IACvE;AAAA;AAAA,EAEA,YACE,OACA,SACA,QACA,QACA,SACc;AACd,UAAM,WAAW,IAAI,OAAO,gBAAgB,MAAM,cAAc;AAEhE,UAAM,WAAW,IAAI,OAAO,SAAS,SAAS,QAAQ,KAAK,QAAQ;AAEnE,WAAO,SAAS,MAAM,EAAE,MAAM,MAAM,MAAM,EAAE,MAAM,CAAO,UAAU;AACjE,YAAM,oBAAoB,MAAM,WAAW,KAAK;AAChD,YAAM;AAAA,IACR,EAAC;AAAA,EACH;AAAA,EAEA,WAAW,aAAsC;AAC/C,WAAO,KAAK,gBAAiB,WAAW,WAAW,EAAE,KAAK,CAAC,QAAQ;AACjE,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orderly.network/web3-provider-ethers",
3
- "version": "2.8.10",
3
+ "version": "2.8.11-alpha.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -15,14 +15,14 @@
15
15
  "dependencies": {
16
16
  "ethers": "^6.15.0",
17
17
  "ethers-decode-error": "^2.1.3",
18
- "@orderly.network/default-evm-adapter": "2.8.10",
19
- "@orderly.network/types": "2.8.10"
18
+ "@orderly.network/default-evm-adapter": "2.8.11-alpha.0",
19
+ "@orderly.network/types": "2.8.11-alpha.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "jest": "^29.7.0",
23
- "tsup": "^7.1.0",
23
+ "tsup": "^8.5.1",
24
24
  "typescript": "^5.1.6",
25
- "tsconfig": "0.11.10"
25
+ "tsconfig": "0.11.11-alpha.0"
26
26
  },
27
27
  "scripts": {
28
28
  "build": "tsup",