@orderly.network/web3-provider-ethers 2.1.3 → 2.2.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.d.mts CHANGED
@@ -1,9 +1,10 @@
1
+ import { Eip1193Provider, BrowserProvider, ethers } from 'ethers';
1
2
  import { Web3Provider } from '@orderly.network/default-evm-adapter';
2
3
  import { API } from '@orderly.network/types';
3
- import { Eip1193Provider, BrowserProvider, ethers } from 'ethers';
4
4
 
5
5
  declare class EthersProvider implements Web3Provider {
6
6
  private _provider;
7
+ private _originalProvider;
7
8
  parseUnits(amount: string, decimals?: number): string;
8
9
  formatUnits(amount: string, decimals?: number): string;
9
10
  set provider(provider: Eip1193Provider);
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
+ import { Eip1193Provider, BrowserProvider, ethers } from 'ethers';
1
2
  import { Web3Provider } from '@orderly.network/default-evm-adapter';
2
3
  import { API } from '@orderly.network/types';
3
- import { Eip1193Provider, BrowserProvider, ethers } from 'ethers';
4
4
 
5
5
  declare class EthersProvider implements Web3Provider {
6
6
  private _provider;
7
+ private _originalProvider;
7
8
  parseUnits(amount: string, decimals?: number): string;
8
9
  formatUnits(amount: string, decimals?: number): string;
9
10
  set provider(provider: Eip1193Provider);
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var g=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var b=(n,r,t)=>r in n?g(n,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[r]=t;var y=(n,r)=>{for(var t in r)g(n,t,{get:r[t],enumerable:!0})},f=(n,r,t,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of l(r))!E.call(n,i)&&i!==t&&g(n,i,{get:()=>r[i],enumerable:!(e=P(r,i))||e.enumerable});return n};var T=n=>f(g({},"__esModule",{value:!0}),n);var u=(n,r,t)=>(b(n,typeof r!="symbol"?r+"":r,t),t);var p=(n,r,t)=>new Promise((e,i)=>{var s=a=>{try{o(t.next(a))}catch(h){i(h)}},d=a=>{try{o(t.throw(a))}catch(h){i(h)}},o=a=>a.done?e(a.value):Promise.resolve(a.value).then(s,d);o((t=t.apply(n,r)).next())});var _={};y(_,{EthersProvider:()=>m});module.exports=T(_);var c=require("ethers"),w=require("@enzoferey/ethers-error-parser");var m=class{constructor(){u(this,"_provider")}parseUnits(r,t){return c.ethers.parseUnits(r,t).toString()}formatUnits(r,t){return c.ethers.formatUnits(r,t)}set provider(r){this._provider=new c.BrowserProvider(r,"any")}get browserProvider(){if(!this._provider)throw new Error("browserProvider is not initialized");return this._provider}signTypedData(r,t){return p(this,null,function*(){var e;return yield(e=this.browserProvider)==null?void 0:e.send("eth_signTypedData_v4",[r,t])})}call(r,t,e,i){return p(this,null,function*(){let s=yield this.browserProvider.getSigner();return new c.ethers.Contract(r,i.abi,s)[t].apply(null,e).catch(o=>{throw(0,w.getParsedEthersError)(o)})})}send(r,t){return this.browserProvider.send(r,t)}sendTransaction(r,t,e,i){return p(this,null,function*(){var h;let s=yield(h=this.browserProvider)==null?void 0:h.getSigner();if(!s)throw new Error("singer is not exist");let o=new c.ethers.Contract(r,i.abi,this.browserProvider).interface.encodeFunctionData(t,e.data),a={from:e.from,to:e.to,data:o,value:e.value};try{return yield s.sendTransaction(a)}catch(v){throw(0,w.getParsedEthersError)(v)}})}pollTransactionReceiptWithBackoff(r,t=1e3,e=6e3,i=30){return p(this,null,function*(){let s=t,d=0;for(;d<i;){try{let o=yield this.browserProvider.getTransactionReceipt(r);if(o)return o}catch(o){}yield new Promise(o=>setTimeout(o,s)),s=Math.min(s*2,e),d++}throw new Error("Transaction did not complete after maximum retries.")})}callOnChain(r,t,e,i,s){let d=new c.ethers.JsonRpcProvider(r.public_rpc_url);return new c.ethers.Contract(t,s.abi,d)[e].apply(null,i).catch(a=>{throw(0,w.getParsedEthersError)(a)})}getBalance(r){return this.browserProvider.getBalance(r).then(t=>t)}};0&&(module.exports={EthersProvider});
1
+ "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var b=(o,r,t)=>r in o?p(o,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[r]=t;var f=(o,r)=>{for(var t in r)p(o,t,{get:r[t],enumerable:!0})},y=(o,r,t,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of E(r))!m.call(o,i)&&i!==t&&p(o,i,{get:()=>r[i],enumerable:!(e=u(r,i))||e.enumerable});return o};var T=o=>y(p({},"__esModule",{value:!0}),o);var l=(o,r,t)=>(b(o,typeof r!="symbol"?r+"":r,t),t);var g=(o,r,t)=>new Promise((e,i)=>{var a=n=>{try{s(t.next(n))}catch(c){i(c)}},d=n=>{try{s(t.throw(n))}catch(c){i(c)}},s=n=>n.done?e(n.value):Promise.resolve(n.value).then(a,d);s((t=t.apply(o,r)).next())});var _={};f(_,{EthersProvider:()=>v});module.exports=T(_);var w=require("@enzoferey/ethers-error-parser"),h=require("ethers");var v=class{constructor(){l(this,"_provider");l(this,"_originalProvider")}parseUnits(r,t){return h.ethers.parseUnits(r,t).toString()}formatUnits(r,t){return h.ethers.formatUnits(r,t)}set provider(r){this._provider=new h.BrowserProvider(r,"any"),this._originalProvider=r}get browserProvider(){if(!this._provider)throw new Error("browserProvider is not initialized");return this._provider}signTypedData(r,t){return g(this,null,function*(){var e;return yield(e=this.browserProvider)==null?void 0:e.send("eth_signTypedData_v4",[r,t])})}call(r,t,e,i){return g(this,null,function*(){let a=["approve"];if(this._originalProvider.agwWallet&&a.includes(t))try{return{hash:yield this._originalProvider.writeContract({abi:i.abi,address:r,functionName:t,args:e})}}catch(n){let c=(0,w.getParsedEthersError)(n);throw n.message.includes("rejected")?new Error({content:"REJECTED_TRANSACTION"}):c}let d=yield this.browserProvider.getSigner();return new h.ethers.Contract(r,i.abi,d)[t].apply(null,e).catch(n=>{throw(0,w.getParsedEthersError)(n)})})}send(r,t){return this.browserProvider.send(r,t)}sendTransaction(r,t,e,i){return g(this,null,function*(){var c;let a=yield(c=this.browserProvider)==null?void 0:c.getSigner();if(!a)throw new Error("singer is not exist");let s=new h.ethers.Contract(r,i.abi,this.browserProvider).interface.encodeFunctionData(t,e.data),n={from:e.from,to:e.to,data:s,value:e.value};try{return t==="depositTo"?yield this._originalProvider.sendTransaction({to:r,data:s,value:e.value}):yield a.sendTransaction(n)}catch(P){throw(0,w.getParsedEthersError)(P)}})}pollTransactionReceiptWithBackoff(r,t=1e3,e=6e3,i=30){return g(this,null,function*(){let a=t,d=0;for(;d<i;){try{let s=yield this.browserProvider.getTransactionReceipt(r);if(s)return s}catch(s){}yield new Promise(s=>setTimeout(s,a)),a=Math.min(a*2,e),d++}throw new Error("Transaction did not complete after maximum retries.")})}callOnChain(r,t,e,i,a){let d=new h.ethers.JsonRpcProvider(r.public_rpc_url);return new h.ethers.Contract(t,a.abi,d)[e].apply(null,i).catch(n=>{throw(0,w.getParsedEthersError)(n)})}getBalance(r){return this.browserProvider.getBalance(r).then(t=>t)}};0&&(module.exports={EthersProvider});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/ethersProvider.ts"],"sourcesContent":["export { EthersProvider } from \"./ethersProvider\";\n","import { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\nimport { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport {\n EthersError,\n getParsedEthersError,\n} from \"@enzoferey/ethers-error-parser\";\nimport { TransactionReceipt } from \"ethers/src.ts/providers/provider\";\n\nclass EthersProvider implements Web3Provider {\n private _provider!: BrowserProvider;\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 }\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 singer = await this.browserProvider.getSigner();\n const contract = new ethers.Contract(address, options.abi, singer);\n\n return contract[method].apply(null, params).catch((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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 // const gas = await this.estimateGas(tx);\n\n // tx.gasLimit = BigInt(Math.ceil(gas * 1.2));\n\n try {\n const result = await singer.sendTransaction(tx);\n\n return result;\n } catch (error) {\n const parsedEthersError = getParsedEthersError(error as EthersError);\n\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 = await this.browserProvider!.getTransactionReceipt(\n txHash\n );\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((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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"],"mappings":"kwBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oBAAAE,IAAA,eAAAC,EAAAH,GCEA,IAAAI,EAAyD,kBACzDC,EAGO,0CAGP,IAAMC,EAAN,KAA6C,CAA7C,cACEC,EAAA,KAAQ,aAER,WAAWC,EAAgBC,EAA2B,CACpD,OAAO,SAAO,WAAWD,EAAQC,CAAQ,EAAE,SAAS,CACtD,CAEA,YAAYD,EAAgBC,EAA2B,CACrD,OAAO,SAAO,YAAYD,EAAQC,CAAQ,CAC5C,CAEA,IAAI,SAASC,EAA2B,CACtC,KAAK,UAAY,IAAI,kBAAgBA,EAAU,KAAK,CACtD,CAEA,IAAI,iBAAmC,CACrC,GAAI,CAAC,KAAK,UACR,MAAM,IAAI,MAAM,oCAAoC,EAEtD,OAAO,KAAK,SACd,CAEM,cACJC,EACAC,EACiB,QAAAC,EAAA,sBAlCrB,IAAAC,EAmCI,OAAO,MAAMA,EAAA,KAAK,kBAAL,YAAAA,EAAsB,KAAK,uBAAwB,CAC9DH,EACAC,CACF,EACF,GAEM,KACJD,EACAI,EACAC,EACAC,EACc,QAAAJ,EAAA,sBACd,IAAMK,EAAS,MAAM,KAAK,gBAAgB,UAAU,EAGpD,OAFiB,IAAI,SAAO,SAASP,EAASM,EAAQ,IAAKC,CAAM,EAEjDH,CAAM,EAAE,MAAM,KAAMC,CAAM,EAAE,MAAOG,GAAU,CAG3D,QAF0B,wBAAqBA,CAAK,CAGtD,CAAC,CACH,GAEA,KAAKJ,EAAgBC,EAAwD,CAC3E,OAAO,KAAK,gBAAgB,KAAKD,EAAQC,CAAM,CACjD,CAEM,gBACJI,EACAL,EACAM,EACAJ,EACc,QAAAJ,EAAA,sBAlElB,IAAAC,EAmEI,IAAMI,EAAS,MAAMJ,EAAA,KAAK,kBAAL,YAAAA,EAAsB,YAC3C,GAAI,CAACI,EACH,MAAM,IAAI,MAAM,qBAAqB,EAUvC,IAAMI,EAPW,IAAI,SAAO,SAC1BF,EACAH,EAAQ,IACR,KAAK,eACP,EAGoC,UAAU,mBAC5CF,EACAM,EAAQ,IACV,EAEME,EAAgC,CACpC,KAAMF,EAAQ,KACd,GAAIA,EAAQ,GACZ,KAAMC,EACN,MAAOD,EAAQ,KACjB,EAMA,GAAI,CAGF,OAFe,MAAMH,EAAO,gBAAgBK,CAAE,CAGhD,OAASJ,EAAO,CAGd,QAF0B,wBAAqBA,CAAoB,CAGrE,CACF,GAEM,kCACJK,EACAC,EAAe,IACfC,EAAc,IACdC,EAAa,GACb,QAAAd,EAAA,sBACA,IAAIe,EAAWH,EACXI,EAAU,EAEd,KAAOA,EAAUF,GAAY,CAC3B,GAAI,CACF,IAAMG,EAAU,MAAM,KAAK,gBAAiB,sBAC1CN,CACF,EACA,GAAIM,EAEF,OAAOA,CAEX,OAASX,EAAO,CAEhB,CAEA,MAAM,IAAI,QAASY,GAAY,WAAWA,EAASH,CAAQ,CAAC,EAE5DA,EAAW,KAAK,IAAIA,EAAW,EAAGF,CAAW,EAC7CG,GACF,CAEA,MAAM,IAAI,MAAM,qDAAqD,CACvE,GAEA,YACEG,EACArB,EACAI,EACAC,EACAC,EACc,CACd,IAAMP,EAAW,IAAI,SAAO,gBAAgBsB,EAAM,cAAc,EAIhE,OAFiB,IAAI,SAAO,SAASrB,EAASM,EAAQ,IAAKP,CAAQ,EAEnDK,CAAM,EAAE,MAAM,KAAMC,CAAM,EAAE,MAAOG,GAAU,CAG3D,QAF0B,wBAAqBA,CAAK,CAGtD,CAAC,CACH,CAEA,WAAWc,EAAsC,CAC/C,OAAO,KAAK,gBAAiB,WAAWA,CAAW,EAAE,KAAMC,GAClDA,CACR,CACH,CACF","names":["src_exports","__export","EthersProvider","__toCommonJS","import_ethers","import_ethers_error_parser","EthersProvider","__publicField","amount","decimals","provider","address","toSignatureMessage","__async","_a","method","params","options","singer","error","contractAddress","payload","encodeFunctionData","tx","txHash","baseInterval","maxInterval","maxRetries","interval","retries","receipt","resolve","chain","userAddress","res"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/ethersProvider.ts"],"sourcesContent":["export { EthersProvider } from \"./ethersProvider\";\n","import {\n EthersError,\n getParsedEthersError,\n} from \"@enzoferey/ethers-error-parser\";\nimport { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport { TransactionReceipt } from \"ethers/src.ts/providers/provider\";\nimport { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\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 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((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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 = getParsedEthersError(error as EthersError);\n\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((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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"],"mappings":"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","names":["src_exports","__export","EthersProvider","__toCommonJS","import_ethers_error_parser","import_ethers","EthersProvider","__publicField","amount","decimals","provider","address","toSignatureMessage","__async","_a","method","params","options","writeMethod","error","parsedEthersError","singer","contractAddress","payload","encodeFunctionData","tx","txHash","baseInterval","maxInterval","maxRetries","interval","retries","receipt","resolve","chain","userAddress","res"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var u=Object.defineProperty;var P=(a,r,t)=>r in a?u(a,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[r]=t;var v=(a,r,t)=>(P(a,typeof r!="symbol"?r+"":r,t),t);var p=(a,r,t)=>new Promise((e,s)=>{var i=o=>{try{n(t.next(o))}catch(d){s(d)}},c=o=>{try{n(t.throw(o))}catch(d){s(d)}},n=o=>o.done?e(o.value):Promise.resolve(o.value).then(i,c);n((t=t.apply(a,r)).next())});import{BrowserProvider as l,ethers as h}from"ethers";import{getParsedEthersError as g}from"@enzoferey/ethers-error-parser";var w=class{constructor(){v(this,"_provider")}parseUnits(r,t){return h.parseUnits(r,t).toString()}formatUnits(r,t){return h.formatUnits(r,t)}set provider(r){this._provider=new l(r,"any")}get browserProvider(){if(!this._provider)throw new Error("browserProvider is not initialized");return this._provider}signTypedData(r,t){return p(this,null,function*(){var e;return yield(e=this.browserProvider)==null?void 0:e.send("eth_signTypedData_v4",[r,t])})}call(r,t,e,s){return p(this,null,function*(){let i=yield this.browserProvider.getSigner();return new h.Contract(r,s.abi,i)[t].apply(null,e).catch(n=>{throw g(n)})})}send(r,t){return this.browserProvider.send(r,t)}sendTransaction(r,t,e,s){return p(this,null,function*(){var d;let i=yield(d=this.browserProvider)==null?void 0:d.getSigner();if(!i)throw new Error("singer is not exist");let n=new h.Contract(r,s.abi,this.browserProvider).interface.encodeFunctionData(t,e.data),o={from:e.from,to:e.to,data:n,value:e.value};try{return yield i.sendTransaction(o)}catch(m){throw g(m)}})}pollTransactionReceiptWithBackoff(r,t=1e3,e=6e3,s=30){return p(this,null,function*(){let i=t,c=0;for(;c<s;){try{let n=yield this.browserProvider.getTransactionReceipt(r);if(n)return n}catch(n){}yield new Promise(n=>setTimeout(n,i)),i=Math.min(i*2,e),c++}throw new Error("Transaction did not complete after maximum retries.")})}callOnChain(r,t,e,s,i){let c=new h.JsonRpcProvider(r.public_rpc_url);return new h.Contract(t,i.abi,c)[e].apply(null,s).catch(o=>{throw g(o)})}getBalance(r){return this.browserProvider.getBalance(r).then(t=>t)}};export{w as EthersProvider};
1
+ var P=Object.defineProperty;var u=(d,r,t)=>r in d?P(d,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[r]=t;var p=(d,r,t)=>(u(d,typeof r!="symbol"?r+"":r,t),t);var g=(d,r,t)=>new Promise((e,s)=>{var o=i=>{try{n(t.next(i))}catch(a){s(a)}},c=i=>{try{n(t.throw(i))}catch(a){s(a)}},n=i=>i.done?e(i.value):Promise.resolve(i.value).then(o,c);n((t=t.apply(d,r)).next())});import{getParsedEthersError as w}from"@enzoferey/ethers-error-parser";import{BrowserProvider as E,ethers as h}from"ethers";var v=class{constructor(){p(this,"_provider");p(this,"_originalProvider")}parseUnits(r,t){return h.parseUnits(r,t).toString()}formatUnits(r,t){return h.formatUnits(r,t)}set provider(r){this._provider=new E(r,"any"),this._originalProvider=r}get browserProvider(){if(!this._provider)throw new Error("browserProvider is not initialized");return this._provider}signTypedData(r,t){return g(this,null,function*(){var e;return yield(e=this.browserProvider)==null?void 0:e.send("eth_signTypedData_v4",[r,t])})}call(r,t,e,s){return g(this,null,function*(){let o=["approve"];if(this._originalProvider.agwWallet&&o.includes(t))try{return{hash:yield this._originalProvider.writeContract({abi:s.abi,address:r,functionName:t,args:e})}}catch(i){let a=w(i);throw i.message.includes("rejected")?new Error({content:"REJECTED_TRANSACTION"}):a}let c=yield this.browserProvider.getSigner();return new h.Contract(r,s.abi,c)[t].apply(null,e).catch(i=>{throw w(i)})})}send(r,t){return this.browserProvider.send(r,t)}sendTransaction(r,t,e,s){return g(this,null,function*(){var a;let o=yield(a=this.browserProvider)==null?void 0:a.getSigner();if(!o)throw new Error("singer is not exist");let n=new h.Contract(r,s.abi,this.browserProvider).interface.encodeFunctionData(t,e.data),i={from:e.from,to:e.to,data:n,value:e.value};try{return t==="depositTo"?yield this._originalProvider.sendTransaction({to:r,data:n,value:e.value}):yield o.sendTransaction(i)}catch(l){throw w(l)}})}pollTransactionReceiptWithBackoff(r,t=1e3,e=6e3,s=30){return g(this,null,function*(){let o=t,c=0;for(;c<s;){try{let n=yield this.browserProvider.getTransactionReceipt(r);if(n)return n}catch(n){}yield new Promise(n=>setTimeout(n,o)),o=Math.min(o*2,e),c++}throw new Error("Transaction did not complete after maximum retries.")})}callOnChain(r,t,e,s,o){let c=new h.JsonRpcProvider(r.public_rpc_url);return new h.Contract(t,o.abi,c)[e].apply(null,s).catch(i=>{throw w(i)})}getBalance(r){return this.browserProvider.getBalance(r).then(t=>t)}};export{v as EthersProvider};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ethersProvider.ts"],"sourcesContent":["import { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\nimport { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport {\n EthersError,\n getParsedEthersError,\n} from \"@enzoferey/ethers-error-parser\";\nimport { TransactionReceipt } from \"ethers/src.ts/providers/provider\";\n\nclass EthersProvider implements Web3Provider {\n private _provider!: BrowserProvider;\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 }\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 singer = await this.browserProvider.getSigner();\n const contract = new ethers.Contract(address, options.abi, singer);\n\n return contract[method].apply(null, params).catch((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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 // const gas = await this.estimateGas(tx);\n\n // tx.gasLimit = BigInt(Math.ceil(gas * 1.2));\n\n try {\n const result = await singer.sendTransaction(tx);\n\n return result;\n } catch (error) {\n const parsedEthersError = getParsedEthersError(error as EthersError);\n\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 = await this.browserProvider!.getTransactionReceipt(\n txHash\n );\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((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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"],"mappings":"qXAEA,OAAS,mBAAAA,EAAkC,UAAAC,MAAc,SACzD,OAEE,wBAAAC,MACK,iCAGP,IAAMC,EAAN,KAA6C,CAA7C,cACEC,EAAA,KAAQ,aAER,WAAWC,EAAgBC,EAA2B,CACpD,OAAOC,EAAO,WAAWF,EAAQC,CAAQ,EAAE,SAAS,CACtD,CAEA,YAAYD,EAAgBC,EAA2B,CACrD,OAAOC,EAAO,YAAYF,EAAQC,CAAQ,CAC5C,CAEA,IAAI,SAASE,EAA2B,CACtC,KAAK,UAAY,IAAIC,EAAgBD,EAAU,KAAK,CACtD,CAEA,IAAI,iBAAmC,CACrC,GAAI,CAAC,KAAK,UACR,MAAM,IAAI,MAAM,oCAAoC,EAEtD,OAAO,KAAK,SACd,CAEM,cACJE,EACAC,EACiB,QAAAC,EAAA,sBAlCrB,IAAAC,EAmCI,OAAO,MAAMA,EAAA,KAAK,kBAAL,YAAAA,EAAsB,KAAK,uBAAwB,CAC9DH,EACAC,CACF,EACF,GAEM,KACJD,EACAI,EACAC,EACAC,EACc,QAAAJ,EAAA,sBACd,IAAMK,EAAS,MAAM,KAAK,gBAAgB,UAAU,EAGpD,OAFiB,IAAIV,EAAO,SAASG,EAASM,EAAQ,IAAKC,CAAM,EAEjDH,CAAM,EAAE,MAAM,KAAMC,CAAM,EAAE,MAAOG,GAAU,CAG3D,MAF0BC,EAAqBD,CAAK,CAGtD,CAAC,CACH,GAEA,KAAKJ,EAAgBC,EAAwD,CAC3E,OAAO,KAAK,gBAAgB,KAAKD,EAAQC,CAAM,CACjD,CAEM,gBACJK,EACAN,EACAO,EACAL,EACc,QAAAJ,EAAA,sBAlElB,IAAAC,EAmEI,IAAMI,EAAS,MAAMJ,EAAA,KAAK,kBAAL,YAAAA,EAAsB,YAC3C,GAAI,CAACI,EACH,MAAM,IAAI,MAAM,qBAAqB,EAUvC,IAAMK,EAPW,IAAIf,EAAO,SAC1Ba,EACAJ,EAAQ,IACR,KAAK,eACP,EAGoC,UAAU,mBAC5CF,EACAO,EAAQ,IACV,EAEME,EAAgC,CACpC,KAAMF,EAAQ,KACd,GAAIA,EAAQ,GACZ,KAAMC,EACN,MAAOD,EAAQ,KACjB,EAMA,GAAI,CAGF,OAFe,MAAMJ,EAAO,gBAAgBM,CAAE,CAGhD,OAASL,EAAO,CAGd,MAF0BC,EAAqBD,CAAoB,CAGrE,CACF,GAEM,kCACJM,EACAC,EAAe,IACfC,EAAc,IACdC,EAAa,GACb,QAAAf,EAAA,sBACA,IAAIgB,EAAWH,EACXI,EAAU,EAEd,KAAOA,EAAUF,GAAY,CAC3B,GAAI,CACF,IAAMG,EAAU,MAAM,KAAK,gBAAiB,sBAC1CN,CACF,EACA,GAAIM,EAEF,OAAOA,CAEX,OAASZ,EAAO,CAEhB,CAEA,MAAM,IAAI,QAASa,GAAY,WAAWA,EAASH,CAAQ,CAAC,EAE5DA,EAAW,KAAK,IAAIA,EAAW,EAAGF,CAAW,EAC7CG,GACF,CAEA,MAAM,IAAI,MAAM,qDAAqD,CACvE,GAEA,YACEG,EACAtB,EACAI,EACAC,EACAC,EACc,CACd,IAAMR,EAAW,IAAID,EAAO,gBAAgByB,EAAM,cAAc,EAIhE,OAFiB,IAAIzB,EAAO,SAASG,EAASM,EAAQ,IAAKR,CAAQ,EAEnDM,CAAM,EAAE,MAAM,KAAMC,CAAM,EAAE,MAAOG,GAAU,CAG3D,MAF0BC,EAAqBD,CAAK,CAGtD,CAAC,CACH,CAEA,WAAWe,EAAsC,CAC/C,OAAO,KAAK,gBAAiB,WAAWA,CAAW,EAAE,KAAMC,GAClDA,CACR,CACH,CACF","names":["BrowserProvider","ethers","getParsedEthersError","EthersProvider","__publicField","amount","decimals","ethers","provider","BrowserProvider","address","toSignatureMessage","__async","_a","method","params","options","singer","error","getParsedEthersError","contractAddress","payload","encodeFunctionData","tx","txHash","baseInterval","maxInterval","maxRetries","interval","retries","receipt","resolve","chain","userAddress","res"]}
1
+ {"version":3,"sources":["../src/ethersProvider.ts"],"sourcesContent":["import {\n EthersError,\n getParsedEthersError,\n} from \"@enzoferey/ethers-error-parser\";\nimport { BrowserProvider, Eip1193Provider, ethers } from \"ethers\";\nimport { TransactionReceipt } from \"ethers/src.ts/providers/provider\";\nimport { Web3Provider } from \"@orderly.network/default-evm-adapter\";\nimport { API } from \"@orderly.network/types\";\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 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((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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 = getParsedEthersError(error as EthersError);\n\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((error) => {\n const parsedEthersError = getParsedEthersError(error);\n\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"],"mappings":"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","names":["getParsedEthersError","BrowserProvider","ethers","EthersProvider","__publicField","amount","decimals","ethers","provider","BrowserProvider","address","toSignatureMessage","__async","_a","method","params","options","writeMethod","error","parsedEthersError","getParsedEthersError","singer","contractAddress","payload","encodeFunctionData","tx","txHash","baseInterval","maxInterval","maxRetries","interval","retries","receipt","resolve","chain","userAddress","res"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orderly.network/web3-provider-ethers",
3
- "version": "2.1.3",
3
+ "version": "2.2.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
  "@enzoferey/ethers-error-parser": "^0.2.3",
17
17
  "ethers": "^6.13.2",
18
- "@orderly.network/types": "2.1.3",
19
- "@orderly.network/default-evm-adapter": "2.1.3"
18
+ "@orderly.network/types": "2.2.0",
19
+ "@orderly.network/default-evm-adapter": "2.2.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "jest": "^29.7.0",
23
23
  "tsup": "^7.1.0",
24
24
  "typescript": "^5.1.6",
25
- "tsconfig": "0.4.3"
25
+ "tsconfig": "0.5.0"
26
26
  },
27
27
  "scripts": {
28
28
  "build": "tsup",