@layerzerolabs/lz-corekit-evm 2.3.42 → 2.3.44

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/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @layerzerolabs/lz-corekit-evm
2
2
 
3
+ ## 2.3.44
4
+
5
+ ### Patch Changes
6
+
7
+ - aded88c: Fix issue with workspace:^ protocol in package.json for packages version 2.3.43.
8
+ - Updated dependencies [aded88c]
9
+ - @layerzerolabs/lz-core@2.3.44
10
+ - @layerzerolabs/tron-utilities@2.3.44
11
+ - @layerzerolabs/lz-utilities@2.3.44
12
+ - @layerzerolabs/lz-aptos-sdk-v1@2.3.44
13
+
14
+ ## 2.3.43
15
+
16
+ ### Patch Changes
17
+
18
+ - eced6b4: mainnet: Hedera, testnet: bevm
19
+ - Updated dependencies [eced6b4]
20
+ - @layerzerolabs/lz-core@2.3.43
21
+ - @layerzerolabs/tron-utilities@2.3.43
22
+ - @layerzerolabs/lz-utilities@2.3.43
23
+ - @layerzerolabs/lz-aptos-sdk-v1@2.3.43
24
+
3
25
  ## 2.3.42
4
26
 
5
27
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -6,6 +6,7 @@ var lzCore = require('@layerzerolabs/lz-core');
6
6
  // src/providers/evm.ts
