@layerzerolabs/lz-aptos-sdk-v2 3.0.4 → 3.0.6

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.
Files changed (43) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/deployments/aptos-sandbox-local/blocked_msglib.json +1 -1
  3. package/deployments/aptos-sandbox-local/counter.json +1 -1
  4. package/deployments/aptos-sandbox-local/dvn.json +1 -1
  5. package/deployments/aptos-sandbox-local/dvn_fee_lib_0.json +1 -1
  6. package/deployments/aptos-sandbox-local/dvn_fee_lib_1.json +1 -1
  7. package/deployments/aptos-sandbox-local/dvn_fee_lib_router_0.json +1 -1
  8. package/deployments/aptos-sandbox-local/dvn_fee_lib_router_1.json +1 -1
  9. package/deployments/aptos-sandbox-local/endpoint_v2.json +1 -1
  10. package/deployments/aptos-sandbox-local/endpoint_v2_common.json +1 -1
  11. package/deployments/aptos-sandbox-local/executor.json +1 -1
  12. package/deployments/aptos-sandbox-local/executor_fee_lib_0.json +1 -1
  13. package/deployments/aptos-sandbox-local/executor_fee_lib_1.json +1 -1
  14. package/deployments/aptos-sandbox-local/executor_fee_lib_router_0.json +1 -1
  15. package/deployments/aptos-sandbox-local/executor_fee_lib_router_1.json +1 -1
  16. package/deployments/aptos-sandbox-local/layerzero_views.json +1 -1
  17. package/deployments/aptos-sandbox-local/mock_coin.json +11 -0
  18. package/deployments/aptos-sandbox-local/msglib_3.json +1 -1
  19. package/deployments/aptos-sandbox-local/msglib_4.json +1 -1
  20. package/deployments/aptos-sandbox-local/msglib_types.json +1 -1
  21. package/deployments/aptos-sandbox-local/oft-TokenFour.json +11 -0
  22. package/deployments/aptos-sandbox-local/oft-TokenOne.json +1 -1
  23. package/deployments/aptos-sandbox-local/oft-TokenThree.json +1 -1
  24. package/deployments/aptos-sandbox-local/oft-TokenTwo.json +1 -1
  25. package/deployments/aptos-sandbox-local/oft_common.json +1 -1
  26. package/deployments/aptos-sandbox-local/price_feed_module_0.json +1 -1
  27. package/deployments/aptos-sandbox-local/price_feed_module_1.json +1 -1
  28. package/deployments/aptos-sandbox-local/price_feed_module_2.json +1 -1
  29. package/deployments/aptos-sandbox-local/price_feed_router_0.json +1 -1
  30. package/deployments/aptos-sandbox-local/price_feed_router_1.json +1 -1
  31. package/deployments/aptos-sandbox-local/router_node_0.json +1 -1
  32. package/deployments/aptos-sandbox-local/router_node_1.json +1 -1
  33. package/deployments/aptos-sandbox-local/simple_msglib.json +1 -1
  34. package/deployments/aptos-sandbox-local/treasury.json +1 -1
  35. package/deployments/aptos-sandbox-local/uln_302.json +1 -1
  36. package/deployments/aptos-sandbox-local/worker_common.json +1 -1
  37. package/dist/index.cjs +14 -64
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.mts +2 -18
  40. package/dist/index.d.ts +2 -18
  41. package/dist/index.mjs +15 -65
  42. package/dist/index.mjs.map +1 -1
  43. package/package.json +11 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @layerzerolabs/lz-aptos-sdk-v2
2
2
 
3
+ ## 3.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 1b6de61: make initia related pkg public.
8
+ - Updated dependencies [1b6de61]
9
+ - @layerzerolabs/lz-corekit-aptos@3.0.6
10
+ - @layerzerolabs/lz-core@3.0.6
11
+ - @layerzerolabs/lz-definitions@3.0.6
12
+ - @layerzerolabs/lz-serdes@3.0.6
13
+ - @layerzerolabs/lz-utilities@3.0.6
14
+ - @layerzerolabs/lz-movevm-sdk-v2@3.0.6
15
+ - @layerzerolabs/lz-v2-utilities@3.0.6
16
+ - @layerzerolabs/move-definitions@3.0.6
17
+
18
+ ## 3.0.5
19
+
20
+ ### Patch Changes
21
+
22
+ - 1136853: endpoint: mainnet worldchain
23
+ - Updated dependencies [1136853]
24
+ - @layerzerolabs/lz-corekit-aptos@3.0.5
25
+ - @layerzerolabs/lz-core@3.0.5
26
+ - @layerzerolabs/lz-definitions@3.0.5
27
+ - @layerzerolabs/lz-serdes@3.0.5
28
+ - @layerzerolabs/lz-utilities@3.0.5
29
+ - @layerzerolabs/lz-movevm-sdk-v2@3.0.5
30
+ - @layerzerolabs/lz-v2-utilities@3.0.5
31
+ - @layerzerolabs/move-definitions@3.0.5
32
+
3
33
  ## 3.0.4
4
34
 
5
35
  ### Patch Changes
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "eb7d4229f462b66a9e813a43852e864e4c85639caf7c02ddbd82178cd641d09b",
10
- "transactionHash": "0x1515c1090c02a2d55ddc5d1934dd2429f628161578c0d6ed06ea826cda665950"
10
+ "transactionHash": "0xb7c12f111901f95bf3fd899b8f5416fe6a14faf8af013ff4003c44c0e38e258f"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "c2335aa96957d6141158388906873d014ef85c0184488a247390c4983e8fe2e3",
10
- "transactionHash": "0x1437267e12fcac4991c19bfe92bf4489248b20676040261f3465e2811d71cab6"
10
+ "transactionHash": "0x07246dbae87f3e62a694f6e3e183468062a95d9b3426c71ad3affa60c7b4883b"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "8b645e31c1cc9dadde66ca7cdea2ae5e5cc51c63d14344c0389bf1b5ea92a302",
10
- "transactionHash": "0x19c56c231c389a97c6de70241b4fce7e8d6445b1781b2ad039c6614116b5aa5c"
10
+ "transactionHash": "0x1bd9525fbb5904945225b91c8a9a3dff17c1f4ba27784c8105459fa75ffafe2e"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "d97ab3f51c1c16e8aa84a9d1a2c683dd0722d8d707cae4604dcc7e61577386aa",
10
- "transactionHash": "0x951e3facef70763b6cc06cd772f97fa1e7300f5bce9d39d0e091070275b62db3"
10
+ "transactionHash": "0x259491711ff2eff71c77c2deb6c7a4e118af453bc77e02c1fa54415c95484abe"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "a4f8f33ff9b0e3e5b41a08cd00980878411d70f5176b9e2224b3facd07cf7b05",
10
- "transactionHash": "0xda1a68726b1b7470eb618c21d418ccea891b66391fb1f39a9019c6dde7bdb3d0"
10
+ "transactionHash": "0xd2b291a227c6caff959ef0b56c22e38aff758483954cb01428d803253d85d36e"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "d70399e9f5d0706b9887990048531106a4ac6658f7204bb4bad59cf3e6931f3c",
10
- "transactionHash": "0xf970ed101d50d0e1375b77ea8a89c98a796dc2ba7e16aeb024dac6a1de14dfb4"
10
+ "transactionHash": "0x6429e8d5ce11ebf72012140764af5f5d8cb1489f7b01436535fbeac73ee68442"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "a8d7103fb3f4131e33380938867d2a0e633cf493947e958469f1e251a25bd21d",
10
- "transactionHash": "0x0207f3a091c2d8ebfdd94f80cc969d1f5fe0b3dd3a24ae509e9257b41565c717"
10
+ "transactionHash": "0x8402acce799d70b0112a93e9e5edd9506c875a6497b9f6d196a5e1b0adcd4c11"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "19bd218f826c6f10f58e87f04af0b9b55862368304d0deb2106b0e3c43dce3c7",
10
- "transactionHash": "0x913a2ba8a276299b2bad7604b0c72bae3b3914dad1c068f30dd7b78eeaaf3621"
10
+ "transactionHash": "0x859eaa31f5480d35778f6b1466849b218b2599393e1b48078c662aa20a830a0e"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "8341c36ca4899f91f60d421ded51a1accaa3f5f600cc41977c0c4a04fb10f643",
10
- "transactionHash": "0xe8b859cee743c53d6c8fc5ba8426931b0c68a39e9f45747a51c43259fb46c9f5"
10
+ "transactionHash": "0x2b3d957074e0cbd4627bc788404c55e6621979ace2f004c3583e85182762320b"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "5f67f29f8f4adc113098c0cd08c7f7c18c48254b15d0166008ff8822e48c9da2",
10
- "transactionHash": "0x9a38f179a7a70883b9a8216cbfdfa95d01dc72ff99502743cf43182e461ada4d"
10
+ "transactionHash": "0x88d7d86088d2615cf0af91906558ba951fde5740fa912dcca497f54b0accc105"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "b89f994810dab8a9fadbfb8c4fb710d06ece6575a5bf48f4d57cb06a7d870af7",
10
- "transactionHash": "0x7526b6f73cfec16352ea2d34fbd7fcd4fa62b8da8a4c2b96640e1ef6b332ae5c"
10
+ "transactionHash": "0x3b95ecdcf79633244676965f7e49aa845e4d2075037b5d47bd4dcc12f10e4fec"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "fba616923b19aceb3f143520e43b84703227cd5e6b763328adf4b68aee3edee4",
10
- "transactionHash": "0x1450e7c97cf93557dcff434b10352ec07c51861b6d869624af9884e9d9734e29"
10
+ "transactionHash": "0x5fa7edd532a0bb417491e19b459612619051b4fb93f942588726577ff81a1ffc"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "a8947c5c6cfc438f8fce5023f99bb1cf8988c8efd5656852d52443341f05665b",
10
- "transactionHash": "0xd26ba9e7c552dce45971666a40b9f51df87e21288347f38b88245c5b8a20866b"
10
+ "transactionHash": "0xc78678a9873bdfe21b36943f5a43f23391306987cf7746b2b39f65a197dd76c2"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "ded7caef375406b4a92663ef8fb8a520eb8e7adf7a844cbd8255f841da3876db",
10
- "transactionHash": "0x396bbdba8861b3638848ff0211965c983f7e5afa82eef51ba11793173a6fe91c"
10
+ "transactionHash": "0x563a0f511445b64c661e360e6fb352eaadc37b5b42cc008a9621c87f8b442b00"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "d48576f9eb6100e3e15dbc61d901bda360f33a764f648245a97e457e2abf2e91",
10
- "transactionHash": "0xf7ed07b31bd1c48017a2b6eb35f62b7bb63e3da9450d2acec30f4c1d3bf02755"
10
+ "transactionHash": "0xfaf0836839e5e52bc5cbeaef999360624f9dac7be864b3cad9ef2d91e2177ebe"
11
11
  }
