@layerzerolabs/lz-corekit-aptos 2.3.45-initia-oft.5 → 3.0.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/CHANGELOG.md +8 -60
- package/dist/index.cjs +3 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +2 -5
- package/dist/index.d.ts +2 -5
- package/dist/index.mjs +3 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,70 +1,18 @@
|
|
|
1
1
|
# @layerzerolabs/lz-corekit-aptos
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 3.0.0
|
|
4
4
|
|
|
5
|
-
###
|
|
6
|
-
|
|
7
|
-
- Build Initia,aptos,movement,bsc snapshot images with newest images
|
|
8
|
-
- Updated dependencies
|
|
9
|
-
- @layerzerolabs/lz-core@2.3.45-initia-oft.5
|
|
10
|
-
- @layerzerolabs/tron-utilities@2.3.45-initia-oft.5
|
|
11
|
-
- @layerzerolabs/lz-utilities@2.3.45-initia-oft.5
|
|
12
|
-
- @layerzerolabs/lz-aptos-sdk-v1@2.3.45-initia-oft.5
|
|
13
|
-
|
|
14
|
-
## 2.3.45-initia-oft.4
|
|
15
|
-
|
|
16
|
-
### Patch Changes
|
|
17
|
-
|
|
18
|
-
- Build initia images with newest contracts
|
|
19
|
-
- Updated dependencies
|
|
20
|
-
- @layerzerolabs/lz-core@2.3.45-initia-oft.4
|
|
21
|
-
- @layerzerolabs/tron-utilities@2.3.45-initia-oft.4
|
|
22
|
-
- @layerzerolabs/lz-utilities@2.3.45-initia-oft.4
|
|
23
|
-
- @layerzerolabs/lz-aptos-sdk-v1@2.3.45-initia-oft.4
|
|
24
|
-
|
|
25
|
-
## 2.3.45-initia-oft.3
|
|
26
|
-
|
|
27
|
-
### Patch Changes
|
|
28
|
-
|
|
29
|
-
- Fix Aptos OFT SDK to fit newest contracts
|
|
30
|
-
- Updated dependencies
|
|
31
|
-
- @layerzerolabs/lz-core@2.3.45-initia-oft.3
|
|
32
|
-
- @layerzerolabs/tron-utilities@2.3.45-initia-oft.3
|
|
33
|
-
- @layerzerolabs/lz-utilities@2.3.45-initia-oft.3
|
|
34
|
-
- @layerzerolabs/lz-aptos-sdk-v1@2.3.45-initia-oft.3
|
|
35
|
-
|
|
36
|
-
## 2.3.45-initia-oft.2
|
|
37
|
-
|
|
38
|
-
### Patch Changes
|
|
39
|
-
|
|
40
|
-
- Fix bug in Initia OFT sdk
|
|
41
|
-
- Updated dependencies
|
|
42
|
-
- @layerzerolabs/lz-core@2.3.45-initia-oft.2
|
|
43
|
-
- @layerzerolabs/tron-utilities@2.3.45-initia-oft.2
|
|
44
|
-
- @layerzerolabs/lz-utilities@2.3.45-initia-oft.2
|
|
45
|
-
- @layerzerolabs/lz-aptos-sdk-v1@2.3.45-initia-oft.2
|
|
5
|
+
### Major Changes
|
|
46
6
|
|
|
47
|
-
|
|
7
|
+
- 095d9bf: oft v2
|
|
48
8
|
|
|
49
9
|
### Patch Changes
|
|
50
10
|
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
- @layerzerolabs/
|
|
54
|
-
- @layerzerolabs/
|
|
55
|
-
- @layerzerolabs/lz-
|
|
56
|
-
- @layerzerolabs/lz-aptos-sdk-v1@2.3.45-initia-oft.1
|
|
57
|
-
|
|
58
|
-
## 2.3.45-initia-oft.0
|
|
59
|
-
|
|
60
|
-
### Patch Changes
|
|
61
|
-
|
|
62
|
-
- Build new initia images with testnet deployments
|
|
63
|
-
- Updated dependencies
|
|
64
|
-
- @layerzerolabs/lz-core@2.3.45-initia-oft.0
|
|
65
|
-
- @layerzerolabs/tron-utilities@2.3.45-initia-oft.0
|
|
66
|
-
- @layerzerolabs/lz-utilities@2.3.45-initia-oft.0
|
|
67
|
-
- @layerzerolabs/lz-aptos-sdk-v1@2.3.45-initia-oft.0
|
|
11
|
+
- Updated dependencies [095d9bf]
|
|
12
|
+
- @layerzerolabs/lz-core@3.0.0
|
|
13
|
+
- @layerzerolabs/tron-utilities@3.0.0
|
|
14
|
+
- @layerzerolabs/lz-utilities@3.0.0
|
|
15
|
+
- @layerzerolabs/lz-aptos-sdk-v1@3.0.0
|
|
68
16
|
|
|
69
17
|
## 2.3.44
|
|
70
18
|
|
package/dist/index.cjs
CHANGED
|
@@ -27,15 +27,13 @@ var aptos2__namespace = /*#__PURE__*/_interopNamespace(aptos2);
|
|
|
27
27
|
|
|
28
28
|
// src/providers/aptos.ts
|
|
29
29
|
var AptosProvider = class _AptosProvider {
|
|
30
|
-
constructor(url
|
|
30
|
+
constructor(url) {
|
|
31
31
|
this.url = url;
|
|
32
|
-
this.faucet = faucet;
|
|
33
|
-
this.indexer = indexer;
|
|
34
32
|
this.nativeProvider = new aptos2__namespace.AptosClient(url);
|
|
35
33
|
}
|
|
36
|
-
static from(source
|
|
34
|
+
static from(source) {
|
|
37
35
|
if (typeof source === "string") {
|
|
38
|
-
return new _AptosProvider(source
|
|
36
|
+
return new _AptosProvider(source);
|
|
39
37
|
} else {
|
|
40
38
|
throw new Error("Invalid parameters");
|
|
41
39
|
}
|
|
@@ -126,10 +124,6 @@ var AptosProvider = class _AptosProvider {
|
|
|
126
124
|
async sendAndConfirm(transaction, opts) {
|
|
127
125
|
const pending = (await this.sendTransaction(transaction, opts)).pending;
|
|
128
126
|
const response = await this.nativeProvider.waitForTransactionWithResult(pending.hash);
|
|
129
|
-
const userTransaction = response;
|
|
130
|
-
if (!userTransaction.success) {
|
|
131
|
-
throw new Error(`aptos transaction failed ,vm_status: ${userTransaction.vm_status}`);
|
|
132
|
-
}
|
|
133
127
|
return lzCore.TransactionReceipt.from(response);
|
|
134
128
|
}
|
|
135
129
|
};
|
|
@@ -192,9 +186,6 @@ var AptosSigner = class {
|
|
|
192
186
|
const rv = this.nativeSigner.signBuffer(Buffer.from(buffer)).toUint8Array();
|
|
193
187
|
return Promise.resolve(rv);
|
|
194
188
|
}
|
|
195
|
-
async buildTransaction(buildTxRequest) {
|
|
196
|
-
return Promise.reject(new Error("Method not implemented."));
|
|
197
|
-
}
|
|
198
189
|
};
|
|
199
190
|
|
|
200
191
|
exports.AptosProvider = AptosProvider;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/aptos.ts","../src/signers/aptos.ts"],"names":["aptos","SignedTransaction"],"mappings":"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","sourcesContent":["import * as aptos from 'aptos'\nimport { BigNumber } 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'\nimport { isHexString } from '@layerzerolabs/lz-utilities'\n\nexport class AptosProvider implements Provider {\n readonly nativeProvider: aptos.AptosClient\n\n private constructor(\n public readonly url: string,\n public readonly faucet?: string,\n public readonly indexer?: string\n ) {\n this.nativeProvider = new aptos.AptosClient(url)\n }\n static from(source: string, faucet?: string, indexer?: string): AptosProvider {\n if (typeof source === 'string') {\n return new AptosProvider(source, faucet, indexer)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): aptos.AptosClient {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n if (!isHexString(address)) {\n throw new Error('Invalid Aptos address')\n }\n\n const aptosCoin = '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>'\n const resources = await this.nativeProvider.getAccountResources(address)\n const accountResource = resources.find((r) => r.type === aptosCoin)\n if (accountResource === undefined) {\n throw new Error('Account resource not found')\n }\n\n const { coin } = accountResource.data as { coin: { value: string } }\n return BigInt(coin.value).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.getBlockNumber()\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber, true)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n }\n\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 if (typeof blockTag === 'number') {\n return this.nativeProvider\n .getBlockByHeight(blockTag)\n .then((block) => BigNumber.from(block.block_timestamp).toNumber())\n } else if (blockTag === 'latest') {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.ledger_timestamp).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(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 const _addressOrName = await Promise.resolve(addressOrName)\n if (!isHexString(_addressOrName)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getAccount(_addressOrName)\n return parseInt(response.sequence_number)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.submitSignedBCSTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.submitSignedBCSTransaction(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 aptos.Types.PendingTransaction\n const response = await this.nativeProvider.waitForTransactionWithResult(pending.hash)\n const userTransaction = response as aptos.Types.UserTransaction\n if (!userTransaction.success) {\n throw new Error(`aptos transaction failed ,vm_status: ${userTransaction.vm_status}`)\n }\n return TransactionReceipt.from(response)\n }\n}\n","import * as aptos from 'aptos'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\nimport { trim0x } from '@layerzerolabs/lz-utilities'\n\nimport { AptosProvider } from '../providers'\n\nexport class AptosSigner implements Signer {\n public nativeSigner: aptos.AptosAccount\n public provider: AptosProvider | undefined\n\n private constructor(signer: aptos.AptosAccount) {\n this.nativeSigner = signer\n }\n\n static from(signer: aptos.AptosAccount): Signer\n static from(privKey: string): Signer\n /**\n *\n * @param mnemonic\n * @param path e.g. m/44'/637'/0'/0'/0'\n */\n static from(mnemonic: string, path: string): Signer\n\n static from(source: string | aptos.AptosAccount, path?: string): Signer {\n if (source instanceof aptos.AptosAccount) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n const signer = new aptos.AptosAccount(Buffer.from(trim0x(source)))\n return new this(signer)\n } else if (typeof source === 'string' && path !== undefined) {\n if (path.startsWith('m/')) {\n const signer = aptos.AptosAccount.fromDerivePath(path, source)\n return new this(signer)\n }\n }\n throw new Error('Invalid parameters')\n }\n\n get native(): aptos.AptosAccount {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Only aptos.AptosClient is supported.')\n }\n\n this.provider = provider\n return this\n }\n\n async getAddress(): Promise<string> {\n return Promise.resolve(this.nativeSigner.address().toString())\n }\n\n get address(): string {\n return this.nativeSigner.address().toString()\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendAndConfirm(transaction, opts)\n }\n\n async sendTransaction(transaction: SignedTransaction, sendOptions?: object): Promise<TransactionPending> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendTransaction(transaction, sendOptions)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n const nativeProvider = this.provider?.native\n if (nativeProvider === undefined) {\n throw new Error('Connect the native provider first with AptosSigner.connect()')\n }\n\n type NativeTransactionRequest = Parameters<aptos.AptosClient['signTransaction']>[1]\n const tx = transaction.request as NativeTransactionRequest\n\n // signTransaction is an offline operation\n const response = await nativeProvider.signTransaction(this.nativeSigner, tx)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const rv = this.nativeSigner.signBuffer(Buffer.from(buffer)).toUint8Array()\n return Promise.resolve(rv)\n }\n async buildTransaction(buildTxRequest: unknown): Promise<TransactionRequest> {\n return Promise.reject(new Error('Method not implemented.'))\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/providers/aptos.ts","../src/signers/aptos.ts"],"names":["aptos","SignedTransaction"],"mappings":"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","sourcesContent":["import * as aptos from 'aptos'\nimport { BigNumber } 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'\nimport { isHexString } from '@layerzerolabs/lz-utilities'\n\nexport class AptosProvider implements Provider {\n readonly nativeProvider: aptos.AptosClient\n\n private constructor(public url: string) {\n this.nativeProvider = new aptos.AptosClient(url)\n }\n\n static from(url: string): AptosProvider\n static from(source: string): AptosProvider {\n if (typeof source === 'string') {\n return new AptosProvider(source)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): aptos.AptosClient {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n if (!isHexString(address)) {\n throw new Error('Invalid Aptos address')\n }\n\n const aptosCoin = '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>'\n const resources = await this.nativeProvider.getAccountResources(address)\n const accountResource = resources.find((r) => r.type === aptosCoin)\n if (accountResource === undefined) {\n throw new Error('Account resource not found')\n }\n\n const { coin } = accountResource.data as { coin: { value: string } }\n return BigInt(coin.value).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.getBlockNumber()\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber, true)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n }\n\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 if (typeof blockTag === 'number') {\n return this.nativeProvider\n .getBlockByHeight(blockTag)\n .then((block) => BigNumber.from(block.block_timestamp).toNumber())\n } else if (blockTag === 'latest') {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.ledger_timestamp).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(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 const _addressOrName = await Promise.resolve(addressOrName)\n if (!isHexString(_addressOrName)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getAccount(_addressOrName)\n return parseInt(response.sequence_number)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.submitSignedBCSTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.submitSignedBCSTransaction(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 aptos.Types.PendingTransaction\n const response = await this.nativeProvider.waitForTransactionWithResult(pending.hash)\n return TransactionReceipt.from(response)\n }\n}\n","import * as aptos from 'aptos'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\nimport { trim0x } from '@layerzerolabs/lz-utilities'\n\nimport { AptosProvider } from '../providers'\n\nexport class AptosSigner implements Signer {\n public nativeSigner: aptos.AptosAccount\n public provider: AptosProvider | undefined\n\n private constructor(signer: aptos.AptosAccount) {\n this.nativeSigner = signer\n }\n\n static from(signer: aptos.AptosAccount): Signer\n static from(privKey: string): Signer\n /**\n *\n * @param mnemonic\n * @param path e.g. m/44'/637'/0'/0'/0'\n */\n static from(mnemonic: string, path: string): Signer\n\n static from(source: string | aptos.AptosAccount, path?: string): Signer {\n if (source instanceof aptos.AptosAccount) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n const signer = new aptos.AptosAccount(Buffer.from(trim0x(source)))\n return new this(signer)\n } else if (typeof source === 'string' && path !== undefined) {\n if (path.startsWith('m/')) {\n const signer = aptos.AptosAccount.fromDerivePath(path, source)\n return new this(signer)\n }\n }\n throw new Error('Invalid parameters')\n }\n\n get native(): aptos.AptosAccount {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Only aptos.AptosClient is supported.')\n }\n\n this.provider = provider\n return this\n }\n\n async getAddress(): Promise<string> {\n return Promise.resolve(this.nativeSigner.address().toString())\n }\n\n get address(): string {\n return this.nativeSigner.address().toString()\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendAndConfirm(transaction, opts)\n }\n\n async sendTransaction(transaction: SignedTransaction, sendOptions?: object): Promise<TransactionPending> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendTransaction(transaction, sendOptions)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n const nativeProvider = this.provider?.native\n if (nativeProvider === undefined) {\n throw new Error('Connect the native provider first with AptosSigner.connect()')\n }\n\n type NativeTransactionRequest = Parameters<aptos.AptosClient['signTransaction']>[1]\n const tx = transaction.request as NativeTransactionRequest\n\n // signTransaction is an offline operation\n const response = await nativeProvider.signTransaction(this.nativeSigner, tx)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const rv = this.nativeSigner.signBuffer(Buffer.from(buffer)).toUint8Array()\n return Promise.resolve(rv)\n }\n}\n"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -2,12 +2,10 @@ import * as aptos from 'aptos';
|
|
|
2
2
|
import { Provider, Block, BlockWithTransactions, Finality, TransactionResponse, TransactionReceipt, BlockTag, SignedTransaction, TransactionPending, Signer, TransactionRequest } from '@layerzerolabs/lz-core';
|
|
3
3
|
|
|
4
4
|
declare class AptosProvider implements Provider {
|
|
5
|
-
|
|
6
|
-
readonly faucet?: string | undefined;
|
|
7
|
-
readonly indexer?: string | undefined;
|
|
5
|
+
url: string;
|
|
8
6
|
readonly nativeProvider: aptos.AptosClient;
|
|
9
7
|
private constructor();
|
|
10
|
-
static from(
|
|
8
|
+
static from(url: string): AptosProvider;
|
|
11
9
|
get native(): aptos.AptosClient;
|
|
12
10
|
getBalance(address: string): Promise<string>;
|
|
13
11
|
getBlock(blockTag: string | number): Promise<Block>;
|
|
@@ -42,7 +40,6 @@ declare class AptosSigner implements Signer {
|
|
|
42
40
|
sendTransaction(transaction: SignedTransaction, sendOptions?: object): Promise<TransactionPending>;
|
|
43
41
|
signTransaction(transaction: TransactionRequest): Promise<SignedTransaction>;
|
|
44
42
|
signBuffer(buffer: Uint8Array): Promise<Uint8Array>;
|
|
45
|
-
buildTransaction(buildTxRequest: unknown): Promise<TransactionRequest>;
|
|
46
43
|
}
|
|
47
44
|
|
|
48
45
|
export { AptosProvider, AptosSigner };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,12 +2,10 @@ import * as aptos from 'aptos';
|
|
|
2
2
|
import { Provider, Block, BlockWithTransactions, Finality, TransactionResponse, TransactionReceipt, BlockTag, SignedTransaction, TransactionPending, Signer, TransactionRequest } from '@layerzerolabs/lz-core';
|
|
3
3
|
|
|
4
4
|
declare class AptosProvider implements Provider {
|
|
5
|
-
|
|
6
|
-
readonly faucet?: string | undefined;
|
|
7
|
-
readonly indexer?: string | undefined;
|
|
5
|
+
url: string;
|
|
8
6
|
readonly nativeProvider: aptos.AptosClient;
|
|
9
7
|
private constructor();
|
|
10
|
-
static from(
|
|
8
|
+
static from(url: string): AptosProvider;
|
|
11
9
|
get native(): aptos.AptosClient;
|
|
12
10
|
getBalance(address: string): Promise<string>;
|
|
13
11
|
getBlock(blockTag: string | number): Promise<Block>;
|
|
@@ -42,7 +40,6 @@ declare class AptosSigner implements Signer {
|
|
|
42
40
|
sendTransaction(transaction: SignedTransaction, sendOptions?: object): Promise<TransactionPending>;
|
|
43
41
|
signTransaction(transaction: TransactionRequest): Promise<SignedTransaction>;
|
|
44
42
|
signBuffer(buffer: Uint8Array): Promise<Uint8Array>;
|
|
45
|
-
buildTransaction(buildTxRequest: unknown): Promise<TransactionRequest>;
|
|
46
43
|
}
|
|
47
44
|
|
|
48
45
|
export { AptosProvider, AptosSigner };
|
package/dist/index.mjs
CHANGED
|
@@ -5,15 +5,13 @@ import { isHexString, trim0x } from '@layerzerolabs/lz-utilities';
|
|
|
5
5
|
|
|
6
6
|
// src/providers/aptos.ts
|
|
7
7
|
var AptosProvider = class _AptosProvider {
|
|
8
|
-
constructor(url
|
|
8
|
+
constructor(url) {
|
|
9
9
|
this.url = url;
|
|
10
|
-
this.faucet = faucet;
|
|
11
|
-
this.indexer = indexer;
|
|
12
10
|
this.nativeProvider = new aptos2.AptosClient(url);
|
|
13
11
|
}
|
|
14
|
-
static from(source
|
|
12
|
+
static from(source) {
|
|
15
13
|
if (typeof source === "string") {
|
|
16
|
-
return new _AptosProvider(source
|
|
14
|
+
return new _AptosProvider(source);
|
|
17
15
|
} else {
|
|
18
16
|
throw new Error("Invalid parameters");
|
|
19
17
|
}
|
|
@@ -104,10 +102,6 @@ var AptosProvider = class _AptosProvider {
|
|
|
104
102
|
async sendAndConfirm(transaction, opts) {
|
|
105
103
|
const pending = (await this.sendTransaction(transaction, opts)).pending;
|
|
106
104
|
const response = await this.nativeProvider.waitForTransactionWithResult(pending.hash);
|
|
107
|
-
const userTransaction = response;
|
|
108
|
-
if (!userTransaction.success) {
|
|
109
|
-
throw new Error(`aptos transaction failed ,vm_status: ${userTransaction.vm_status}`);
|
|
110
|
-
}
|
|
111
105
|
return TransactionReceipt.from(response);
|
|
112
106
|
}
|
|
113
107
|
};
|
|
@@ -170,9 +164,6 @@ var AptosSigner = class {
|
|
|
170
164
|
const rv = this.nativeSigner.signBuffer(Buffer.from(buffer)).toUint8Array();
|
|
171
165
|
return Promise.resolve(rv);
|
|
172
166
|
}
|
|
173
|
-
async buildTransaction(buildTxRequest) {
|
|
174
|
-
return Promise.reject(new Error("Method not implemented."));
|
|
175
|
-
}
|
|
176
167
|
};
|
|
177
168
|
|
|
178
169
|
export { AptosProvider, AptosSigner };
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/providers/aptos.ts","../src/signers/aptos.ts"],"names":["aptos","SignedTransaction"],"mappings":"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","sourcesContent":["import * as aptos from 'aptos'\nimport { BigNumber } 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'\nimport { isHexString } from '@layerzerolabs/lz-utilities'\n\nexport class AptosProvider implements Provider {\n readonly nativeProvider: aptos.AptosClient\n\n private constructor(\n public readonly url: string,\n public readonly faucet?: string,\n public readonly indexer?: string\n ) {\n this.nativeProvider = new aptos.AptosClient(url)\n }\n static from(source: string, faucet?: string, indexer?: string): AptosProvider {\n if (typeof source === 'string') {\n return new AptosProvider(source, faucet, indexer)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): aptos.AptosClient {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n if (!isHexString(address)) {\n throw new Error('Invalid Aptos address')\n }\n\n const aptosCoin = '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>'\n const resources = await this.nativeProvider.getAccountResources(address)\n const accountResource = resources.find((r) => r.type === aptosCoin)\n if (accountResource === undefined) {\n throw new Error('Account resource not found')\n }\n\n const { coin } = accountResource.data as { coin: { value: string } }\n return BigInt(coin.value).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.getBlockNumber()\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber, true)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n }\n\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 if (typeof blockTag === 'number') {\n return this.nativeProvider\n .getBlockByHeight(blockTag)\n .then((block) => BigNumber.from(block.block_timestamp).toNumber())\n } else if (blockTag === 'latest') {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.ledger_timestamp).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(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 const _addressOrName = await Promise.resolve(addressOrName)\n if (!isHexString(_addressOrName)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getAccount(_addressOrName)\n return parseInt(response.sequence_number)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.submitSignedBCSTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.submitSignedBCSTransaction(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 aptos.Types.PendingTransaction\n const response = await this.nativeProvider.waitForTransactionWithResult(pending.hash)\n const userTransaction = response as aptos.Types.UserTransaction\n if (!userTransaction.success) {\n throw new Error(`aptos transaction failed ,vm_status: ${userTransaction.vm_status}`)\n }\n return TransactionReceipt.from(response)\n }\n}\n","import * as aptos from 'aptos'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\nimport { trim0x } from '@layerzerolabs/lz-utilities'\n\nimport { AptosProvider } from '../providers'\n\nexport class AptosSigner implements Signer {\n public nativeSigner: aptos.AptosAccount\n public provider: AptosProvider | undefined\n\n private constructor(signer: aptos.AptosAccount) {\n this.nativeSigner = signer\n }\n\n static from(signer: aptos.AptosAccount): Signer\n static from(privKey: string): Signer\n /**\n *\n * @param mnemonic\n * @param path e.g. m/44'/637'/0'/0'/0'\n */\n static from(mnemonic: string, path: string): Signer\n\n static from(source: string | aptos.AptosAccount, path?: string): Signer {\n if (source instanceof aptos.AptosAccount) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n const signer = new aptos.AptosAccount(Buffer.from(trim0x(source)))\n return new this(signer)\n } else if (typeof source === 'string' && path !== undefined) {\n if (path.startsWith('m/')) {\n const signer = aptos.AptosAccount.fromDerivePath(path, source)\n return new this(signer)\n }\n }\n throw new Error('Invalid parameters')\n }\n\n get native(): aptos.AptosAccount {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Only aptos.AptosClient is supported.')\n }\n\n this.provider = provider\n return this\n }\n\n async getAddress(): Promise<string> {\n return Promise.resolve(this.nativeSigner.address().toString())\n }\n\n get address(): string {\n return this.nativeSigner.address().toString()\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendAndConfirm(transaction, opts)\n }\n\n async sendTransaction(transaction: SignedTransaction, sendOptions?: object): Promise<TransactionPending> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendTransaction(transaction, sendOptions)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n const nativeProvider = this.provider?.native\n if (nativeProvider === undefined) {\n throw new Error('Connect the native provider first with AptosSigner.connect()')\n }\n\n type NativeTransactionRequest = Parameters<aptos.AptosClient['signTransaction']>[1]\n const tx = transaction.request as NativeTransactionRequest\n\n // signTransaction is an offline operation\n const response = await nativeProvider.signTransaction(this.nativeSigner, tx)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const rv = this.nativeSigner.signBuffer(Buffer.from(buffer)).toUint8Array()\n return Promise.resolve(rv)\n }\n async buildTransaction(buildTxRequest: unknown): Promise<TransactionRequest> {\n return Promise.reject(new Error('Method not implemented.'))\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/providers/aptos.ts","../src/signers/aptos.ts"],"names":["aptos","SignedTransaction"],"mappings":"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","sourcesContent":["import * as aptos from 'aptos'\nimport { BigNumber } 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'\nimport { isHexString } from '@layerzerolabs/lz-utilities'\n\nexport class AptosProvider implements Provider {\n readonly nativeProvider: aptos.AptosClient\n\n private constructor(public url: string) {\n this.nativeProvider = new aptos.AptosClient(url)\n }\n\n static from(url: string): AptosProvider\n static from(source: string): AptosProvider {\n if (typeof source === 'string') {\n return new AptosProvider(source)\n } else {\n throw new Error('Invalid parameters')\n }\n }\n\n get native(): aptos.AptosClient {\n return this.nativeProvider\n }\n\n async getBalance(address: string): Promise<string> {\n if (!isHexString(address)) {\n throw new Error('Invalid Aptos address')\n }\n\n const aptosCoin = '0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>'\n const resources = await this.nativeProvider.getAccountResources(address)\n const accountResource = resources.find((r) => r.type === aptosCoin)\n if (accountResource === undefined) {\n throw new Error('Account resource not found')\n }\n\n const { coin } = accountResource.data as { coin: { value: string } }\n return BigInt(coin.value).toString()\n }\n\n async getBlock(blockTag: string | number): Promise<Block> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber)\n return Block.from(response)\n }\n\n async getBlockWithTransactions(blockTag: string | number): Promise<BlockWithTransactions> {\n let blockNumber = 0\n if (typeof blockTag === 'number') {\n blockNumber = blockTag\n } else if (blockTag === 'latest') {\n blockNumber = await this.getBlockNumber()\n } else {\n throw new Error('Invalid blockTag')\n }\n\n const response = await this.nativeProvider.getBlockByHeight(blockNumber, true)\n return BlockWithTransactions.from(response)\n }\n\n async getBlockNumber(): Promise<number> {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.block_height).toNumber())\n }\n\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 if (typeof blockTag === 'number') {\n return this.nativeProvider\n .getBlockByHeight(blockTag)\n .then((block) => BigNumber.from(block.block_timestamp).toNumber())\n } else if (blockTag === 'latest') {\n return this.nativeProvider\n .getLedgerInfo()\n .then((ledgerInfo) => BigNumber.from(ledgerInfo.ledger_timestamp).toNumber())\n } else {\n throw new Error('Invalid blockTag')\n }\n }\n\n async getTransaction(txHash: string): Promise<TransactionResponse> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(txHash)\n return TransactionResponse.from(response)\n }\n\n async getTransactionReceipt(txHash: string): Promise<TransactionReceipt> {\n if (!isHexString(txHash)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getTransactionByHash(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 const _addressOrName = await Promise.resolve(addressOrName)\n if (!isHexString(_addressOrName)) {\n throw new Error('Invalid Aptos transaction hash')\n }\n\n const response = await this.nativeProvider.getAccount(_addressOrName)\n return parseInt(response.sequence_number)\n }\n\n async sendTransaction(transaction: SignedTransaction, _sendOptions?: object): Promise<TransactionPending> {\n type NativeSignedTransaction = Parameters<typeof this.nativeProvider.submitSignedBCSTransaction>[0]\n const stx = transaction.signed as NativeSignedTransaction\n\n const response = await this.nativeProvider.submitSignedBCSTransaction(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 aptos.Types.PendingTransaction\n const response = await this.nativeProvider.waitForTransactionWithResult(pending.hash)\n return TransactionReceipt.from(response)\n }\n}\n","import * as aptos from 'aptos'\n\nimport {\n Provider,\n SignedTransaction,\n Signer,\n TransactionPending,\n TransactionReceipt,\n TransactionRequest,\n} from '@layerzerolabs/lz-core'\nimport { trim0x } from '@layerzerolabs/lz-utilities'\n\nimport { AptosProvider } from '../providers'\n\nexport class AptosSigner implements Signer {\n public nativeSigner: aptos.AptosAccount\n public provider: AptosProvider | undefined\n\n private constructor(signer: aptos.AptosAccount) {\n this.nativeSigner = signer\n }\n\n static from(signer: aptos.AptosAccount): Signer\n static from(privKey: string): Signer\n /**\n *\n * @param mnemonic\n * @param path e.g. m/44'/637'/0'/0'/0'\n */\n static from(mnemonic: string, path: string): Signer\n\n static from(source: string | aptos.AptosAccount, path?: string): Signer {\n if (source instanceof aptos.AptosAccount) {\n return new this(source)\n } else if (typeof source === 'string' && path === undefined) {\n const signer = new aptos.AptosAccount(Buffer.from(trim0x(source)))\n return new this(signer)\n } else if (typeof source === 'string' && path !== undefined) {\n if (path.startsWith('m/')) {\n const signer = aptos.AptosAccount.fromDerivePath(path, source)\n return new this(signer)\n }\n }\n throw new Error('Invalid parameters')\n }\n\n get native(): aptos.AptosAccount {\n return this.nativeSigner\n }\n\n connect(provider: Provider): Signer {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Only aptos.AptosClient is supported.')\n }\n\n this.provider = provider\n return this\n }\n\n async getAddress(): Promise<string> {\n return Promise.resolve(this.nativeSigner.address().toString())\n }\n\n get address(): string {\n return this.nativeSigner.address().toString()\n }\n\n async sendAndConfirm(transaction: SignedTransaction, opts?: object): Promise<TransactionReceipt> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendAndConfirm(transaction, opts)\n }\n\n async sendTransaction(transaction: SignedTransaction, sendOptions?: object): Promise<TransactionPending> {\n if (this.provider === undefined) {\n throw new Error('provider is required')\n }\n\n return this.provider.sendTransaction(transaction, sendOptions)\n }\n\n async signTransaction(transaction: TransactionRequest): Promise<SignedTransaction> {\n const nativeProvider = this.provider?.native\n if (nativeProvider === undefined) {\n throw new Error('Connect the native provider first with AptosSigner.connect()')\n }\n\n type NativeTransactionRequest = Parameters<aptos.AptosClient['signTransaction']>[1]\n const tx = transaction.request as NativeTransactionRequest\n\n // signTransaction is an offline operation\n const response = await nativeProvider.signTransaction(this.nativeSigner, tx)\n return SignedTransaction.from(response)\n }\n\n async signBuffer(buffer: Uint8Array): Promise<Uint8Array> {\n const rv = this.nativeSigner.signBuffer(Buffer.from(buffer)).toUint8Array()\n return Promise.resolve(rv)\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/lz-corekit-aptos",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
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": "^
|
|
27
|
-
"@layerzerolabs/lz-core": "^
|
|
28
|
-
"@layerzerolabs/lz-utilities": "^
|
|
29
|
-
"@layerzerolabs/tron-utilities": "^
|
|
26
|
+
"@layerzerolabs/lz-aptos-sdk-v1": "^3.0.0",
|
|
27
|
+
"@layerzerolabs/lz-core": "^3.0.0",
|
|
28
|
+
"@layerzerolabs/lz-utilities": "^3.0.0",
|
|
29
|
+
"@layerzerolabs/tron-utilities": "^3.0.0",
|
|
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": "^
|
|
42
|
-
"@layerzerolabs/typescript-config-next": "^
|
|
41
|
+
"@layerzerolabs/tsup-config-next": "^3.0.0",
|
|
42
|
+
"@layerzerolabs/typescript-config-next": "^3.0.0",
|
|
43
43
|
"@types/jest": "^29.5.10",
|
|
44
44
|
"@types/tronweb": "npm:@layerzerolabs/tronweb-typescript@workspace:^",
|
|
45
45
|
"jest": "^29.7.0",
|