7
7
  var EvmProvider = class _EvmProvider {
8
8
  constructor(url) {
9
+ this.url = url;
9
10
  this.nativeProvider = new ethers.ethers.providers.JsonRpcProvider(url);
10
11
  }
11
12
  static from(source) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/providers/evm.ts","../src/signers/evm.ts"],"names":["ethers","SignedTransaction","TransactionPending","TransactionReceipt"],"mappings":"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","sourcesContent":["import { ethers } from 'ethers'\n\nimport {\n Block,\n BlockTag,\n BlockWithTransactions,\n Finality,\n Provider,\n SignedTransaction,\n TransactionPending,\n TransactionReceipt,\n TransactionResponse,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmProvider implements Provider {\n nativeProvider: ethers.providers.JsonRpcProvider\n\n constructor(url: string) {\n this.nativeProvider = new ethers.providers.JsonRpcProvider(url)\n }\n\n static from(url: string): EvmProvider\n\n static from(source: string): EvmProvider {\n if (typeof source === 'string') {\n return new EvmProvider(source)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n return (await this.nativeProvider.getBalance(address)).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n const response = await this.nativeProvider.getBlock(blockTag)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n const response = await this.nativeProvider.getBlockWithTransactions(blockTag)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider.getBlockNumber()\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getSlot(_finality?: Finality): Promise<number> {\n await Promise.resolve()\n throw new Error('Method not implemented.')\n }\n\n async getBlockTimestamp(blockTag: string | number): Promise<number> {\n return this.nativeProvider.getBlock(blockTag).then((block) => block.timestamp)\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n const response = await this.nativeProvider.getTransaction(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n const response = await this.nativeProvider.getTransactionReceipt(txHash)\n return TransactionReceipt.from(response)\n }\n\n async getTransactionCount(\n addressOrName: string | Promise<string>,\n blockTag?: BlockTag | Promise<BlockTag>\n ): Promise<number> {\n return this.nativeProvider.getTransactionCount(addressOrName, blockTag)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.sendTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n const pending = (await this.sendTransaction(transaction, opts)).pending as ethers.providers.TransactionResponse\n const response = await pending.wait()\n return TransactionReceipt.from(response)\n }\n}\n","import { ethers } from 'ethers'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmSigner implements Signer {\n private nativeSigner: ethers.Signer\n\n private constructor(signer: ethers.Signer) {\n this.nativeSigner = signer\n }\n\n static from(source: ethers.Signer): Signer\n static from(privKey: string): Signer\n static from(mnemonic: string, path: string): Signer\n\n static from(source: ethers.Signer | string, path?: string): Signer {\n if (source instanceof ethers.Signer) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n return new this(new ethers.Wallet(source))\n } else if (typeof source === 'string' && path !== undefined) {\n return new this(ethers.Wallet.fromMnemonic(source, path))\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider.native instanceof ethers.providers.Provider)) {\n throw new Error('Only ethers.providers.Provider is supported.')\n }\n\n this.nativeSigner = this.nativeSigner.connect(provider.native)\n return this\n }\n\n async getAddress(): Promise<string> {\n return this.nativeSigner.getAddress()\n }\n\n get address(): string {\n return (this.nativeSigner as ethers.Signer & { address: string }).address\n }\n\n async sendAndConfirm(\n transaction: SignedTransaction,\n opts?: { confirmations?: number }\n ): Promise<TransactionReceipt> {\n const pending = await this.sendTransaction(transaction)\n const response = pending.pending as ethers.providers.TransactionResponse\n const receipt = await response.wait(opts?.confirmations)\n return TransactionReceipt.from(receipt)\n }\n\n async sendTransaction(transaction: SignedTransaction): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<ethers.providers.Provider['sendTransaction']>[0]\n const stx = transaction.signed as NativeSignedTransaction\n if (this.nativeSigner.provider === undefined) {\n throw new Error('No provider attached to the signer')\n }\n\n const response = await this.nativeSigner.provider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n type NativeTransactionRequest = Parameters<ethers.Signer['populateTransaction']>[0]\n const tx = transaction.request as NativeTransactionRequest\n\n const populatedTransaction = await this.nativeSigner.populateTransaction(tx)\n const response = await this.nativeSigner.signTransaction(populatedTransaction)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const signedMessage = await this.nativeSigner.signMessage(buffer)\n return ethers.utils.arrayify(signedMessage)\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/providers/evm.ts","../src/signers/evm.ts"],"names":["ethers","SignedTransaction","TransactionPending","TransactionReceipt"],"mappings":"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","sourcesContent":["import { ethers } from 'ethers'\n\nimport {\n Block,\n BlockTag,\n BlockWithTransactions,\n Finality,\n Provider,\n SignedTransaction,\n TransactionPending,\n TransactionReceipt,\n TransactionResponse,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmProvider implements Provider {\n nativeProvider: ethers.providers.JsonRpcProvider\n\n constructor(public url: string) {\n this.nativeProvider = new ethers.providers.JsonRpcProvider(url)\n }\n\n static from(url: string): EvmProvider\n\n static from(source: string): EvmProvider {\n if (typeof source === 'string') {\n return new EvmProvider(source)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n return (await this.nativeProvider.getBalance(address)).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n const response = await this.nativeProvider.getBlock(blockTag)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n const response = await this.nativeProvider.getBlockWithTransactions(blockTag)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider.getBlockNumber()\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getSlot(_finality?: Finality): Promise<number> {\n await Promise.resolve()\n throw new Error('Method not implemented.')\n }\n\n async getBlockTimestamp(blockTag: string | number): Promise<number> {\n return this.nativeProvider.getBlock(blockTag).then((block) => block.timestamp)\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n const response = await this.nativeProvider.getTransaction(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n const response = await this.nativeProvider.getTransactionReceipt(txHash)\n return TransactionReceipt.from(response)\n }\n\n async getTransactionCount(\n addressOrName: string | Promise<string>,\n blockTag?: BlockTag | Promise<BlockTag>\n ): Promise<number> {\n return this.nativeProvider.getTransactionCount(addressOrName, blockTag)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.sendTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n const pending = (await this.sendTransaction(transaction, opts)).pending as ethers.providers.TransactionResponse\n const response = await pending.wait()\n return TransactionReceipt.from(response)\n }\n}\n","import { ethers } from 'ethers'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmSigner implements Signer {\n private nativeSigner: ethers.Signer\n\n private constructor(signer: ethers.Signer) {\n this.nativeSigner = signer\n }\n\n static from(source: ethers.Signer): Signer\n static from(privKey: string): Signer\n static from(mnemonic: string, path: string): Signer\n\n static from(source: ethers.Signer | string, path?: string): Signer {\n if (source instanceof ethers.Signer) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n return new this(new ethers.Wallet(source))\n } else if (typeof source === 'string' && path !== undefined) {\n return new this(ethers.Wallet.fromMnemonic(source, path))\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider.native instanceof ethers.providers.Provider)) {\n throw new Error('Only ethers.providers.Provider is supported.')\n }\n\n this.nativeSigner = this.nativeSigner.connect(provider.native)\n return this\n }\n\n async getAddress(): Promise<string> {\n return this.nativeSigner.getAddress()\n }\n\n get address(): string {\n return (this.nativeSigner as ethers.Signer & { address: string }).address\n }\n\n async sendAndConfirm(\n transaction: SignedTransaction,\n opts?: { confirmations?: number }\n ): Promise<TransactionReceipt> {\n const pending = await this.sendTransaction(transaction)\n const response = pending.pending as ethers.providers.TransactionResponse\n const receipt = await response.wait(opts?.confirmations)\n return TransactionReceipt.from(receipt)\n }\n\n async sendTransaction(transaction: SignedTransaction): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<ethers.providers.Provider['sendTransaction']>[0]\n const stx = transaction.signed as NativeSignedTransaction\n if (this.nativeSigner.provider === undefined) {\n throw new Error('No provider attached to the signer')\n }\n\n const response = await this.nativeSigner.provider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n type NativeTransactionRequest = Parameters<ethers.Signer['populateTransaction']>[0]\n const tx = transaction.request as NativeTransactionRequest\n\n const populatedTransaction = await this.nativeSigner.populateTransaction(tx)\n const response = await this.nativeSigner.signTransaction(populatedTransaction)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const signedMessage = await this.nativeSigner.signMessage(buffer)\n return ethers.utils.arrayify(signedMessage)\n }\n}\n"]}
package/dist/index.d.mts CHANGED
@@ -2,6 +2,7 @@ import { ethers } from 'ethers';
2
2
  import { Provider, Block, BlockWithTransactions, Finality, TransactionResponse, TransactionReceipt, BlockTag, SignedTransaction, TransactionPending, Signer, TransactionRequest } from '@layerzerolabs/lz-core';
3
3
 
4
4
  declare class EvmProvider implements Provider {
5
+ url: string;
5
6
  nativeProvider: ethers.providers.JsonRpcProvider;
6
7
  constructor(url: string);
7
8
  static from(url: string): EvmProvider;
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { ethers } from 'ethers';
2
2
  import { Provider, Block, BlockWithTransactions, Finality, TransactionResponse, TransactionReceipt, BlockTag, SignedTransaction, TransactionPending, Signer, TransactionRequest } from '@layerzerolabs/lz-core';
3
3
 
4
4
  declare class EvmProvider implements Provider {
5
+ url: string;
5
6
  nativeProvider: ethers.providers.JsonRpcProvider;
6
7
  constructor(url: string);
7
8
  static from(url: string): EvmProvider;
package/dist/index.mjs CHANGED
@@ -4,6 +4,7 @@ import { Block, BlockWithTransactions, TransactionResponse, TransactionReceipt,
4
4
  // src/providers/evm.ts
5
5
  var EvmProvider = class _EvmProvider {
6
6
  constructor(url) {
7
+ this.url = url;
7
8
  this.nativeProvider = new ethers.providers.JsonRpcProvider(url);
8
9
  }
9
10
  static from(source) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/providers/evm.ts","../src/signers/evm.ts"],"names":["ethers","SignedTransaction","TransactionPending","TransactionReceipt"],"mappings":"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","sourcesContent":["import { ethers } from 'ethers'\n\nimport {\n Block,\n BlockTag,\n BlockWithTransactions,\n Finality,\n Provider,\n SignedTransaction,\n TransactionPending,\n TransactionReceipt,\n TransactionResponse,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmProvider implements Provider {\n nativeProvider: ethers.providers.JsonRpcProvider\n\n constructor(url: string) {\n this.nativeProvider = new ethers.providers.JsonRpcProvider(url)\n }\n\n static from(url: string): EvmProvider\n\n static from(source: string): EvmProvider {\n if (typeof source === 'string') {\n return new EvmProvider(source)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n return (await this.nativeProvider.getBalance(address)).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n const response = await this.nativeProvider.getBlock(blockTag)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n const response = await this.nativeProvider.getBlockWithTransactions(blockTag)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider.getBlockNumber()\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getSlot(_finality?: Finality): Promise<number> {\n await Promise.resolve()\n throw new Error('Method not implemented.')\n }\n\n async getBlockTimestamp(blockTag: string | number): Promise<number> {\n return this.nativeProvider.getBlock(blockTag).then((block) => block.timestamp)\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n const response = await this.nativeProvider.getTransaction(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n const response = await this.nativeProvider.getTransactionReceipt(txHash)\n return TransactionReceipt.from(response)\n }\n\n async getTransactionCount(\n addressOrName: string | Promise<string>,\n blockTag?: BlockTag | Promise<BlockTag>\n ): Promise<number> {\n return this.nativeProvider.getTransactionCount(addressOrName, blockTag)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.sendTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n const pending = (await this.sendTransaction(transaction, opts)).pending as ethers.providers.TransactionResponse\n const response = await pending.wait()\n return TransactionReceipt.from(response)\n }\n}\n","import { ethers } from 'ethers'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmSigner implements Signer {\n private nativeSigner: ethers.Signer\n\n private constructor(signer: ethers.Signer) {\n this.nativeSigner = signer\n }\n\n static from(source: ethers.Signer): Signer\n static from(privKey: string): Signer\n static from(mnemonic: string, path: string): Signer\n\n static from(source: ethers.Signer | string, path?: string): Signer {\n if (source instanceof ethers.Signer) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n return new this(new ethers.Wallet(source))\n } else if (typeof source === 'string' && path !== undefined) {\n return new this(ethers.Wallet.fromMnemonic(source, path))\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider.native instanceof ethers.providers.Provider)) {\n throw new Error('Only ethers.providers.Provider is supported.')\n }\n\n this.nativeSigner = this.nativeSigner.connect(provider.native)\n return this\n }\n\n async getAddress(): Promise<string> {\n return this.nativeSigner.getAddress()\n }\n\n get address(): string {\n return (this.nativeSigner as ethers.Signer & { address: string }).address\n }\n\n async sendAndConfirm(\n transaction: SignedTransaction,\n opts?: { confirmations?: number }\n ): Promise<TransactionReceipt> {\n const pending = await this.sendTransaction(transaction)\n const response = pending.pending as ethers.providers.TransactionResponse\n const receipt = await response.wait(opts?.confirmations)\n return TransactionReceipt.from(receipt)\n }\n\n async sendTransaction(transaction: SignedTransaction): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<ethers.providers.Provider['sendTransaction']>[0]\n const stx = transaction.signed as NativeSignedTransaction\n if (this.nativeSigner.provider === undefined) {\n throw new Error('No provider attached to the signer')\n }\n\n const response = await this.nativeSigner.provider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n type NativeTransactionRequest = Parameters<ethers.Signer['populateTransaction']>[0]\n const tx = transaction.request as NativeTransactionRequest\n\n const populatedTransaction = await this.nativeSigner.populateTransaction(tx)\n const response = await this.nativeSigner.signTransaction(populatedTransaction)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const signedMessage = await this.nativeSigner.signMessage(buffer)\n return ethers.utils.arrayify(signedMessage)\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/providers/evm.ts","../src/signers/evm.ts"],"names":["ethers","SignedTransaction","TransactionPending","TransactionReceipt"],"mappings":";AAAA,SAAS,cAAc;AAEvB;AAAA,EACI;AAAA,EAEA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEA,IAAM,cAAN,MAAM,aAAgC;AAAA,EAGzC,YAAmB,KAAa;AAAb;AACf,SAAK,iBAAiB,IAAI,OAAO,UAAU,gBAAgB,GAAG;AAAA,EAClE;AAAA,EAIA,OAAO,KAAK,QAA6B;AACrC,QAAI,OAAO,WAAW,UAAU;AAC5B,aAAO,IAAI,aAAY,MAAM;AAAA,IACjC,OAAO;AACH,YAAM,IAAI,MAAM,oBAAoB;AAAA,IACxC;AAAA,EACJ;AAAA,EAEA,IAAI,SAAkB;AAClB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,WAAW,SAAkC;AAC/C,YAAQ,MAAM,KAAK,eAAe,WAAW,OAAO,GAAG,SAAS;AAAA,EACpE;AAAA,EAEA,MAAM,SAAS,UAA2C;AACtD,UAAM,WAAW,MAAM,KAAK,eAAe,SAAS,QAAQ;AAC5D,WAAO,MAAM,KAAK,QAAQ;AAAA,EAC9B;AAAA,EAEA,MAAM,yBAAyB,UAA2D;AACtF,UAAM,WAAW,MAAM,KAAK,eAAe,yBAAyB,QAAQ;AAC5E,WAAO,sBAAsB,KAAK,QAAQ;AAAA,EAC9C;AAAA,EAEA,MAAM,iBAAkC;AACpC,WAAO,KAAK,eAAe,eAAe;AAAA,EAC9C;AAAA;AAAA,EAGA,MAAM,QAAQ,WAAuC;AACjD,UAAM,QAAQ,QAAQ;AACtB,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAAA,EAEA,MAAM,kBAAkB,UAA4C;AAChE,WAAO,KAAK,eAAe,SAAS,QAAQ,EAAE,KAAK,CAAC,UAAU,MAAM,SAAS;AAAA,EACjF;AAAA,EAEA,MAAM,eAAe,QAA8C;AAC/D,UAAM,WAAW,MAAM,KAAK,eAAe,eAAe,MAAM;AAChE,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAC5C;AAAA,EAEA,MAAM,sBAAsB,QAA6C;AACrE,UAAM,WAAW,MAAM,KAAK,eAAe,sBAAsB,MAAM;AACvE,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAC3C;AAAA,EAEA,MAAM,oBACF,eACA,UACe;AACf,WAAO,KAAK,eAAe,oBAAoB,eAAe,QAAQ;AAAA,EAC1E;AAAA,EAEA,MAAM,gBAAgB,aAAgC,cAAoD;AAEtG,UAAM,MAAM,YAAY;AAExB,UAAM,WAAW,MAAM,KAAK,eAAe,gBAAgB,GAAG;AAC9D,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAC3C;AAAA,EAEA,MAAM,eAAe,aAAgC,MAA4C;AAC7F,UAAM,WAAW,MAAM,KAAK,gBAAgB,aAAa,IAAI,GAAG;AAChE,UAAM,WAAW,MAAM,QAAQ,KAAK;AACpC,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAC3C;AACJ;;;AC7FA,SAAS,UAAAA,eAAc;AAEvB;AAAA,EAEI,qBAAAC;AAAA,EAEA,sBAAAC;AAAA,EACA,sBAAAC;AAAA,OAEG;AAEA,IAAM,YAAN,MAAkC;AAAA,EAG7B,YAAY,QAAuB;AACvC,SAAK,eAAe;AAAA,EACxB;AAAA,EAMA,OAAO,KAAK,QAAgC,MAAuB;AAC/D,QAAI,kBAAkBH,QAAO,QAAQ;AACjC,aAAO,IAAI,KAAK,MAAM;AAAA,IAC1B,WAAW,OAAO,WAAW,YAAY,SAAS,QAAW;AACzD,aAAO,IAAI,KAAK,IAAIA,QAAO,OAAO,MAAM,CAAC;AAAA,IAC7C,WAAW,OAAO,WAAW,YAAY,SAAS,QAAW;AACzD,aAAO,IAAI,KAAKA,QAAO,OAAO,aAAa,QAAQ,IAAI,CAAC;AAAA,IAC5D,OAAO;AACH,YAAM,IAAI,MAAM,oBAAoB;AAAA,IACxC;AAAA,EACJ;AAAA,EAEA,IAAI,SAAkB;AAClB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,QAAQ,UAA4B;AAChC,QAAI,EAAE,SAAS,kBAAkBA,QAAO,UAAU,WAAW;AACzD,YAAM,IAAI,MAAM,8CAA8C;AAAA,IAClE;AAEA,SAAK,eAAe,KAAK,aAAa,QAAQ,SAAS,MAAM;AAC7D,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,aAA8B;AAChC,WAAO,KAAK,aAAa,WAAW;AAAA,EACxC;AAAA,EAEA,IAAI,UAAkB;AAClB,WAAQ,KAAK,aAAqD;AAAA,EACtE;AAAA,EAEA,MAAM,eACF,aACA,MAC2B;AAC3B,UAAM,UAAU,MAAM,KAAK,gBAAgB,WAAW;AACtD,UAAM,WAAW,QAAQ;AACzB,UAAM,UAAU,MAAM,SAAS,KAAK,MAAM,aAAa;AACvD,WAAOG,oBAAmB,KAAK,OAAO;AAAA,EAC1C;AAAA,EAEA,MAAM,gBAAgB,aAA6D;AAE/E,UAAM,MAAM,YAAY;AACxB,QAAI,KAAK,aAAa,aAAa,QAAW;AAC1C,YAAM,IAAI,MAAM,oCAAoC;AAAA,IACxD;AAEA,UAAM,WAAW,MAAM,KAAK,aAAa,SAAS,gBAAgB,GAAG;AACrE,WAAOD,oBAAmB,KAAK,QAAQ;AAAA,EAC3C;AAAA,EAEA,MAAM,gBAAgB,aAA6D;AAE/E,UAAM,KAAK,YAAY;AAEvB,UAAM,uBAAuB,MAAM,KAAK,aAAa,oBAAoB,EAAE;AAC3E,UAAM,WAAW,MAAM,KAAK,aAAa,gBAAgB,oBAAoB;AAC7E,WAAOD,mBAAkB,KAAK,QAAQ;AAAA,EAC1C;AAAA,EAEA,MAAM,WAAW,QAAyC;AACtD,UAAM,gBAAgB,MAAM,KAAK,aAAa,YAAY,MAAM;AAChE,WAAOD,QAAO,MAAM,SAAS,aAAa;AAAA,EAC9C;AACJ","sourcesContent":["import { ethers } from 'ethers'\n\nimport {\n Block,\n BlockTag,\n BlockWithTransactions,\n Finality,\n Provider,\n SignedTransaction,\n TransactionPending,\n TransactionReceipt,\n TransactionResponse,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmProvider implements Provider {\n nativeProvider: ethers.providers.JsonRpcProvider\n\n constructor(public url: string) {\n this.nativeProvider = new ethers.providers.JsonRpcProvider(url)\n }\n\n static from(url: string): EvmProvider\n\n static from(source: string): EvmProvider {\n if (typeof source === 'string') {\n return new EvmProvider(source)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n return (await this.nativeProvider.getBalance(address)).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n const response = await this.nativeProvider.getBlock(blockTag)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n const response = await this.nativeProvider.getBlockWithTransactions(blockTag)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider.getBlockNumber()\n }\n\n // eslint-disable-next-line @typescript-eslint/require-await\n async getSlot(_finality?: Finality): Promise<number> {\n await Promise.resolve()\n throw new Error('Method not implemented.')\n }\n\n async getBlockTimestamp(blockTag: string | number): Promise<number> {\n return this.nativeProvider.getBlock(blockTag).then((block) => block.timestamp)\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n const response = await this.nativeProvider.getTransaction(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n const response = await this.nativeProvider.getTransactionReceipt(txHash)\n return TransactionReceipt.from(response)\n }\n\n async getTransactionCount(\n addressOrName: string | Promise<string>,\n blockTag?: BlockTag | Promise<BlockTag>\n ): Promise<number> {\n return this.nativeProvider.getTransactionCount(addressOrName, blockTag)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.sendTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n const pending = (await this.sendTransaction(transaction, opts)).pending as ethers.providers.TransactionResponse\n const response = await pending.wait()\n return TransactionReceipt.from(response)\n }\n}\n","import { ethers } from 'ethers'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\n\nexport class EvmSigner implements Signer {\n private nativeSigner: ethers.Signer\n\n private constructor(signer: ethers.Signer) {\n this.nativeSigner = signer\n }\n\n static from(source: ethers.Signer): Signer\n static from(privKey: string): Signer\n static from(mnemonic: string, path: string): Signer\n\n static from(source: ethers.Signer | string, path?: string): Signer {\n if (source instanceof ethers.Signer) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n return new this(new ethers.Wallet(source))\n } else if (typeof source === 'string' && path !== undefined) {\n return new this(ethers.Wallet.fromMnemonic(source, path))\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): unknown {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider.native instanceof ethers.providers.Provider)) {\n throw new Error('Only ethers.providers.Provider is supported.')\n }\n\n this.nativeSigner = this.nativeSigner.connect(provider.native)\n return this\n }\n\n async getAddress(): Promise<string> {\n return this.nativeSigner.getAddress()\n }\n\n get address(): string {\n return (this.nativeSigner as ethers.Signer & { address: string }).address\n }\n\n async sendAndConfirm(\n transaction: SignedTransaction,\n opts?: { confirmations?: number }\n ): Promise<TransactionReceipt> {\n const pending = await this.sendTransaction(transaction)\n const response = pending.pending as ethers.providers.TransactionResponse\n const receipt = await response.wait(opts?.confirmations)\n return TransactionReceipt.from(receipt)\n }\n\n async sendTransaction(transaction: SignedTransaction): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<ethers.providers.Provider['sendTransaction']>[0]\n const stx = transaction.signed as NativeSignedTransaction\n if (this.nativeSigner.provider === undefined) {\n throw new Error('No provider attached to the signer')\n }\n\n const response = await this.nativeSigner.provider.sendTransaction(stx)\n return TransactionPending.from(response)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n type NativeTransactionRequest = Parameters<ethers.Signer['populateTransaction']>[0]\n const tx = transaction.request as NativeTransactionRequest\n\n const populatedTransaction = await this.nativeSigner.populateTransaction(tx)\n const response = await this.nativeSigner.signTransaction(populatedTransaction)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const signedMessage = await this.nativeSigner.signMessage(buffer)\n return ethers.utils.arrayify(signedMessage)\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/lz-corekit-evm",
3
- "version": "2.3.42",
3
+ "version": "2.3.44",
4
4
  "description": "LayerZero Core Library",
5
5
  "license": "BUSL-1.1",
6
6
  "exports": {
@@ -23,10 +23,10 @@
23
23
  "clean-prebuild": "rimraf dist"
24
24
  },
25
25
  "dependencies": {
26
- "@layerzerolabs/lz-aptos-sdk-v1": "^2.3.42",
27
- "@layerzerolabs/lz-core": "^2.3.42",
28
- "@layerzerolabs/lz-utilities": "^2.3.42",
29
- "@layerzerolabs/tron-utilities": "^2.3.42",
26
+ "@layerzerolabs/lz-aptos-sdk-v1": "^2.3.44",
27
+ "@layerzerolabs/lz-core": "^2.3.44",
28
+ "@layerzerolabs/lz-utilities": "^2.3.44",
29
+ "@layerzerolabs/tron-utilities": "^2.3.44",
30
30
  "aptos": "^1.20.0",
31
31
  "bip39": "^3.1.0",
32
32
  "ed25519-hd-key": "^1.3.0",
@@ -38,8 +38,8 @@
38
38
  "devDependencies": {
39
39
  "@jest/globals": "^29.7.0",
40
40
  "@layerzerolabs/tronweb-typescript": "^0.0.0",
41
- "@layerzerolabs/tsup-config-next": "^2.3.42",
42
- "@layerzerolabs/typescript-config-next": "^2.3.42",
41
+ "@layerzerolabs/tsup-config-next": "^2.3.44",
42
+ "@layerzerolabs/typescript-config-next": "^2.3.44",
43
43
  "@types/jest": "^29.5.10",
44
44
  "@types/tronweb": "npm:@layerzerolabs/tronweb-typescript@workspace:^",
45
45
  "jest": "^29.7.0",