@@ -0,0 +1,11 @@
1
+ {
2
+ "address": "0x55e29775f39fbebd61aa545aef0ee79205717e936ae265a5bab8da20658bc1ae",
3
+ "name": "mock_coin",
4
+ "moduleName": "mock_coin",
5
+ "network": "aptos-sandbox-local",
6
+ "compatibleVersions": [
7
+ "v2"
8
+ ],
9
+ "bytecodeHash": "0289c4167b889a89c93dbbbd91b0d529391cf02133724b6d157afccb71856e09",
10
+ "transactionHash": "0x18ee5f8afac54e7400e0d134cc4ef745266516ba1dc76be90715e63886e459a3"
11
+ }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "f561c0446f27726d5eae262e1f6d1d5096ea2a3f5f5a58c89d5e8fe1883285f9",
10
- "transactionHash": "0x8d5c1220083b276e87bf628f8ff2f6b05c1bc66bf55d12f2ef56324a6db88023"
10
+ "transactionHash": "0x2039793feef3d31f18c2d7f3ce6ceca58f2b9fe3b62de7d694dad0fc72a251e4"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "d5811c95313f2ea3dd3797f3553cf2b0fcc4bcb89e510a69e0306606cb0a8fe9",
10
- "transactionHash": "0xb99d5fe8e18a19c05cafd03736ea52247bae87b1bfddb784eedaf9f1010ecb91"
10
+ "transactionHash": "0x41cbfa2b25dbbea8c0f4ede2be7400d6e207973e40050b68837df5d89758f229"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "7094e63ae61dfb61c1df71028f13dc69cfd10c1cfce3238374d23845949b9864",
10
- "transactionHash": "0xbfca891b902624534037d9ed95dee132463ca0bc9bd7a84891a3e90db1778c6c"
10
+ "transactionHash": "0x606890633d30c91ccd8332a4cabaf54482849193f01233ca86eb67ff49ea7952"
11
11
  }
@@ -0,0 +1,11 @@
1
+ {
2
+ "address": "0x55e29775f39fbebd61aa545aef0ee79205717e936ae265a5bab8da20658bc1ae",
3
+ "name": "oft-TokenFour",
4
+ "moduleName": "oft",
5
+ "network": "aptos-sandbox-local",
6
+ "compatibleVersions": [
7
+ "v2"
8
+ ],
9
+ "bytecodeHash": "65cc2607492c96b062d926e44804a96ddd6a3dfdd5bb444c26bc3f99e24e72c9",
10
+ "transactionHash": "0x6d0c59aa2eabb84e3d935fe2a3f46f06ecea70ee80c918b808dd85fb96773ff2"
11
+ }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "0a67b7807a674d4c3eb34e3f91e359086d49cb7cd7bdfabe63941ee4b9c42663",
10
- "transactionHash": "0xd6f2c17156a55b15dc657fd33d0df443fb74a3e8370e6664086eac62bf4368a6"
10
+ "transactionHash": "0x4a76ff59946ace1e3b226570d603e450b29fe75138a94f5876681a81490e2147"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "7705b750b53c9c4e360521e2d4f4403e3cb62f502b250b401730385852d55497",
10
- "transactionHash": "0xc71e7849b88f6e088c3cc33fefad15d3d0c9eb9361f23d2d9e8c393d67e53b62"
10
+ "transactionHash": "0x291f96802373c08fca543c4cfa8fdfc34f9df6437bc2f81c5fd8ed500f4be9e3"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "f96281f25db4dd806dfd2e9ee73fc401b2a30119156dec8ed4afa1f3129fdd20",
10
- "transactionHash": "0x5145f76bddb1fca0d6c536fed7d10c7063c1861f9de9313908a9ac31e165b57b"
10
+ "transactionHash": "0x4a783e6e3ee67069fd31a817e727a47715782c0e3ab8c5282d633e3891f44ee1"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "8a38727ea446cd9e0557d503a00de25c149277d051267076a8963a7cc48cf821",
10
- "transactionHash": "0x169f088b23dbf8fd868684ca2d3d0003b95cf71bf158ef75f3fa3b640612d1eb"
10
+ "transactionHash": "0x3ba9bfc894d401cf0e2adb276b8674fe261a30062471f7272e662c8bbe04f028"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "dcecf1920316b76847dd574f3d642191ea1a0bb97af8cf507b06abe426917c81",
10
- "transactionHash": "0x5d2466cecb6275188d50e42ab8f4575aa013d2c627434e8e421157d4d47f466d"
10
+ "transactionHash": "0x34c47bf543a90467a6e99144aa4c41c02507e29b7b374f9c292d1ddc5d100837"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "4dfe62172e1f10fac951bf7ff1477f2a69ebf81c63d4074bfa31ae2b0b35ce98",
10
- "transactionHash": "0xc4972f4d7e583468a0d6b621c3a847250f9d9d96f163cc4056525ddc26265ba5"
10
+ "transactionHash": "0x73f6c73f4dd7579959446c26b968a8c62fa1dc3128c4734831a2a8f675ec4177"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "445479944ecb4c019274f28ee577c77c42df9bfdb09880ead75161dba45bc899",
10
- "transactionHash": "0xc4f1fd0067b830051a30ce7e3cdb601c843c9bbb0467dce94b8b3cadeb90adcb"
10
+ "transactionHash": "0x1c843aed48a02435c9c34b83d18ee7ebfbd524ddf423367fc0802ba9b6108a63"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "b695588e8dac5c34b1d53376fa76d182fbd1eff281e32dcf36803c07b7374757",
10
- "transactionHash": "0x499dda06f318cc8bbfcc9217b09a874afca271b6dbc70c9e248a898ccddcde15"
10
+ "transactionHash": "0xb286764884ac3be34caba1557604f4784cd487a8c75ecef93dc8516e09abb89e"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "fbd4b078d51b390834feadf24395b5391a9521bbc0b15c319d48dbe0734d9d40",
10
- "transactionHash": "0x64fc6409019bfbaf0a87aae675691f660080bdd4e7ed2cad9e62a094e8deaba0"
10
+ "transactionHash": "0xad099a4c78da352bc6cfbc5fdc43a982226ea58ce6f9fb731a7518f0cfcbdb57"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "f16ea6697c1ab9f4374170df3e062e9df6b4e945c1a0404df99e0295797f2734",
10
- "transactionHash": "0x772d128e3bf59c0b1123174dd8cea827949d2ea69df93a945cce5050f3c4d5ae"
10
+ "transactionHash": "0xf12de8daf8199d53dc702a0544651406e89b0a8030a2a8bea0bb0bf17021a76c"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "76e2c0453844a204f79338ac8685442456142234097a6c5942856cd8d1f986e3",
10
- "transactionHash": "0xd875d57cf5a6b791b66430562be0c73a25a6e4c16376fabc564dd8473cb28c16"
10
+ "transactionHash": "0xc8de02760eb617eb5ba41ebf4d2dda3e7dffcc6ead7aae329769b7ab8a764c93"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "1564abba3b617b430c86eee4aa0ff33886d5c6078cb0478d0d40c93065bf3aea",
10
- "transactionHash": "0x5478cda35e1284002b6ebc202b021cabc54678cc40a3b664a05bbf88fb898ad0"
10
+ "transactionHash": "0x1e2533e9eaeedd768b8469e4c55270f1cb3652ce895a61e2dcec507a47dcc06e"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "72a536cc6e38a6030f4d694921f3be429100c5112cac93bfefe4d09012e861a1",
10
- "transactionHash": "0x13e08656ca0b931049c7ab4524428cb452ff719abc5de707c4062a7fd1005c06"
10
+ "transactionHash": "0x2ff8935bdd270ee204f36ed3be86b195f0e6d587433695b15e84654e947ad59f"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "b3c5b566c732166321d3ac98dc08f6d55dda73fe2fad0ef63a240f1317b67716",
10
- "transactionHash": "0x44a4f1e3ccbc90b1f6cd2fab26e5b0d8d0b9744903c62e9457d24fa8d74b54b0"
10
+ "transactionHash": "0x1e62e4771e7d8c4a2983e453da850321abfc5e49313b8b50f58dda562f3e66a3"
11
11
  }
@@ -7,5 +7,5 @@
7
7
  "v2"
8
8
  ],
9
9
  "bytecodeHash": "d15cf5020707701537407d4bf7737a9e5b0aafdc6056745b760b711fc41e5f95",
10
- "transactionHash": "0x3d81eb72e520a35ed8800d4ac9a6bf971af18eef2507a1aff141d5058007686a"
10
+ "transactionHash": "0xb54b63edaa7e63f7749ce8dcd1f1f11f932bfc8ba17e08c969b217ee4dff2828"
11
11
  }
package/dist/index.cjs CHANGED
@@ -274,49 +274,28 @@ var SDK = class {
274
274
  * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.
275
275
  * @param {MoveFunction} func - The function to call.
276
276
  * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.
277
- * @param {string | Uint8Array | AccountAddress} [multisig] - The multisig address or data.
278
277
  * @param {string[]} [_] - Unused parameter.
279
278
  * @param {GasOptions} [gasOptions] - The gas options.
280
279
  * @param {string[]} [typeArguments] - The type arguments.
281
280
  * @returns {Promise<TransactionResponse>} The transaction response.
282
281
  */
283
- async sendAndConfirmTransaction(signer, func, args, multisig, _, gasOptions, typeArguments) {
282
+ async sendAndConfirmTransaction(signer, func, args, _, gasOptions, typeArguments) {
284
283
  try {
285
284
  signer = this.normalizeSigner(signer);
286
- if (multisig === void 0) {
287
- const committedTransactionResponse = await this.sendAndConfirmTransaction_(
288
- signer,
289
- {
290
- function: func,
291
- functionArguments: args,
292
- typeArguments
293
- },
294
- gasOptions
295
- );
296
- return {
297
- hash: committedTransactionResponse.hash,
298
- sender: signer.accountAddress.toString(),
299
- raw: committedTransactionResponse
300
- };
301
- } else {
302
- if (typeof multisig === "string" || multisig instanceof Uint8Array) {
303
- multisig = tsSdk.AccountAddress.from(multisig);
304
- }
305
- const simple = await this.createMultiSigPayload(multisig, signer.accountAddress, {
285
+ const committedTransactionResponse = await this.sendAndConfirmTransaction_(
286
+ signer,
287
+ {
306
288
  function: func,
307
- args
308
- });
309
- const auth = new tsSdk.AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(simple));
310
- const committedTransactionResponse = await this.sendAndConfirmAuthTransaction({
311
- txn: simple,
312
- auth
313
- });
314
- return {
315
- hash: committedTransactionResponse.hash,
316
- sender: signer.accountAddress.toString(),
317
- raw: committedTransactionResponse
318
- };
319
- }
289
+ functionArguments: args,
290
+ typeArguments
291
+ },
292
+ gasOptions
293
+ );
294
+ return {
295
+ hash: committedTransactionResponse.hash,
296
+ sender: signer.accountAddress.toString(),
297
+ raw: committedTransactionResponse
298
+ };
320
299
  } catch (e) {
321
300
  throw this.handleError(e);
322
301
  }
@@ -344,35 +323,6 @@ var SDK = class {
344
323
  );
345
324
  }
346
325
  }
347
- /**
348
- * Creates a multi-signature payload.
349
- *
350
- * @param {AccountAddress} multisig_address - The multi-signature account address.
351
- * @param {AccountAddress} sender - The sender of the transaction.
352
- * @param {Object} payload_args - The arguments for the payload.
353
- * @param {`${string}::${string}::${string}`} payload_args.function - The function to call.
354
- * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} payload_args.args - The arguments for the function.
355
- * @param {GasOptions} [gasOptions] - The gas options.
356
- * @returns {Promise<SimpleTransaction>} The created multi-signature payload.
357
- */
358
- async createMultiSigPayload(multisig_address, sender, payload_args, gasOptions) {
359
- const payload = await tsSdk.generateTransactionPayload({
360
- multisigAddress: multisig_address,
361
- function: payload_args.function,
362
- functionArguments: payload_args.args,
363
- aptosConfig: this.client.config
364
- });
365
- const payload_ = await tsSdk.generateRawTransaction({
366
- aptosConfig: this.client.config,
367
- sender,
368
- payload,
369
- options: {
370
- gasUnitPrice: gasOptions?.gasPrice === void 0 ? void 0 : Number(gasOptions.gasPrice),
371
- maxGasAmount: gasOptions?.gasLimit === void 0 ? void 0 : Number(gasOptions.gasLimit)
372
- }
373
- });
374
- return new tsSdk.SimpleTransaction(payload_);
375
- }
376
326
  /**
377
327
  * Estimates the gas required for a transaction.
378
328
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/generated/addresses.ts","../src/utils.ts"],"names":["Stage"],"mappings":"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","sourcesContent":["import {\n AccountAddress,\n AccountAddressInput,\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n Aptos,\n AptosApiError,\n AptosConfig,\n CommittedTransactionResponse,\n Ed25519Account,\n Ed25519PrivateKey,\n InputEntryFunctionData,\n InputViewFunctionData,\n LedgerVersionArg,\n MoveStructId,\n Network as Net,\n SimpleEntryFunctionArgumentTypes,\n SimpleTransaction,\n TableItemRequest,\n generateRawTransaction,\n generateTransactionPayload,\n} from '@aptos-labs/ts-sdk'\nimport * as aptos from 'aptos'\nimport invariant from 'tiny-invariant'\n\nimport { Provider } from '@layerzerolabs/lz-core'\nimport { AptosProvider } from '@layerzerolabs/lz-corekit-aptos'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\nimport { applyGasLimitSafety } from './utils'\n\nexport * from './utils'\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: Aptos\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Asserts that the given provider is an instance of AptosProvider.\n *\n * @param {Provider} provider - The provider to check.\n * @throws {Error} If the provider is not an instance of AptosProvider.\n */\nfunction assertAptosProvider(provider: Provider): asserts provider is AptosProvider {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Invalid provider')\n }\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n const client = provider.native as aptos.AptosClient\n const url = client.nodeUrl\n assertAptosProvider(provider)\n const indexerUrl = provider.indexer\n const faucetUrl = provider.faucet\n const aptosConfig = new AptosConfig({ network: Net.LOCAL, fullnode: url, indexer: indexerUrl, faucet: faucetUrl })\n const aptos = new Aptos(aptosConfig)\n return new SDK({ provider: aptos })\n}\n\n/**\n * Interface representing an option value.\n */\ninterface OptionValue {\n /**\n * The vector of Move values.\n */\n vec: MoveValue[]\n}\n\n/**\n * Checks if the given value is an OptionValue.\n * In contract, the type will be Option<xxx>, In SDK, the type will be OptionValue.\n *\n * @param {unknown} value - The value to check.\n * @returns {value is OptionValue} True if the value is an OptionValue, false otherwise.\n */\nfunction isOptionValue(value: unknown): value is OptionValue {\n return typeof value === 'object' && value != null && 'vec' in value\n}\n\n/**\n * The SDK class provides methods to interact with the Aptos.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<Ed25519Account>}\n */\nexport class SDK implements MoveSdkImpl<Ed25519Account> {\n stage: Stage\n client: Aptos\n LayerzeroModule: LayerZeroModulesSdk<Ed25519Account>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: AccountAddress.from(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n counter_v2: AccountAddress.from(COUNTER_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n oft: AccountAddress.from(OFT_ADDRESS[this.stage] ?? '0x0').toString(),\n layerzero_views: AccountAddress.from(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0').toString(),\n simple_message_lib: AccountAddress.from(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n uln_message_lib: AccountAddress.from(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n executor: AccountAddress.from(EXECUTOR_ADDRESS[this.stage] ?? '0x0').toString(),\n dvn: AccountAddress.from(DVN_ADDRESS[this.stage] ?? '0x0').toString(),\n worker_common: AccountAddress.from(WORKER_COMMON[this.stage] ?? '0x0').toString(),\n price_feed: AccountAddress.from(PRICE_FEED[this.stage] ?? '0x0').toString(),\n treasury: AccountAddress.from(TREASURY_ADDRESS[this.stage] ?? '0x0').toString(),\n endpoint_v2_common: AccountAddress.from(ENDPOINT_V2_COMMON[this.stage] ?? '0x0').toString(),\n }\n this.client = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Aptos client.\n *\n * @returns {Aptos} The Aptos client.\n */\n getAptosClient(): Aptos {\n return this.client\n }\n\n /**\n * Sends and confirms an authenticated transaction.\n *\n * @param {Object} args - The arguments for the transaction.\n * @param {SimpleTransaction} args.txn - The transaction to send.\n * @param {AccountAuthenticator} args.auth - The authenticator for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n */\n async sendAndConfirmAuthTransaction(args: {\n txn: SimpleTransaction\n auth: AccountAuthenticator\n }): Promise<CommittedTransactionResponse> {\n const res = await this.client.transaction.submit.simple({\n transaction: args.txn,\n senderAuthenticator: args.auth,\n })\n return this.waitAndGetTransaction(res.hash)\n }\n\n /**\n * Sends and confirms a transaction with the given signer and payload.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @param {GasOptions} [gasOptions] - The gas options for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @private\n */\n private async sendAndConfirmTransaction_(\n signer: Ed25519Account,\n payload: InputEntryFunctionData,\n gasOptions?: GasOptions\n ): Promise<CommittedTransactionResponse> {\n this.assertValidGasOptions(gasOptions)\n const options = await this.estimateGas(signer, payload)\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n options: {\n gasUnitPrice: Number(gasOptions?.gasPrice !== undefined ? gasOptions.gasPrice : options.gas_unit_price),\n maxGasAmount: Number(gasOptions?.gasLimit !== undefined ? gasOptions.gasLimit : options.max_gas_amount),\n },\n })\n const auth = new AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(txnRequest))\n return this.sendAndConfirmAuthTransaction({ txn: txnRequest, auth: auth })\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, MoveTableItemNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (e instanceof AptosApiError) {\n const errorData = e.data as { message: string | undefined; error_code: string | undefined }\n const errorString = errorData.message ?? ''\n const errorCode = errorData.error_code ?? ''\n const majorStatusMatch = errorString.match(/major_status:\\s([A-Z_]+)/)\n if (majorStatusMatch !== null) {\n const major_status = majorStatusMatch[1]\n if (major_status === 'ABORTED') {\n const subStatusMatch = errorString.match(/sub_status:\\sSome\\((\\d+)\\)/)\n if (subStatusMatch === null) {\n return new MoveAbortError(Number.NEGATIVE_INFINITY, errorString)\n } else {\n return new MoveAbortError(Number(subStatusMatch[1]), errorString)\n }\n } else if (major_status === 'MISSING_DATA') {\n return new MoveResourceNotFoundError(errorString)\n }\n } else if (errorCode === 'resource_not_found') {\n return new MoveResourceNotFoundError(errorString)\n } else if (errorCode === 'table_item_not_found') {\n return new MoveTableItemNotFoundError(errorString)\n } else {\n return new UnclassifiedError(errorString)\n }\n }\n return e\n }\n\n /**\n * Executes a view function and returns the result.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.typeArgs] - The type arguments for the function.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const payload: InputViewFunctionData = {\n function: args.functionName,\n functionArguments: args.functionArgs,\n typeArguments: args.typeArgs ?? [],\n }\n try {\n let view = await this.client.view({ payload })\n view = view.map((item) => {\n if (isOptionValue(item)) {\n if (item.vec.length !== 0) {\n return item.vec[0]\n } else {\n return null\n }\n }\n return item\n })\n if (view.length > 1) {\n view = [view]\n }\n return view as MoveValue[]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the signer to an Ed25519Account.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {Ed25519Account} The normalized signer.\n * @throws {Error} If the signer is invalid.\n */\n normalizeSigner(signer: Ed25519Account | PrivateKey | MnemonicAndPath): Ed25519Account {\n if (signer instanceof Ed25519Account) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n return Ed25519Account.fromDerivationPath(signer)\n } else if (isPrivateKey(signer)) {\n return new Ed25519Account({ privateKey: new Ed25519PrivateKey(signer) })\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts an account to an address string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: Ed25519Account): string {\n return account.accountAddress.toString()\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string | Uint8Array | AccountAddress} [multisig] - The multisig address or data.\n * @param {string[]} [_] - Unused parameter.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n signer: Ed25519Account | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[],\n multisig?: string | Uint8Array | AccountAddress,\n _?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n signer = this.normalizeSigner(signer)\n if (multisig === undefined) {\n const committedTransactionResponse = await this.sendAndConfirmTransaction_(\n signer,\n {\n function: func,\n functionArguments: args,\n typeArguments,\n },\n gasOptions\n )\n return {\n hash: committedTransactionResponse.hash,\n sender: signer.accountAddress.toString(),\n raw: committedTransactionResponse,\n }\n } else {\n if (typeof multisig === 'string' || multisig instanceof Uint8Array) {\n multisig = AccountAddress.from(multisig)\n }\n const simple = await this.createMultiSigPayload(multisig, signer.accountAddress, {\n function: func,\n args: args,\n })\n const auth = new AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(simple))\n const committedTransactionResponse = await this.sendAndConfirmAuthTransaction({\n txn: simple,\n auth: auth,\n })\n return {\n hash: committedTransactionResponse.hash,\n sender: signer.accountAddress.toString(),\n raw: committedTransactionResponse,\n }\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Asserts that the given gas options are valid.\n *\n * @param {GasOptions} [gasOptions] - The gas options to validate.\n * @throws {Error} If the gas options are invalid.\n */\n assertValidGasOptions(gasOptions?: GasOptions): void {\n if (gasOptions === undefined) {\n return\n }\n if (gasOptions.gasPrice !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasPrice)),\n `Invalid gas price: ${gasOptions.gasPrice}, must be an integer`\n )\n }\n if (gasOptions.gasLimit !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasLimit)),\n `Invalid gas limit: ${gasOptions.gasLimit}, must be an integer`\n )\n }\n }\n\n /**\n * Creates a multi-signature payload.\n *\n * @param {AccountAddress} multisig_address - The multi-signature account address.\n * @param {AccountAddress} sender - The sender of the transaction.\n * @param {Object} payload_args - The arguments for the payload.\n * @param {`${string}::${string}::${string}`} payload_args.function - The function to call.\n * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} payload_args.args - The arguments for the function.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @returns {Promise<SimpleTransaction>} The created multi-signature payload.\n */\n async createMultiSigPayload(\n multisig_address: AccountAddress,\n sender: AccountAddress,\n payload_args: {\n function: `${string}::${string}::${string}`\n args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]\n },\n gasOptions?: GasOptions\n ): Promise<SimpleTransaction> {\n const payload = await generateTransactionPayload({\n multisigAddress: multisig_address,\n function: payload_args.function,\n functionArguments: payload_args.args,\n aptosConfig: this.client.config,\n })\n const payload_ = await generateRawTransaction({\n aptosConfig: this.client.config,\n sender: sender,\n payload: payload,\n options: {\n gasUnitPrice: gasOptions?.gasPrice === undefined ? undefined : Number(gasOptions.gasPrice),\n maxGasAmount: gasOptions?.gasLimit === undefined ? undefined : Number(gasOptions.gasLimit),\n },\n })\n return new SimpleTransaction(payload_)\n }\n\n /**\n * Estimates the gas required for a transaction.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @returns {Promise<{ max_gas_amount: string; gas_unit_price: string }>} The estimated gas amount and gas unit price.\n */\n async estimateGas(\n signer: Ed25519Account,\n payload: InputEntryFunctionData\n ): Promise<{\n max_gas_amount: string\n gas_unit_price: string\n }> {\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n })\n const sim = await this.client.transaction.simulate.simple({\n signerPublicKey: signer.publicKey,\n transaction: txnRequest,\n options: {\n estimateGasUnitPrice: true,\n estimateMaxGasAmount: true,\n },\n })\n const tx = sim[0]\n invariant(tx.success, `Transaction failed: ${tx.vm_status}}`)\n const max_gas_amount = applyGasLimitSafety(tx.gas_used).toString()\n return {\n max_gas_amount,\n gas_unit_price: tx.gas_unit_price,\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {AccountAddressInput} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {LedgerVersionArg} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n * @throws {Error} If the request fails.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: AccountAddressInput\n resourceType: MoveStructId\n options?: LedgerVersionArg\n }): Promise<T> {\n try {\n return await this.client.getAccountResource(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets a table item.\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {LedgerVersionArg} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n * @throws {Error} If the request fails.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: LedgerVersionArg }): Promise<T> {\n try {\n return await this.client.getTableItem(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Waits for a transaction to be confirmed and returns the transaction response.\n *\n * @param {string} txnHash - The hash of the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @throws {Error} If the transaction fails.\n * @private\n */\n private async waitAndGetTransaction(txnHash: string): Promise<CommittedTransactionResponse> {\n const tx = await this.client.waitForTransaction({ transactionHash: txnHash })\n invariant(tx.success, `Transaction failed: ${tx.vm_status}`)\n return tx\n }\n\n /**\n * Normalizes an address to a string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return AccountAddress.from(address).toString()\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return true\n }\n}\n","// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xd9fbd5191a9864742464950e4e850786b60d26b1349dcc2227de294c7b2b32c5',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xc726431adfe8c4a28ccd0f2b3810487a7b4438092244f0d894d3600087c5e66d',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xb785f6093141e4729eb46dd7398dd7259cd5ce74e312b29ed12380bba1606808',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xbd4d9a38bb4789c9fb32d1cdbf269df52bb2771145cf41afc1a6087acf3bfc6d',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xfc07ed99874d8dab5174934e2e5ecafd5bc4fad2253cd4f7a7b23d5268a9b3e3',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x93e05b851b0c06bedf77e6bcd60aa9922dc83a9b268cb9e089ff2ef06cdc5bb5',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0f3a1a2e15f2558198339aec958d6db36a4e247415c8bb061ba77e4543ce6b4d',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x51ec85b4cf4d7ac03a2a42853a5f0cfbd22f56fda66726e1f98906d5829b7c22',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0100ee640b091eae215a628c37c45d3ec6f165e373e8a6b0d6e4ce8f6eed73d5',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x420a695c2ad3a128d1fded450346326ec2e342f5cf9f205b53e8456f60e795d6',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x3130ea2bf26ed0da8d44f8154a43383e630f202fcc474e1154cf4fd9828caada',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x84937e3698c2ba30eb1a7dcdc4fbe912c9f2f2675cd0d5bc7a83e5d732d665b7',\n}\n","/**\n * The basis points (BPS) used to apply a safety margin to the gas limit.\n *\n * 1 BPS = 0.01%, so 2000 BPS = 20%.\n */\nexport const GAS_LIMIT_SAFETY_BPS = 2000\n\n/**\n * Applies a safety margin to the gas limit.\n *\n * @param {string} gasUsed - The amount of gas used.\n * @returns {bigint} The gas limit with the safety margin applied.\n */\nexport function applyGasLimitSafety(gasUsed: string): bigint {\n return (BigInt(gasUsed) * BigInt(10000 + GAS_LIMIT_SAFETY_BPS)) / BigInt(10000)\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/generated/addresses.ts","../src/utils.ts"],"names":["Stage"],"mappings":"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","sourcesContent":["import {\n AccountAddress,\n AccountAddressInput,\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n Aptos,\n AptosApiError,\n AptosConfig,\n CommittedTransactionResponse,\n Ed25519Account,\n Ed25519PrivateKey,\n InputEntryFunctionData,\n InputViewFunctionData,\n LedgerVersionArg,\n MoveStructId,\n Network as Net,\n SimpleEntryFunctionArgumentTypes,\n SimpleTransaction,\n TableItemRequest,\n} from '@aptos-labs/ts-sdk'\nimport * as aptos from 'aptos'\nimport invariant from 'tiny-invariant'\n\nimport { Provider } from '@layerzerolabs/lz-core'\nimport { AptosProvider } from '@layerzerolabs/lz-corekit-aptos'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\nimport { applyGasLimitSafety } from './utils'\n\nexport * from './utils'\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: Aptos\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Asserts that the given provider is an instance of AptosProvider.\n *\n * @param {Provider} provider - The provider to check.\n * @throws {Error} If the provider is not an instance of AptosProvider.\n */\nfunction assertAptosProvider(provider: Provider): asserts provider is AptosProvider {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Invalid provider')\n }\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n const client = provider.native as aptos.AptosClient\n const url = client.nodeUrl\n assertAptosProvider(provider)\n const indexerUrl = provider.indexer\n const faucetUrl = provider.faucet\n const aptosConfig = new AptosConfig({ network: Net.LOCAL, fullnode: url, indexer: indexerUrl, faucet: faucetUrl })\n const aptos = new Aptos(aptosConfig)\n return new SDK({ provider: aptos })\n}\n\n/**\n * Interface representing an option value.\n */\ninterface OptionValue {\n /**\n * The vector of Move values.\n */\n vec: MoveValue[]\n}\n\n/**\n * Checks if the given value is an OptionValue.\n * In contract, the type will be Option<xxx>, In SDK, the type will be OptionValue.\n *\n * @param {unknown} value - The value to check.\n * @returns {value is OptionValue} True if the value is an OptionValue, false otherwise.\n */\nfunction isOptionValue(value: unknown): value is OptionValue {\n return typeof value === 'object' && value != null && 'vec' in value\n}\n\n/**\n * The SDK class provides methods to interact with the Aptos.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<Ed25519Account>}\n */\nexport class SDK implements MoveSdkImpl<Ed25519Account> {\n stage: Stage\n client: Aptos\n LayerzeroModule: LayerZeroModulesSdk<Ed25519Account>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: AccountAddress.from(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n counter_v2: AccountAddress.from(COUNTER_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n oft: AccountAddress.from(OFT_ADDRESS[this.stage] ?? '0x0').toString(),\n layerzero_views: AccountAddress.from(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0').toString(),\n simple_message_lib: AccountAddress.from(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n uln_message_lib: AccountAddress.from(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n executor: AccountAddress.from(EXECUTOR_ADDRESS[this.stage] ?? '0x0').toString(),\n dvn: AccountAddress.from(DVN_ADDRESS[this.stage] ?? '0x0').toString(),\n worker_common: AccountAddress.from(WORKER_COMMON[this.stage] ?? '0x0').toString(),\n price_feed: AccountAddress.from(PRICE_FEED[this.stage] ?? '0x0').toString(),\n treasury: AccountAddress.from(TREASURY_ADDRESS[this.stage] ?? '0x0').toString(),\n endpoint_v2_common: AccountAddress.from(ENDPOINT_V2_COMMON[this.stage] ?? '0x0').toString(),\n }\n this.client = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Aptos client.\n *\n * @returns {Aptos} The Aptos client.\n */\n getAptosClient(): Aptos {\n return this.client\n }\n\n /**\n * Sends and confirms an authenticated transaction.\n *\n * @param {Object} args - The arguments for the transaction.\n * @param {SimpleTransaction} args.txn - The transaction to send.\n * @param {AccountAuthenticator} args.auth - The authenticator for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n */\n async sendAndConfirmAuthTransaction(args: {\n txn: SimpleTransaction\n auth: AccountAuthenticator\n }): Promise<CommittedTransactionResponse> {\n const res = await this.client.transaction.submit.simple({\n transaction: args.txn,\n senderAuthenticator: args.auth,\n })\n return this.waitAndGetTransaction(res.hash)\n }\n\n /**\n * Sends and confirms a transaction with the given signer and payload.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @param {GasOptions} [gasOptions] - The gas options for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @private\n */\n private async sendAndConfirmTransaction_(\n signer: Ed25519Account,\n payload: InputEntryFunctionData,\n gasOptions?: GasOptions\n ): Promise<CommittedTransactionResponse> {\n this.assertValidGasOptions(gasOptions)\n const options = await this.estimateGas(signer, payload)\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n options: {\n gasUnitPrice: Number(gasOptions?.gasPrice !== undefined ? gasOptions.gasPrice : options.gas_unit_price),\n maxGasAmount: Number(gasOptions?.gasLimit !== undefined ? gasOptions.gasLimit : options.max_gas_amount),\n },\n })\n const auth = new AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(txnRequest))\n return this.sendAndConfirmAuthTransaction({ txn: txnRequest, auth: auth })\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, MoveTableItemNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (e instanceof AptosApiError) {\n const errorData = e.data as { message: string | undefined; error_code: string | undefined }\n const errorString = errorData.message ?? ''\n const errorCode = errorData.error_code ?? ''\n const majorStatusMatch = errorString.match(/major_status:\\s([A-Z_]+)/)\n if (majorStatusMatch !== null) {\n const major_status = majorStatusMatch[1]\n if (major_status === 'ABORTED') {\n const subStatusMatch = errorString.match(/sub_status:\\sSome\\((\\d+)\\)/)\n if (subStatusMatch === null) {\n return new MoveAbortError(Number.NEGATIVE_INFINITY, errorString)\n } else {\n return new MoveAbortError(Number(subStatusMatch[1]), errorString)\n }\n } else if (major_status === 'MISSING_DATA') {\n return new MoveResourceNotFoundError(errorString)\n }\n } else if (errorCode === 'resource_not_found') {\n return new MoveResourceNotFoundError(errorString)\n } else if (errorCode === 'table_item_not_found') {\n return new MoveTableItemNotFoundError(errorString)\n } else {\n return new UnclassifiedError(errorString)\n }\n }\n return e\n }\n\n /**\n * Executes a view function and returns the result.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.typeArgs] - The type arguments for the function.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const payload: InputViewFunctionData = {\n function: args.functionName,\n functionArguments: args.functionArgs,\n typeArguments: args.typeArgs ?? [],\n }\n try {\n let view = await this.client.view({ payload })\n view = view.map((item) => {\n if (isOptionValue(item)) {\n if (item.vec.length !== 0) {\n return item.vec[0]\n } else {\n return null\n }\n }\n return item\n })\n if (view.length > 1) {\n view = [view]\n }\n return view as MoveValue[]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the signer to an Ed25519Account.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {Ed25519Account} The normalized signer.\n * @throws {Error} If the signer is invalid.\n */\n normalizeSigner(signer: Ed25519Account | PrivateKey | MnemonicAndPath): Ed25519Account {\n if (signer instanceof Ed25519Account) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n return Ed25519Account.fromDerivationPath(signer)\n } else if (isPrivateKey(signer)) {\n return new Ed25519Account({ privateKey: new Ed25519PrivateKey(signer) })\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts an account to an address string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: Ed25519Account): string {\n return account.accountAddress.toString()\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string[]} [_] - Unused parameter.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n signer: Ed25519Account | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[],\n _?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n signer = this.normalizeSigner(signer)\n const committedTransactionResponse = await this.sendAndConfirmTransaction_(\n signer,\n {\n function: func,\n functionArguments: args,\n typeArguments,\n },\n gasOptions\n )\n return {\n hash: committedTransactionResponse.hash,\n sender: signer.accountAddress.toString(),\n raw: committedTransactionResponse,\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Asserts that the given gas options are valid.\n *\n * @param {GasOptions} [gasOptions] - The gas options to validate.\n * @throws {Error} If the gas options are invalid.\n */\n assertValidGasOptions(gasOptions?: GasOptions): void {\n if (gasOptions === undefined) {\n return\n }\n if (gasOptions.gasPrice !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasPrice)),\n `Invalid gas price: ${gasOptions.gasPrice}, must be an integer`\n )\n }\n if (gasOptions.gasLimit !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasLimit)),\n `Invalid gas limit: ${gasOptions.gasLimit}, must be an integer`\n )\n }\n }\n\n /**\n * Estimates the gas required for a transaction.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @returns {Promise<{ max_gas_amount: string; gas_unit_price: string }>} The estimated gas amount and gas unit price.\n */\n async estimateGas(\n signer: Ed25519Account,\n payload: InputEntryFunctionData\n ): Promise<{\n max_gas_amount: string\n gas_unit_price: string\n }> {\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n })\n const sim = await this.client.transaction.simulate.simple({\n signerPublicKey: signer.publicKey,\n transaction: txnRequest,\n options: {\n estimateGasUnitPrice: true,\n estimateMaxGasAmount: true,\n },\n })\n const tx = sim[0]\n invariant(tx.success, `Transaction failed: ${tx.vm_status}}`)\n const max_gas_amount = applyGasLimitSafety(tx.gas_used).toString()\n return {\n max_gas_amount,\n gas_unit_price: tx.gas_unit_price,\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {AccountAddressInput} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {LedgerVersionArg} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n * @throws {Error} If the request fails.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: AccountAddressInput\n resourceType: MoveStructId\n options?: LedgerVersionArg\n }): Promise<T> {\n try {\n return await this.client.getAccountResource(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets a table item.\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {LedgerVersionArg} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n * @throws {Error} If the request fails.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: LedgerVersionArg }): Promise<T> {\n try {\n return await this.client.getTableItem(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Waits for a transaction to be confirmed and returns the transaction response.\n *\n * @param {string} txnHash - The hash of the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @throws {Error} If the transaction fails.\n * @private\n */\n private async waitAndGetTransaction(txnHash: string): Promise<CommittedTransactionResponse> {\n const tx = await this.client.waitForTransaction({ transactionHash: txnHash })\n invariant(tx.success, `Transaction failed: ${tx.vm_status}`)\n return tx\n }\n\n /**\n * Normalizes an address to a string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return AccountAddress.from(address).toString()\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return true\n }\n}\n","// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xd9fbd5191a9864742464950e4e850786b60d26b1349dcc2227de294c7b2b32c5',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xc726431adfe8c4a28ccd0f2b3810487a7b4438092244f0d894d3600087c5e66d',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xb785f6093141e4729eb46dd7398dd7259cd5ce74e312b29ed12380bba1606808',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xbd4d9a38bb4789c9fb32d1cdbf269df52bb2771145cf41afc1a6087acf3bfc6d',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xfc07ed99874d8dab5174934e2e5ecafd5bc4fad2253cd4f7a7b23d5268a9b3e3',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x93e05b851b0c06bedf77e6bcd60aa9922dc83a9b268cb9e089ff2ef06cdc5bb5',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0f3a1a2e15f2558198339aec958d6db36a4e247415c8bb061ba77e4543ce6b4d',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x51ec85b4cf4d7ac03a2a42853a5f0cfbd22f56fda66726e1f98906d5829b7c22',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0100ee640b091eae215a628c37c45d3ec6f165e373e8a6b0d6e4ce8f6eed73d5',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x420a695c2ad3a128d1fded450346326ec2e342f5cf9f205b53e8456f60e795d6',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x3130ea2bf26ed0da8d44f8154a43383e630f202fcc474e1154cf4fd9828caada',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x84937e3698c2ba30eb1a7dcdc4fbe912c9f2f2675cd0d5bc7a83e5d732d665b7',\n}\n","/**\n * The basis points (BPS) used to apply a safety margin to the gas limit.\n *\n * 1 BPS = 0.01%, so 2000 BPS = 20%.\n */\nexport const GAS_LIMIT_SAFETY_BPS = 2000\n\n/**\n * Applies a safety margin to the gas limit.\n *\n * @param {string} gasUsed - The amount of gas used.\n * @returns {bigint} The gas limit with the safety margin applied.\n */\nexport function applyGasLimitSafety(gasUsed: string): bigint {\n return (BigInt(gasUsed) * BigInt(10000 + GAS_LIMIT_SAFETY_BPS)) / BigInt(10000)\n}\n"]}
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Aptos, Ed25519Account, SimpleTransaction, AccountAuthenticator, CommittedTransactionResponse, SimpleEntryFunctionArgumentTypes, AccountAddress, InputEntryFunctionData, AccountAddressInput, MoveStructId, LedgerVersionArg, TableItemRequest } from '@aptos-labs/ts-sdk';
1
+ import { Aptos, Ed25519Account, SimpleTransaction, AccountAuthenticator, CommittedTransactionResponse, SimpleEntryFunctionArgumentTypes, InputEntryFunctionData, AccountAddressInput, MoveStructId, LedgerVersionArg, TableItemRequest } from '@aptos-labs/ts-sdk';
2
2
  import { Provider } from '@layerzerolabs/lz-core';
3
3
  import { Stage } from '@layerzerolabs/lz-definitions';
4
4
  import { AccountsOption, MoveSdkImpl, LayerZeroModulesSdk } from '@layerzerolabs/lz-movevm-sdk-v2';
@@ -172,13 +172,12 @@ declare class SDK implements MoveSdkImpl<Ed25519Account> {
172
172
  * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.
173
173
  * @param {MoveFunction} func - The function to call.
174
174
  * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.
175
- * @param {string | Uint8Array | AccountAddress} [multisig] - The multisig address or data.
176
175
  * @param {string[]} [_] - Unused parameter.
177
176
  * @param {GasOptions} [gasOptions] - The gas options.
178
177
  * @param {string[]} [typeArguments] - The type arguments.
179
178
  * @returns {Promise<TransactionResponse>} The transaction response.
180
179
  */
181
- sendAndConfirmTransaction(signer: Ed25519Account | PrivateKey | MnemonicAndPath, func: MoveFunction, args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[], multisig?: string | Uint8Array | AccountAddress, _?: string[], gasOptions?: GasOptions, typeArguments?: string[]): Promise<TransactionResponse>;
180
+ sendAndConfirmTransaction(signer: Ed25519Account | PrivateKey | MnemonicAndPath, func: MoveFunction, args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[], _?: string[], gasOptions?: GasOptions, typeArguments?: string[]): Promise<TransactionResponse>;
182
181
  /**
183
182
  * Asserts that the given gas options are valid.
184
183
  *
@@ -186,21 +185,6 @@ declare class SDK implements MoveSdkImpl<Ed25519Account> {
186
185
  * @throws {Error} If the gas options are invalid.
187
186
  */
188
187
  assertValidGasOptions(gasOptions?: GasOptions): void;
189
- /**
190
- * Creates a multi-signature payload.
191
- *
192
- * @param {AccountAddress} multisig_address - The multi-signature account address.
193
- * @param {AccountAddress} sender - The sender of the transaction.
194
- * @param {Object} payload_args - The arguments for the payload.
195
- * @param {`${string}::${string}::${string}`} payload_args.function - The function to call.
196
- * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} payload_args.args - The arguments for the function.
197
- * @param {GasOptions} [gasOptions] - The gas options.
198
- * @returns {Promise<SimpleTransaction>} The created multi-signature payload.
199
- */
200
- createMultiSigPayload(multisig_address: AccountAddress, sender: AccountAddress, payload_args: {
201
- function: `${string}::${string}::${string}`;
202
- args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[];
203
- }, gasOptions?: GasOptions): Promise<SimpleTransaction>;
204
188
  /**
205
189
  * Estimates the gas required for a transaction.
206
190
  *
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Aptos, Ed25519Account, SimpleTransaction, AccountAuthenticator, CommittedTransactionResponse, SimpleEntryFunctionArgumentTypes, AccountAddress, InputEntryFunctionData, AccountAddressInput, MoveStructId, LedgerVersionArg, TableItemRequest } from '@aptos-labs/ts-sdk';
1
+ import { Aptos, Ed25519Account, SimpleTransaction, AccountAuthenticator, CommittedTransactionResponse, SimpleEntryFunctionArgumentTypes, InputEntryFunctionData, AccountAddressInput, MoveStructId, LedgerVersionArg, TableItemRequest } from '@aptos-labs/ts-sdk';
2
2
  import { Provider } from '@layerzerolabs/lz-core';
3
3
  import { Stage } from '@layerzerolabs/lz-definitions';
4
4
  import { AccountsOption, MoveSdkImpl, LayerZeroModulesSdk } from '@layerzerolabs/lz-movevm-sdk-v2';
@@ -172,13 +172,12 @@ declare class SDK implements MoveSdkImpl<Ed25519Account> {
172
172
  * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.
173
173
  * @param {MoveFunction} func - The function to call.
174
174
  * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.
175
- * @param {string | Uint8Array | AccountAddress} [multisig] - The multisig address or data.
176
175
  * @param {string[]} [_] - Unused parameter.
177
176
  * @param {GasOptions} [gasOptions] - The gas options.
178
177
  * @param {string[]} [typeArguments] - The type arguments.
179
178
  * @returns {Promise<TransactionResponse>} The transaction response.
180
179
  */
181
- sendAndConfirmTransaction(signer: Ed25519Account | PrivateKey | MnemonicAndPath, func: MoveFunction, args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[], multisig?: string | Uint8Array | AccountAddress, _?: string[], gasOptions?: GasOptions, typeArguments?: string[]): Promise<TransactionResponse>;
180
+ sendAndConfirmTransaction(signer: Ed25519Account | PrivateKey | MnemonicAndPath, func: MoveFunction, args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[], _?: string[], gasOptions?: GasOptions, typeArguments?: string[]): Promise<TransactionResponse>;
182
181
  /**
183
182
  * Asserts that the given gas options are valid.
184
183
  *
@@ -186,21 +185,6 @@ declare class SDK implements MoveSdkImpl<Ed25519Account> {
186
185
  * @throws {Error} If the gas options are invalid.
187
186
  */
188
187
  assertValidGasOptions(gasOptions?: GasOptions): void;
189
- /**
190
- * Creates a multi-signature payload.
191
- *
192
- * @param {AccountAddress} multisig_address - The multi-signature account address.
193
- * @param {AccountAddress} sender - The sender of the transaction.
194
- * @param {Object} payload_args - The arguments for the payload.
195
- * @param {`${string}::${string}::${string}`} payload_args.function - The function to call.
196
- * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} payload_args.args - The arguments for the function.
197
- * @param {GasOptions} [gasOptions] - The gas options.
198
- * @returns {Promise<SimpleTransaction>} The created multi-signature payload.
199
- */
200
- createMultiSigPayload(multisig_address: AccountAddress, sender: AccountAddress, payload_args: {
201
- function: `${string}::${string}::${string}`;
202
- args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[];
203
- }, gasOptions?: GasOptions): Promise<SimpleTransaction>;
204
188
  /**
205
189
  * Estimates the gas required for a transaction.
206
190
  *
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { AptosConfig, Network, Aptos, AccountAddress, AccountAuthenticatorEd25519, AptosApiError, Ed25519Account, Ed25519PrivateKey, generateTransactionPayload, generateRawTransaction, SimpleTransaction } from '@aptos-labs/ts-sdk';
1
+ import { AptosConfig, Network, Aptos, AccountAddress, AccountAuthenticatorEd25519, AptosApiError, Ed25519Account, Ed25519PrivateKey } from '@aptos-labs/ts-sdk';
2
2
  import invariant from 'tiny-invariant';
3
3
  import { AptosProvider } from '@layerzerolabs/lz-corekit-aptos';
4
4
  import { Stage } from '@layerzerolabs/lz-definitions';
@@ -268,49 +268,28 @@ var SDK = class {
268
268
  * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.
269
269
  * @param {MoveFunction} func - The function to call.
270
270
  * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.
271
- * @param {string | Uint8Array | AccountAddress} [multisig] - The multisig address or data.
272
271
  * @param {string[]} [_] - Unused parameter.
273
272
  * @param {GasOptions} [gasOptions] - The gas options.
274
273
  * @param {string[]} [typeArguments] - The type arguments.
275
274
  * @returns {Promise<TransactionResponse>} The transaction response.
276
275
  */
277
- async sendAndConfirmTransaction(signer, func, args, multisig, _, gasOptions, typeArguments) {
276
+ async sendAndConfirmTransaction(signer, func, args, _, gasOptions, typeArguments) {
278
277
  try {
279
278
  signer = this.normalizeSigner(signer);
280
- if (multisig === void 0) {
281
- const committedTransactionResponse = await this.sendAndConfirmTransaction_(
282
- signer,
283
- {
284
- function: func,
285
- functionArguments: args,
286
- typeArguments
287
- },
288
- gasOptions
289
- );
290
- return {
291
- hash: committedTransactionResponse.hash,
292
- sender: signer.accountAddress.toString(),
293
- raw: committedTransactionResponse
294
- };
295
- } else {
296
- if (typeof multisig === "string" || multisig instanceof Uint8Array) {
297
- multisig = AccountAddress.from(multisig);
298
- }
299
- const simple = await this.createMultiSigPayload(multisig, signer.accountAddress, {
279
+ const committedTransactionResponse = await this.sendAndConfirmTransaction_(
280
+ signer,
281
+ {
300
282
  function: func,
301
- args
302
- });
303
- const auth = new AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(simple));
304
- const committedTransactionResponse = await this.sendAndConfirmAuthTransaction({
305
- txn: simple,
306
- auth
307
- });
308
- return {
309
- hash: committedTransactionResponse.hash,
310
- sender: signer.accountAddress.toString(),
311
- raw: committedTransactionResponse
312
- };
313
- }
283
+ functionArguments: args,
284
+ typeArguments
285
+ },
286
+ gasOptions
287
+ );
288
+ return {
289
+ hash: committedTransactionResponse.hash,
290
+ sender: signer.accountAddress.toString(),
291
+ raw: committedTransactionResponse
292
+ };
314
293
  } catch (e) {
315
294
  throw this.handleError(e);
316
295
  }
@@ -338,35 +317,6 @@ var SDK = class {
338
317
  );
339
318
  }
340
319
  }
341
- /**
342
- * Creates a multi-signature payload.
343
- *
344
- * @param {AccountAddress} multisig_address - The multi-signature account address.
345
- * @param {AccountAddress} sender - The sender of the transaction.
346
- * @param {Object} payload_args - The arguments for the payload.
347
- * @param {`${string}::${string}::${string}`} payload_args.function - The function to call.
348
- * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} payload_args.args - The arguments for the function.
349
- * @param {GasOptions} [gasOptions] - The gas options.
350
- * @returns {Promise<SimpleTransaction>} The created multi-signature payload.
351
- */
352
- async createMultiSigPayload(multisig_address, sender, payload_args, gasOptions) {
353
- const payload = await generateTransactionPayload({
354
- multisigAddress: multisig_address,
355
- function: payload_args.function,
356
- functionArguments: payload_args.args,
357
- aptosConfig: this.client.config
358
- });
359
- const payload_ = await generateRawTransaction({
360
- aptosConfig: this.client.config,
361
- sender,
362
- payload,
363
- options: {
364
- gasUnitPrice: gasOptions?.gasPrice === void 0 ? void 0 : Number(gasOptions.gasPrice),
365
- maxGasAmount: gasOptions?.gasLimit === void 0 ? void 0 : Number(gasOptions.gasLimit)
366
- }
367
- });
368
- return new SimpleTransaction(payload_);
369
- }
370
320
  /**
371
321
  * Estimates the gas required for a transaction.
372
322
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/generated/addresses.ts","../src/utils.ts"],"names":["Stage"],"mappings":"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","sourcesContent":["import {\n AccountAddress,\n AccountAddressInput,\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n Aptos,\n AptosApiError,\n AptosConfig,\n CommittedTransactionResponse,\n Ed25519Account,\n Ed25519PrivateKey,\n InputEntryFunctionData,\n InputViewFunctionData,\n LedgerVersionArg,\n MoveStructId,\n Network as Net,\n SimpleEntryFunctionArgumentTypes,\n SimpleTransaction,\n TableItemRequest,\n generateRawTransaction,\n generateTransactionPayload,\n} from '@aptos-labs/ts-sdk'\nimport * as aptos from 'aptos'\nimport invariant from 'tiny-invariant'\n\nimport { Provider } from '@layerzerolabs/lz-core'\nimport { AptosProvider } from '@layerzerolabs/lz-corekit-aptos'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\nimport { applyGasLimitSafety } from './utils'\n\nexport * from './utils'\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: Aptos\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Asserts that the given provider is an instance of AptosProvider.\n *\n * @param {Provider} provider - The provider to check.\n * @throws {Error} If the provider is not an instance of AptosProvider.\n */\nfunction assertAptosProvider(provider: Provider): asserts provider is AptosProvider {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Invalid provider')\n }\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n const client = provider.native as aptos.AptosClient\n const url = client.nodeUrl\n assertAptosProvider(provider)\n const indexerUrl = provider.indexer\n const faucetUrl = provider.faucet\n const aptosConfig = new AptosConfig({ network: Net.LOCAL, fullnode: url, indexer: indexerUrl, faucet: faucetUrl })\n const aptos = new Aptos(aptosConfig)\n return new SDK({ provider: aptos })\n}\n\n/**\n * Interface representing an option value.\n */\ninterface OptionValue {\n /**\n * The vector of Move values.\n */\n vec: MoveValue[]\n}\n\n/**\n * Checks if the given value is an OptionValue.\n * In contract, the type will be Option<xxx>, In SDK, the type will be OptionValue.\n *\n * @param {unknown} value - The value to check.\n * @returns {value is OptionValue} True if the value is an OptionValue, false otherwise.\n */\nfunction isOptionValue(value: unknown): value is OptionValue {\n return typeof value === 'object' && value != null && 'vec' in value\n}\n\n/**\n * The SDK class provides methods to interact with the Aptos.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<Ed25519Account>}\n */\nexport class SDK implements MoveSdkImpl<Ed25519Account> {\n stage: Stage\n client: Aptos\n LayerzeroModule: LayerZeroModulesSdk<Ed25519Account>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: AccountAddress.from(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n counter_v2: AccountAddress.from(COUNTER_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n oft: AccountAddress.from(OFT_ADDRESS[this.stage] ?? '0x0').toString(),\n layerzero_views: AccountAddress.from(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0').toString(),\n simple_message_lib: AccountAddress.from(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n uln_message_lib: AccountAddress.from(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n executor: AccountAddress.from(EXECUTOR_ADDRESS[this.stage] ?? '0x0').toString(),\n dvn: AccountAddress.from(DVN_ADDRESS[this.stage] ?? '0x0').toString(),\n worker_common: AccountAddress.from(WORKER_COMMON[this.stage] ?? '0x0').toString(),\n price_feed: AccountAddress.from(PRICE_FEED[this.stage] ?? '0x0').toString(),\n treasury: AccountAddress.from(TREASURY_ADDRESS[this.stage] ?? '0x0').toString(),\n endpoint_v2_common: AccountAddress.from(ENDPOINT_V2_COMMON[this.stage] ?? '0x0').toString(),\n }\n this.client = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Aptos client.\n *\n * @returns {Aptos} The Aptos client.\n */\n getAptosClient(): Aptos {\n return this.client\n }\n\n /**\n * Sends and confirms an authenticated transaction.\n *\n * @param {Object} args - The arguments for the transaction.\n * @param {SimpleTransaction} args.txn - The transaction to send.\n * @param {AccountAuthenticator} args.auth - The authenticator for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n */\n async sendAndConfirmAuthTransaction(args: {\n txn: SimpleTransaction\n auth: AccountAuthenticator\n }): Promise<CommittedTransactionResponse> {\n const res = await this.client.transaction.submit.simple({\n transaction: args.txn,\n senderAuthenticator: args.auth,\n })\n return this.waitAndGetTransaction(res.hash)\n }\n\n /**\n * Sends and confirms a transaction with the given signer and payload.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @param {GasOptions} [gasOptions] - The gas options for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @private\n */\n private async sendAndConfirmTransaction_(\n signer: Ed25519Account,\n payload: InputEntryFunctionData,\n gasOptions?: GasOptions\n ): Promise<CommittedTransactionResponse> {\n this.assertValidGasOptions(gasOptions)\n const options = await this.estimateGas(signer, payload)\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n options: {\n gasUnitPrice: Number(gasOptions?.gasPrice !== undefined ? gasOptions.gasPrice : options.gas_unit_price),\n maxGasAmount: Number(gasOptions?.gasLimit !== undefined ? gasOptions.gasLimit : options.max_gas_amount),\n },\n })\n const auth = new AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(txnRequest))\n return this.sendAndConfirmAuthTransaction({ txn: txnRequest, auth: auth })\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, MoveTableItemNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (e instanceof AptosApiError) {\n const errorData = e.data as { message: string | undefined; error_code: string | undefined }\n const errorString = errorData.message ?? ''\n const errorCode = errorData.error_code ?? ''\n const majorStatusMatch = errorString.match(/major_status:\\s([A-Z_]+)/)\n if (majorStatusMatch !== null) {\n const major_status = majorStatusMatch[1]\n if (major_status === 'ABORTED') {\n const subStatusMatch = errorString.match(/sub_status:\\sSome\\((\\d+)\\)/)\n if (subStatusMatch === null) {\n return new MoveAbortError(Number.NEGATIVE_INFINITY, errorString)\n } else {\n return new MoveAbortError(Number(subStatusMatch[1]), errorString)\n }\n } else if (major_status === 'MISSING_DATA') {\n return new MoveResourceNotFoundError(errorString)\n }\n } else if (errorCode === 'resource_not_found') {\n return new MoveResourceNotFoundError(errorString)\n } else if (errorCode === 'table_item_not_found') {\n return new MoveTableItemNotFoundError(errorString)\n } else {\n return new UnclassifiedError(errorString)\n }\n }\n return e\n }\n\n /**\n * Executes a view function and returns the result.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.typeArgs] - The type arguments for the function.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const payload: InputViewFunctionData = {\n function: args.functionName,\n functionArguments: args.functionArgs,\n typeArguments: args.typeArgs ?? [],\n }\n try {\n let view = await this.client.view({ payload })\n view = view.map((item) => {\n if (isOptionValue(item)) {\n if (item.vec.length !== 0) {\n return item.vec[0]\n } else {\n return null\n }\n }\n return item\n })\n if (view.length > 1) {\n view = [view]\n }\n return view as MoveValue[]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the signer to an Ed25519Account.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {Ed25519Account} The normalized signer.\n * @throws {Error} If the signer is invalid.\n */\n normalizeSigner(signer: Ed25519Account | PrivateKey | MnemonicAndPath): Ed25519Account {\n if (signer instanceof Ed25519Account) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n return Ed25519Account.fromDerivationPath(signer)\n } else if (isPrivateKey(signer)) {\n return new Ed25519Account({ privateKey: new Ed25519PrivateKey(signer) })\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts an account to an address string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: Ed25519Account): string {\n return account.accountAddress.toString()\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string | Uint8Array | AccountAddress} [multisig] - The multisig address or data.\n * @param {string[]} [_] - Unused parameter.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n signer: Ed25519Account | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[],\n multisig?: string | Uint8Array | AccountAddress,\n _?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n signer = this.normalizeSigner(signer)\n if (multisig === undefined) {\n const committedTransactionResponse = await this.sendAndConfirmTransaction_(\n signer,\n {\n function: func,\n functionArguments: args,\n typeArguments,\n },\n gasOptions\n )\n return {\n hash: committedTransactionResponse.hash,\n sender: signer.accountAddress.toString(),\n raw: committedTransactionResponse,\n }\n } else {\n if (typeof multisig === 'string' || multisig instanceof Uint8Array) {\n multisig = AccountAddress.from(multisig)\n }\n const simple = await this.createMultiSigPayload(multisig, signer.accountAddress, {\n function: func,\n args: args,\n })\n const auth = new AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(simple))\n const committedTransactionResponse = await this.sendAndConfirmAuthTransaction({\n txn: simple,\n auth: auth,\n })\n return {\n hash: committedTransactionResponse.hash,\n sender: signer.accountAddress.toString(),\n raw: committedTransactionResponse,\n }\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Asserts that the given gas options are valid.\n *\n * @param {GasOptions} [gasOptions] - The gas options to validate.\n * @throws {Error} If the gas options are invalid.\n */\n assertValidGasOptions(gasOptions?: GasOptions): void {\n if (gasOptions === undefined) {\n return\n }\n if (gasOptions.gasPrice !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasPrice)),\n `Invalid gas price: ${gasOptions.gasPrice}, must be an integer`\n )\n }\n if (gasOptions.gasLimit !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasLimit)),\n `Invalid gas limit: ${gasOptions.gasLimit}, must be an integer`\n )\n }\n }\n\n /**\n * Creates a multi-signature payload.\n *\n * @param {AccountAddress} multisig_address - The multi-signature account address.\n * @param {AccountAddress} sender - The sender of the transaction.\n * @param {Object} payload_args - The arguments for the payload.\n * @param {`${string}::${string}::${string}`} payload_args.function - The function to call.\n * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} payload_args.args - The arguments for the function.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @returns {Promise<SimpleTransaction>} The created multi-signature payload.\n */\n async createMultiSigPayload(\n multisig_address: AccountAddress,\n sender: AccountAddress,\n payload_args: {\n function: `${string}::${string}::${string}`\n args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]\n },\n gasOptions?: GasOptions\n ): Promise<SimpleTransaction> {\n const payload = await generateTransactionPayload({\n multisigAddress: multisig_address,\n function: payload_args.function,\n functionArguments: payload_args.args,\n aptosConfig: this.client.config,\n })\n const payload_ = await generateRawTransaction({\n aptosConfig: this.client.config,\n sender: sender,\n payload: payload,\n options: {\n gasUnitPrice: gasOptions?.gasPrice === undefined ? undefined : Number(gasOptions.gasPrice),\n maxGasAmount: gasOptions?.gasLimit === undefined ? undefined : Number(gasOptions.gasLimit),\n },\n })\n return new SimpleTransaction(payload_)\n }\n\n /**\n * Estimates the gas required for a transaction.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @returns {Promise<{ max_gas_amount: string; gas_unit_price: string }>} The estimated gas amount and gas unit price.\n */\n async estimateGas(\n signer: Ed25519Account,\n payload: InputEntryFunctionData\n ): Promise<{\n max_gas_amount: string\n gas_unit_price: string\n }> {\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n })\n const sim = await this.client.transaction.simulate.simple({\n signerPublicKey: signer.publicKey,\n transaction: txnRequest,\n options: {\n estimateGasUnitPrice: true,\n estimateMaxGasAmount: true,\n },\n })\n const tx = sim[0]\n invariant(tx.success, `Transaction failed: ${tx.vm_status}}`)\n const max_gas_amount = applyGasLimitSafety(tx.gas_used).toString()\n return {\n max_gas_amount,\n gas_unit_price: tx.gas_unit_price,\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {AccountAddressInput} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {LedgerVersionArg} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n * @throws {Error} If the request fails.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: AccountAddressInput\n resourceType: MoveStructId\n options?: LedgerVersionArg\n }): Promise<T> {\n try {\n return await this.client.getAccountResource(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets a table item.\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {LedgerVersionArg} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n * @throws {Error} If the request fails.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: LedgerVersionArg }): Promise<T> {\n try {\n return await this.client.getTableItem(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Waits for a transaction to be confirmed and returns the transaction response.\n *\n * @param {string} txnHash - The hash of the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @throws {Error} If the transaction fails.\n * @private\n */\n private async waitAndGetTransaction(txnHash: string): Promise<CommittedTransactionResponse> {\n const tx = await this.client.waitForTransaction({ transactionHash: txnHash })\n invariant(tx.success, `Transaction failed: ${tx.vm_status}`)\n return tx\n }\n\n /**\n * Normalizes an address to a string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return AccountAddress.from(address).toString()\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return true\n }\n}\n","// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xd9fbd5191a9864742464950e4e850786b60d26b1349dcc2227de294c7b2b32c5',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xc726431adfe8c4a28ccd0f2b3810487a7b4438092244f0d894d3600087c5e66d',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xb785f6093141e4729eb46dd7398dd7259cd5ce74e312b29ed12380bba1606808',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xbd4d9a38bb4789c9fb32d1cdbf269df52bb2771145cf41afc1a6087acf3bfc6d',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xfc07ed99874d8dab5174934e2e5ecafd5bc4fad2253cd4f7a7b23d5268a9b3e3',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x93e05b851b0c06bedf77e6bcd60aa9922dc83a9b268cb9e089ff2ef06cdc5bb5',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0f3a1a2e15f2558198339aec958d6db36a4e247415c8bb061ba77e4543ce6b4d',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x51ec85b4cf4d7ac03a2a42853a5f0cfbd22f56fda66726e1f98906d5829b7c22',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0100ee640b091eae215a628c37c45d3ec6f165e373e8a6b0d6e4ce8f6eed73d5',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x420a695c2ad3a128d1fded450346326ec2e342f5cf9f205b53e8456f60e795d6',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x3130ea2bf26ed0da8d44f8154a43383e630f202fcc474e1154cf4fd9828caada',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x84937e3698c2ba30eb1a7dcdc4fbe912c9f2f2675cd0d5bc7a83e5d732d665b7',\n}\n","/**\n * The basis points (BPS) used to apply a safety margin to the gas limit.\n *\n * 1 BPS = 0.01%, so 2000 BPS = 20%.\n */\nexport const GAS_LIMIT_SAFETY_BPS = 2000\n\n/**\n * Applies a safety margin to the gas limit.\n *\n * @param {string} gasUsed - The amount of gas used.\n * @returns {bigint} The gas limit with the safety margin applied.\n */\nexport function applyGasLimitSafety(gasUsed: string): bigint {\n return (BigInt(gasUsed) * BigInt(10000 + GAS_LIMIT_SAFETY_BPS)) / BigInt(10000)\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/generated/addresses.ts","../src/utils.ts"],"names":["Stage"],"mappings":"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","sourcesContent":["import {\n AccountAddress,\n AccountAddressInput,\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n Aptos,\n AptosApiError,\n AptosConfig,\n CommittedTransactionResponse,\n Ed25519Account,\n Ed25519PrivateKey,\n InputEntryFunctionData,\n InputViewFunctionData,\n LedgerVersionArg,\n MoveStructId,\n Network as Net,\n SimpleEntryFunctionArgumentTypes,\n SimpleTransaction,\n TableItemRequest,\n} from '@aptos-labs/ts-sdk'\nimport * as aptos from 'aptos'\nimport invariant from 'tiny-invariant'\n\nimport { Provider } from '@layerzerolabs/lz-core'\nimport { AptosProvider } from '@layerzerolabs/lz-corekit-aptos'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\nimport { applyGasLimitSafety } from './utils'\n\nexport * from './utils'\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: Aptos\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Asserts that the given provider is an instance of AptosProvider.\n *\n * @param {Provider} provider - The provider to check.\n * @throws {Error} If the provider is not an instance of AptosProvider.\n */\nfunction assertAptosProvider(provider: Provider): asserts provider is AptosProvider {\n if (!(provider instanceof AptosProvider)) {\n throw new Error('Invalid provider')\n }\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n const client = provider.native as aptos.AptosClient\n const url = client.nodeUrl\n assertAptosProvider(provider)\n const indexerUrl = provider.indexer\n const faucetUrl = provider.faucet\n const aptosConfig = new AptosConfig({ network: Net.LOCAL, fullnode: url, indexer: indexerUrl, faucet: faucetUrl })\n const aptos = new Aptos(aptosConfig)\n return new SDK({ provider: aptos })\n}\n\n/**\n * Interface representing an option value.\n */\ninterface OptionValue {\n /**\n * The vector of Move values.\n */\n vec: MoveValue[]\n}\n\n/**\n * Checks if the given value is an OptionValue.\n * In contract, the type will be Option<xxx>, In SDK, the type will be OptionValue.\n *\n * @param {unknown} value - The value to check.\n * @returns {value is OptionValue} True if the value is an OptionValue, false otherwise.\n */\nfunction isOptionValue(value: unknown): value is OptionValue {\n return typeof value === 'object' && value != null && 'vec' in value\n}\n\n/**\n * The SDK class provides methods to interact with the Aptos.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<Ed25519Account>}\n */\nexport class SDK implements MoveSdkImpl<Ed25519Account> {\n stage: Stage\n client: Aptos\n LayerzeroModule: LayerZeroModulesSdk<Ed25519Account>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: AccountAddress.from(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n counter_v2: AccountAddress.from(COUNTER_V2_ADDRESS[this.stage] ?? '0x0').toString(),\n oft: AccountAddress.from(OFT_ADDRESS[this.stage] ?? '0x0').toString(),\n layerzero_views: AccountAddress.from(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0').toString(),\n simple_message_lib: AccountAddress.from(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n uln_message_lib: AccountAddress.from(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0').toString(),\n executor: AccountAddress.from(EXECUTOR_ADDRESS[this.stage] ?? '0x0').toString(),\n dvn: AccountAddress.from(DVN_ADDRESS[this.stage] ?? '0x0').toString(),\n worker_common: AccountAddress.from(WORKER_COMMON[this.stage] ?? '0x0').toString(),\n price_feed: AccountAddress.from(PRICE_FEED[this.stage] ?? '0x0').toString(),\n treasury: AccountAddress.from(TREASURY_ADDRESS[this.stage] ?? '0x0').toString(),\n endpoint_v2_common: AccountAddress.from(ENDPOINT_V2_COMMON[this.stage] ?? '0x0').toString(),\n }\n this.client = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Aptos client.\n *\n * @returns {Aptos} The Aptos client.\n */\n getAptosClient(): Aptos {\n return this.client\n }\n\n /**\n * Sends and confirms an authenticated transaction.\n *\n * @param {Object} args - The arguments for the transaction.\n * @param {SimpleTransaction} args.txn - The transaction to send.\n * @param {AccountAuthenticator} args.auth - The authenticator for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n */\n async sendAndConfirmAuthTransaction(args: {\n txn: SimpleTransaction\n auth: AccountAuthenticator\n }): Promise<CommittedTransactionResponse> {\n const res = await this.client.transaction.submit.simple({\n transaction: args.txn,\n senderAuthenticator: args.auth,\n })\n return this.waitAndGetTransaction(res.hash)\n }\n\n /**\n * Sends and confirms a transaction with the given signer and payload.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @param {GasOptions} [gasOptions] - The gas options for the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @private\n */\n private async sendAndConfirmTransaction_(\n signer: Ed25519Account,\n payload: InputEntryFunctionData,\n gasOptions?: GasOptions\n ): Promise<CommittedTransactionResponse> {\n this.assertValidGasOptions(gasOptions)\n const options = await this.estimateGas(signer, payload)\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n options: {\n gasUnitPrice: Number(gasOptions?.gasPrice !== undefined ? gasOptions.gasPrice : options.gas_unit_price),\n maxGasAmount: Number(gasOptions?.gasLimit !== undefined ? gasOptions.gasLimit : options.max_gas_amount),\n },\n })\n const auth = new AccountAuthenticatorEd25519(signer.publicKey, signer.signTransaction(txnRequest))\n return this.sendAndConfirmAuthTransaction({ txn: txnRequest, auth: auth })\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, MoveTableItemNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (e instanceof AptosApiError) {\n const errorData = e.data as { message: string | undefined; error_code: string | undefined }\n const errorString = errorData.message ?? ''\n const errorCode = errorData.error_code ?? ''\n const majorStatusMatch = errorString.match(/major_status:\\s([A-Z_]+)/)\n if (majorStatusMatch !== null) {\n const major_status = majorStatusMatch[1]\n if (major_status === 'ABORTED') {\n const subStatusMatch = errorString.match(/sub_status:\\sSome\\((\\d+)\\)/)\n if (subStatusMatch === null) {\n return new MoveAbortError(Number.NEGATIVE_INFINITY, errorString)\n } else {\n return new MoveAbortError(Number(subStatusMatch[1]), errorString)\n }\n } else if (major_status === 'MISSING_DATA') {\n return new MoveResourceNotFoundError(errorString)\n }\n } else if (errorCode === 'resource_not_found') {\n return new MoveResourceNotFoundError(errorString)\n } else if (errorCode === 'table_item_not_found') {\n return new MoveTableItemNotFoundError(errorString)\n } else {\n return new UnclassifiedError(errorString)\n }\n }\n return e\n }\n\n /**\n * Executes a view function and returns the result.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.typeArgs] - The type arguments for the function.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const payload: InputViewFunctionData = {\n function: args.functionName,\n functionArguments: args.functionArgs,\n typeArguments: args.typeArgs ?? [],\n }\n try {\n let view = await this.client.view({ payload })\n view = view.map((item) => {\n if (isOptionValue(item)) {\n if (item.vec.length !== 0) {\n return item.vec[0]\n } else {\n return null\n }\n }\n return item\n })\n if (view.length > 1) {\n view = [view]\n }\n return view as MoveValue[]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the signer to an Ed25519Account.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {Ed25519Account} The normalized signer.\n * @throws {Error} If the signer is invalid.\n */\n normalizeSigner(signer: Ed25519Account | PrivateKey | MnemonicAndPath): Ed25519Account {\n if (signer instanceof Ed25519Account) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n return Ed25519Account.fromDerivationPath(signer)\n } else if (isPrivateKey(signer)) {\n return new Ed25519Account({ privateKey: new Ed25519PrivateKey(signer) })\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts an account to an address string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: Ed25519Account): string {\n return account.accountAddress.toString()\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Ed25519Account | PrivateKey | MnemonicAndPath} signer - The signer of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string[]} [_] - Unused parameter.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n signer: Ed25519Account | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[] | SimpleEntryFunctionArgumentTypes[],\n _?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n signer = this.normalizeSigner(signer)\n const committedTransactionResponse = await this.sendAndConfirmTransaction_(\n signer,\n {\n function: func,\n functionArguments: args,\n typeArguments,\n },\n gasOptions\n )\n return {\n hash: committedTransactionResponse.hash,\n sender: signer.accountAddress.toString(),\n raw: committedTransactionResponse,\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Asserts that the given gas options are valid.\n *\n * @param {GasOptions} [gasOptions] - The gas options to validate.\n * @throws {Error} If the gas options are invalid.\n */\n assertValidGasOptions(gasOptions?: GasOptions): void {\n if (gasOptions === undefined) {\n return\n }\n if (gasOptions.gasPrice !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasPrice)),\n `Invalid gas price: ${gasOptions.gasPrice}, must be an integer`\n )\n }\n if (gasOptions.gasLimit !== undefined) {\n invariant(\n Number.isInteger(Number(gasOptions.gasLimit)),\n `Invalid gas limit: ${gasOptions.gasLimit}, must be an integer`\n )\n }\n }\n\n /**\n * Estimates the gas required for a transaction.\n *\n * @param {Ed25519Account} signer - The signer of the transaction.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @returns {Promise<{ max_gas_amount: string; gas_unit_price: string }>} The estimated gas amount and gas unit price.\n */\n async estimateGas(\n signer: Ed25519Account,\n payload: InputEntryFunctionData\n ): Promise<{\n max_gas_amount: string\n gas_unit_price: string\n }> {\n const txnRequest = await this.client.transaction.build.simple({\n sender: signer.accountAddress,\n data: payload,\n })\n const sim = await this.client.transaction.simulate.simple({\n signerPublicKey: signer.publicKey,\n transaction: txnRequest,\n options: {\n estimateGasUnitPrice: true,\n estimateMaxGasAmount: true,\n },\n })\n const tx = sim[0]\n invariant(tx.success, `Transaction failed: ${tx.vm_status}}`)\n const max_gas_amount = applyGasLimitSafety(tx.gas_used).toString()\n return {\n max_gas_amount,\n gas_unit_price: tx.gas_unit_price,\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {AccountAddressInput} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {LedgerVersionArg} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n * @throws {Error} If the request fails.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: AccountAddressInput\n resourceType: MoveStructId\n options?: LedgerVersionArg\n }): Promise<T> {\n try {\n return await this.client.getAccountResource(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets a table item.\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {LedgerVersionArg} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n * @throws {Error} If the request fails.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: LedgerVersionArg }): Promise<T> {\n try {\n return await this.client.getTableItem(args)\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Waits for a transaction to be confirmed and returns the transaction response.\n *\n * @param {string} txnHash - The hash of the transaction.\n * @returns {Promise<CommittedTransactionResponse>} The response of the committed transaction.\n * @throws {Error} If the transaction fails.\n * @private\n */\n private async waitAndGetTransaction(txnHash: string): Promise<CommittedTransactionResponse> {\n const tx = await this.client.waitForTransaction({ transactionHash: txnHash })\n invariant(tx.success, `Transaction failed: ${tx.vm_status}`)\n return tx\n }\n\n /**\n * Normalizes an address to a string.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return AccountAddress.from(address).toString()\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<Ed25519Account>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return true\n }\n}\n","// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xd9fbd5191a9864742464950e4e850786b60d26b1349dcc2227de294c7b2b32c5',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xc726431adfe8c4a28ccd0f2b3810487a7b4438092244f0d894d3600087c5e66d',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xb785f6093141e4729eb46dd7398dd7259cd5ce74e312b29ed12380bba1606808',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xbd4d9a38bb4789c9fb32d1cdbf269df52bb2771145cf41afc1a6087acf3bfc6d',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0xfc07ed99874d8dab5174934e2e5ecafd5bc4fad2253cd4f7a7b23d5268a9b3e3',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x93e05b851b0c06bedf77e6bcd60aa9922dc83a9b268cb9e089ff2ef06cdc5bb5',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0f3a1a2e15f2558198339aec958d6db36a4e247415c8bb061ba77e4543ce6b4d',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x51ec85b4cf4d7ac03a2a42853a5f0cfbd22f56fda66726e1f98906d5829b7c22',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x0100ee640b091eae215a628c37c45d3ec6f165e373e8a6b0d6e4ce8f6eed73d5',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x420a695c2ad3a128d1fded450346326ec2e342f5cf9f205b53e8456f60e795d6',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x3130ea2bf26ed0da8d44f8154a43383e630f202fcc474e1154cf4fd9828caada',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x84937e3698c2ba30eb1a7dcdc4fbe912c9f2f2675cd0d5bc7a83e5d732d665b7',\n}\n","/**\n * The basis points (BPS) used to apply a safety margin to the gas limit.\n *\n * 1 BPS = 0.01%, so 2000 BPS = 20%.\n */\nexport const GAS_LIMIT_SAFETY_BPS = 2000\n\n/**\n * Applies a safety margin to the gas limit.\n *\n * @param {string} gasUsed - The amount of gas used.\n * @returns {bigint} The gas limit with the safety margin applied.\n */\nexport function applyGasLimitSafety(gasUsed: string): bigint {\n return (BigInt(gasUsed) * BigInt(10000 + GAS_LIMIT_SAFETY_BPS)) / BigInt(10000)\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/lz-aptos-sdk-v2",
3
- "version": "3.0.4",
3
+ "version": "3.0.6",
4
4
  "license": "BUSL-1.1",
5
5
  "exports": {
6
6
  ".": {
@@ -27,22 +27,22 @@
27
27
  "dependencies": {
28
28
  "@aptos-labs/ts-sdk": "^1.26.0",
29
29
  "@ethersproject/bytes": "^5.7.0",
30
- "@layerzerolabs/lz-core": "^3.0.4",
31
- "@layerzerolabs/lz-corekit-aptos": "^3.0.4",
32
- "@layerzerolabs/lz-definitions": "^3.0.4",
33
- "@layerzerolabs/lz-movevm-sdk-v2": "^3.0.4",
34
- "@layerzerolabs/lz-serdes": "^3.0.4",
35
- "@layerzerolabs/lz-utilities": "^3.0.4",
36
- "@layerzerolabs/lz-v2-utilities": "^3.0.4",
37
- "@layerzerolabs/move-definitions": "^3.0.4",
30
+ "@layerzerolabs/lz-core": "^3.0.6",
31
+ "@layerzerolabs/lz-corekit-aptos": "^3.0.6",
32
+ "@layerzerolabs/lz-definitions": "^3.0.6",
33
+ "@layerzerolabs/lz-movevm-sdk-v2": "^3.0.6",
34
+ "@layerzerolabs/lz-serdes": "^3.0.6",
35
+ "@layerzerolabs/lz-utilities": "^3.0.6",
36
+ "@layerzerolabs/lz-v2-utilities": "^3.0.6",
37
+ "@layerzerolabs/move-definitions": "^3.0.6",
38
38
  "aptos": "^1.20.0",
39
39
  "tiny-invariant": "^1.3.1"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@jest/globals": "^29.7.0",
43
43
  "@layerzerolabs/runtime-config": "^0.0.0",
44
- "@layerzerolabs/tsup-config-next": "^3.0.4",
45
- "@layerzerolabs/typescript-config-next": "^3.0.4",
44
+ "@layerzerolabs/tsup-config-next": "^3.0.6",
45
+ "@layerzerolabs/typescript-config-next": "^3.0.6",
46
46
  "@types/node": "^20.10.5",
47
47
  "jest": "^29.7.0",
48
48
  "rimraf": "^5.0.5",