@wormhole-foundation/sdk-definitions 0.1.0-beta.3 → 0.1.0-beta.4

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 (328) hide show
  1. package/dist/cjs/address.d.ts +29 -0
  2. package/dist/cjs/address.d.ts.map +1 -0
  3. package/dist/cjs/address.js +29 -0
  4. package/dist/cjs/address.js.map +1 -0
  5. package/dist/cjs/attestation.d.ts +19 -0
  6. package/dist/cjs/attestation.d.ts.map +1 -0
  7. package/dist/cjs/attestation.js +14 -0
  8. package/dist/cjs/attestation.js.map +1 -0
  9. package/dist/cjs/chain.d.ts +31 -0
  10. package/dist/cjs/chain.d.ts.map +1 -0
  11. package/dist/cjs/chain.js +62 -0
  12. package/dist/cjs/chain.js.map +1 -0
  13. package/dist/cjs/contracts.d.ts +10 -0
  14. package/dist/cjs/contracts.d.ts.map +1 -0
  15. package/dist/cjs/contracts.js +18 -0
  16. package/dist/cjs/contracts.js.map +1 -0
  17. package/dist/cjs/index.d.ts +22 -0
  18. package/dist/cjs/index.d.ts.map +1 -0
  19. package/dist/cjs/index.js +52 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/layout-items/amount.d.ts +5 -0
  22. package/dist/cjs/layout-items/amount.d.ts.map +1 -0
  23. package/dist/cjs/layout-items/amount.js +8 -0
  24. package/dist/cjs/layout-items/amount.js.map +1 -0
  25. package/dist/cjs/layout-items/chain.d.ts +26 -0
  26. package/dist/cjs/layout-items/chain.d.ts.map +1 -0
  27. package/dist/cjs/layout-items/chain.js +33 -0
  28. package/dist/cjs/layout-items/chain.js.map +1 -0
  29. package/dist/cjs/layout-items/guardianSet.d.ts +5 -0
  30. package/dist/cjs/layout-items/guardianSet.d.ts.map +1 -0
  31. package/dist/cjs/layout-items/guardianSet.js +8 -0
  32. package/dist/cjs/layout-items/guardianSet.js.map +1 -0
  33. package/dist/cjs/layout-items/index.d.ts +8 -0
  34. package/dist/cjs/layout-items/index.d.ts.map +1 -0
  35. package/dist/cjs/layout-items/index.js +24 -0
  36. package/dist/cjs/layout-items/index.js.map +1 -0
  37. package/dist/cjs/layout-items/payloadId.d.ts +8 -0
  38. package/dist/cjs/layout-items/payloadId.d.ts.map +1 -0
  39. package/dist/cjs/layout-items/payloadId.js +12 -0
  40. package/dist/cjs/layout-items/payloadId.js.map +1 -0
  41. package/dist/cjs/layout-items/sequence.d.ts +5 -0
  42. package/dist/cjs/layout-items/sequence.d.ts.map +1 -0
  43. package/dist/cjs/layout-items/sequence.js +8 -0
  44. package/dist/cjs/layout-items/sequence.js.map +1 -0
  45. package/dist/cjs/layout-items/signature.d.ts +10 -0
  46. package/dist/cjs/layout-items/signature.d.ts.map +1 -0
  47. package/dist/cjs/layout-items/signature.js +22 -0
  48. package/dist/cjs/layout-items/signature.js.map +1 -0
  49. package/dist/cjs/layout-items/universalAddress.d.ts +10 -0
  50. package/dist/cjs/layout-items/universalAddress.d.ts.map +1 -0
  51. package/dist/cjs/layout-items/universalAddress.js +13 -0
  52. package/dist/cjs/layout-items/universalAddress.js.map +1 -0
  53. package/dist/cjs/payloads/connect.d.ts +89 -0
  54. package/dist/cjs/payloads/connect.d.ts.map +1 -0
  55. package/dist/cjs/payloads/connect.js +37 -0
  56. package/dist/cjs/payloads/connect.js.map +1 -0
  57. package/dist/cjs/payloads/governance.d.ts +3286 -0
  58. package/dist/cjs/payloads/governance.d.ts.map +1 -0
  59. package/dist/cjs/payloads/governance.js +157 -0
  60. package/dist/cjs/payloads/governance.js.map +1 -0
  61. package/dist/cjs/payloads/relayer.d.ts +295 -0
  62. package/dist/cjs/payloads/relayer.d.ts.map +1 -0
  63. package/dist/cjs/payloads/relayer.js +75 -0
  64. package/dist/cjs/payloads/relayer.js.map +1 -0
  65. package/dist/cjs/payloads/tokenBridge.d.ts +232 -0
  66. package/dist/cjs/payloads/tokenBridge.d.ts.map +1 -0
  67. package/dist/cjs/payloads/tokenBridge.js +71 -0
  68. package/dist/cjs/payloads/tokenBridge.js.map +1 -0
  69. package/dist/cjs/platform.d.ts +31 -0
  70. package/dist/cjs/platform.d.ts.map +1 -0
  71. package/dist/cjs/platform.js +3 -0
  72. package/dist/cjs/platform.js.map +1 -0
  73. package/dist/cjs/protocols/cctp.d.ts +28 -0
  74. package/dist/cjs/protocols/cctp.d.ts.map +1 -0
  75. package/dist/cjs/protocols/cctp.js +4 -0
  76. package/dist/cjs/protocols/cctp.js.map +1 -0
  77. package/dist/cjs/protocols/core.d.ts +7 -0
  78. package/dist/cjs/protocols/core.d.ts.map +1 -0
  79. package/dist/cjs/protocols/core.js +3 -0
  80. package/dist/cjs/protocols/core.js.map +1 -0
  81. package/dist/cjs/protocols/tokenBridge.d.ts +25 -0
  82. package/dist/cjs/protocols/tokenBridge.d.ts.map +1 -0
  83. package/dist/cjs/protocols/tokenBridge.js +7 -0
  84. package/dist/cjs/protocols/tokenBridge.js.map +1 -0
  85. package/dist/cjs/relayer.d.ts +10 -0
  86. package/dist/cjs/relayer.d.ts.map +1 -0
  87. package/dist/cjs/relayer.js +16 -0
  88. package/dist/cjs/relayer.js.map +1 -0
  89. package/dist/cjs/rpc.d.ts +11 -0
  90. package/dist/cjs/rpc.d.ts.map +1 -0
  91. package/dist/cjs/rpc.js +3 -0
  92. package/dist/cjs/rpc.js.map +1 -0
  93. package/dist/cjs/signature.d.ts +11 -0
  94. package/dist/cjs/signature.d.ts.map +1 -0
  95. package/dist/cjs/signature.js +29 -0
  96. package/dist/cjs/signature.js.map +1 -0
  97. package/dist/cjs/testing/index.d.ts +3 -0
  98. package/dist/cjs/testing/index.d.ts.map +1 -0
  99. package/dist/cjs/testing/index.js +29 -0
  100. package/dist/cjs/testing/index.js.map +1 -0
  101. package/dist/cjs/testing/mocks/api.d.ts +7 -0
  102. package/dist/cjs/testing/mocks/api.d.ts.map +1 -0
  103. package/dist/cjs/testing/mocks/api.js +14 -0
  104. package/dist/cjs/testing/mocks/api.js.map +1 -0
  105. package/dist/cjs/testing/mocks/chain.d.ts +8 -0
  106. package/dist/cjs/testing/mocks/chain.d.ts.map +1 -0
  107. package/dist/cjs/testing/mocks/chain.js +17 -0
  108. package/dist/cjs/testing/mocks/chain.js.map +1 -0
  109. package/dist/cjs/testing/mocks/contracts.d.ts +17 -0
  110. package/dist/cjs/testing/mocks/contracts.d.ts.map +1 -0
  111. package/dist/cjs/testing/mocks/contracts.js +50 -0
  112. package/dist/cjs/testing/mocks/contracts.js.map +1 -0
  113. package/dist/cjs/testing/mocks/index.d.ts +6 -0
  114. package/dist/cjs/testing/mocks/index.d.ts.map +1 -0
  115. package/dist/cjs/testing/mocks/index.js +22 -0
  116. package/dist/cjs/testing/mocks/index.js.map +1 -0
  117. package/dist/cjs/testing/mocks/platform.d.ts +27 -0
  118. package/dist/cjs/testing/mocks/platform.d.ts.map +1 -0
  119. package/dist/cjs/testing/mocks/platform.js +83 -0
  120. package/dist/cjs/testing/mocks/platform.js.map +1 -0
  121. package/dist/cjs/testing/mocks/rpc.d.ts +7 -0
  122. package/dist/cjs/testing/mocks/rpc.d.ts.map +1 -0
  123. package/dist/cjs/testing/mocks/rpc.js +14 -0
  124. package/dist/cjs/testing/mocks/rpc.js.map +1 -0
  125. package/dist/cjs/testing/mocks/tokenBridge.d.ts +17 -0
  126. package/dist/cjs/testing/mocks/tokenBridge.d.ts.map +1 -0
  127. package/dist/cjs/testing/mocks/tokenBridge.js +46 -0
  128. package/dist/cjs/testing/mocks/tokenBridge.js.map +1 -0
  129. package/dist/cjs/testing/utils/address.d.ts +6 -0
  130. package/dist/cjs/testing/utils/address.d.ts.map +1 -0
  131. package/dist/cjs/testing/utils/address.js +56 -0
  132. package/dist/cjs/testing/utils/address.js.map +1 -0
  133. package/dist/cjs/testing/utils/index.d.ts +3 -0
  134. package/dist/cjs/testing/utils/index.d.ts.map +1 -0
  135. package/dist/cjs/testing/utils/index.js +19 -0
  136. package/dist/cjs/testing/utils/index.js.map +1 -0
  137. package/dist/cjs/testing/utils/vaa.d.ts +10 -0
  138. package/dist/cjs/testing/utils/vaa.d.ts.map +1 -0
  139. package/dist/cjs/testing/utils/vaa.js +16 -0
  140. package/dist/cjs/testing/utils/vaa.js.map +1 -0
  141. package/dist/cjs/types.d.ts +34 -0
  142. package/dist/cjs/types.d.ts.map +1 -0
  143. package/dist/cjs/types.js +34 -0
  144. package/dist/cjs/types.js.map +1 -0
  145. package/dist/cjs/universalAddress.d.ts +14 -0
  146. package/dist/cjs/universalAddress.d.ts.map +1 -0
  147. package/dist/cjs/universalAddress.js +46 -0
  148. package/dist/cjs/universalAddress.js.map +1 -0
  149. package/dist/cjs/unsignedTransaction.d.ts +9 -0
  150. package/dist/cjs/unsignedTransaction.d.ts.map +1 -0
  151. package/dist/cjs/unsignedTransaction.js +3 -0
  152. package/dist/cjs/unsignedTransaction.js.map +1 -0
  153. package/dist/cjs/utils.d.ts +3 -0
  154. package/dist/cjs/utils.d.ts.map +1 -0
  155. package/dist/cjs/utils.js +7 -0
  156. package/dist/cjs/utils.js.map +1 -0
  157. package/dist/cjs/vaa.d.ts +157 -0
  158. package/dist/cjs/vaa.d.ts.map +1 -0
  159. package/dist/cjs/vaa.js +117 -0
  160. package/dist/cjs/vaa.js.map +1 -0
  161. package/dist/esm/address.d.ts +29 -0
  162. package/dist/esm/address.d.ts.map +1 -0
  163. package/dist/esm/address.js +23 -0
  164. package/dist/esm/address.js.map +1 -0
  165. package/dist/esm/attestation.d.ts +19 -0
  166. package/dist/esm/attestation.d.ts.map +1 -0
  167. package/dist/esm/attestation.js +9 -0
  168. package/dist/esm/attestation.js.map +1 -0
  169. package/dist/esm/chain.d.ts +31 -0
  170. package/dist/esm/chain.d.ts.map +1 -0
  171. package/dist/esm/chain.js +58 -0
  172. package/dist/esm/chain.js.map +1 -0
  173. package/dist/esm/contracts.d.ts +10 -0
  174. package/dist/esm/contracts.d.ts.map +1 -0
  175. package/dist/esm/contracts.js +14 -0
  176. package/dist/esm/contracts.js.map +1 -0
  177. package/dist/esm/index.d.ts +22 -0
  178. package/dist/esm/index.d.ts.map +1 -0
  179. package/dist/esm/index.js +23 -0
  180. package/dist/esm/index.js.map +1 -0
  181. package/dist/esm/layout-items/amount.d.ts +5 -0
  182. package/dist/esm/layout-items/amount.d.ts.map +1 -0
  183. package/dist/esm/layout-items/amount.js +5 -0
  184. package/dist/esm/layout-items/amount.js.map +1 -0
  185. package/dist/esm/layout-items/chain.d.ts +26 -0
  186. package/dist/esm/layout-items/chain.d.ts.map +1 -0
  187. package/dist/esm/layout-items/chain.js +28 -0
  188. package/dist/esm/layout-items/chain.js.map +1 -0
  189. package/dist/esm/layout-items/guardianSet.d.ts +5 -0
  190. package/dist/esm/layout-items/guardianSet.d.ts.map +1 -0
  191. package/dist/esm/layout-items/guardianSet.js +5 -0
  192. package/dist/esm/layout-items/guardianSet.js.map +1 -0
  193. package/dist/esm/layout-items/index.d.ts +8 -0
  194. package/dist/esm/layout-items/index.d.ts.map +1 -0
  195. package/dist/esm/layout-items/index.js +8 -0
  196. package/dist/esm/layout-items/index.js.map +1 -0
  197. package/dist/esm/layout-items/payloadId.d.ts +8 -0
  198. package/dist/esm/layout-items/payloadId.d.ts.map +1 -0
  199. package/dist/esm/layout-items/payloadId.js +8 -0
  200. package/dist/esm/layout-items/payloadId.js.map +1 -0
  201. package/dist/esm/layout-items/sequence.d.ts +5 -0
  202. package/dist/esm/layout-items/sequence.d.ts.map +1 -0
  203. package/dist/esm/layout-items/sequence.js +5 -0
  204. package/dist/esm/layout-items/sequence.js.map +1 -0
  205. package/dist/esm/layout-items/signature.d.ts +10 -0
  206. package/dist/esm/layout-items/signature.d.ts.map +1 -0
  207. package/dist/esm/layout-items/signature.js +19 -0
  208. package/dist/esm/layout-items/signature.js.map +1 -0
  209. package/dist/esm/layout-items/universalAddress.d.ts +10 -0
  210. package/dist/esm/layout-items/universalAddress.d.ts.map +1 -0
  211. package/dist/esm/layout-items/universalAddress.js +10 -0
  212. package/dist/esm/layout-items/universalAddress.js.map +1 -0
  213. package/dist/esm/payloads/connect.d.ts +89 -0
  214. package/dist/esm/payloads/connect.d.ts.map +1 -0
  215. package/dist/esm/payloads/connect.js +34 -0
  216. package/dist/esm/payloads/connect.js.map +1 -0
  217. package/dist/esm/payloads/governance.d.ts +3286 -0
  218. package/dist/esm/payloads/governance.d.ts.map +1 -0
  219. package/dist/esm/payloads/governance.js +155 -0
  220. package/dist/esm/payloads/governance.js.map +1 -0
  221. package/dist/esm/payloads/relayer.d.ts +295 -0
  222. package/dist/esm/payloads/relayer.d.ts.map +1 -0
  223. package/dist/esm/payloads/relayer.js +73 -0
  224. package/dist/esm/payloads/relayer.js.map +1 -0
  225. package/dist/esm/payloads/tokenBridge.d.ts +232 -0
  226. package/dist/esm/payloads/tokenBridge.d.ts.map +1 -0
  227. package/dist/esm/payloads/tokenBridge.js +67 -0
  228. package/dist/esm/payloads/tokenBridge.js.map +1 -0
  229. package/dist/esm/platform.d.ts +31 -0
  230. package/dist/esm/platform.d.ts.map +1 -0
  231. package/dist/esm/platform.js +2 -0
  232. package/dist/esm/platform.js.map +1 -0
  233. package/dist/esm/protocols/cctp.d.ts +28 -0
  234. package/dist/esm/protocols/cctp.d.ts.map +1 -0
  235. package/dist/esm/protocols/cctp.js +2 -0
  236. package/dist/esm/protocols/cctp.js.map +1 -0
  237. package/dist/esm/protocols/core.d.ts +7 -0
  238. package/dist/esm/protocols/core.d.ts.map +1 -0
  239. package/dist/esm/protocols/core.js +2 -0
  240. package/dist/esm/protocols/core.js.map +1 -0
  241. package/dist/esm/protocols/tokenBridge.d.ts +25 -0
  242. package/dist/esm/protocols/tokenBridge.d.ts.map +1 -0
  243. package/dist/esm/protocols/tokenBridge.js +3 -0
  244. package/dist/esm/protocols/tokenBridge.js.map +1 -0
  245. package/dist/esm/relayer.d.ts +10 -0
  246. package/dist/esm/relayer.d.ts.map +1 -0
  247. package/dist/esm/relayer.js +15 -0
  248. package/dist/esm/relayer.js.map +1 -0
  249. package/dist/esm/rpc.d.ts +11 -0
  250. package/dist/esm/rpc.d.ts.map +1 -0
  251. package/dist/esm/rpc.js +2 -0
  252. package/dist/esm/rpc.js.map +1 -0
  253. package/dist/esm/signature.d.ts +11 -0
  254. package/dist/esm/signature.d.ts.map +1 -0
  255. package/dist/esm/signature.js +25 -0
  256. package/dist/esm/signature.js.map +1 -0
  257. package/dist/esm/testing/index.d.ts +3 -0
  258. package/dist/esm/testing/index.d.ts.map +1 -0
  259. package/dist/esm/testing/index.js +3 -0
  260. package/dist/esm/testing/index.js.map +1 -0
  261. package/dist/esm/testing/mocks/api.d.ts +7 -0
  262. package/dist/esm/testing/mocks/api.d.ts.map +1 -0
  263. package/dist/esm/testing/mocks/api.js +10 -0
  264. package/dist/esm/testing/mocks/api.js.map +1 -0
  265. package/dist/esm/testing/mocks/chain.d.ts +8 -0
  266. package/dist/esm/testing/mocks/chain.d.ts.map +1 -0
  267. package/dist/esm/testing/mocks/chain.js +12 -0
  268. package/dist/esm/testing/mocks/chain.js.map +1 -0
  269. package/dist/esm/testing/mocks/contracts.d.ts +17 -0
  270. package/dist/esm/testing/mocks/contracts.d.ts.map +1 -0
  271. package/dist/esm/testing/mocks/contracts.js +46 -0
  272. package/dist/esm/testing/mocks/contracts.js.map +1 -0
  273. package/dist/esm/testing/mocks/index.d.ts +6 -0
  274. package/dist/esm/testing/mocks/index.d.ts.map +1 -0
  275. package/dist/esm/testing/mocks/index.js +6 -0
  276. package/dist/esm/testing/mocks/index.js.map +1 -0
  277. package/dist/esm/testing/mocks/platform.d.ts +27 -0
  278. package/dist/esm/testing/mocks/platform.d.ts.map +1 -0
  279. package/dist/esm/testing/mocks/platform.js +78 -0
  280. package/dist/esm/testing/mocks/platform.js.map +1 -0
  281. package/dist/esm/testing/mocks/rpc.d.ts +7 -0
  282. package/dist/esm/testing/mocks/rpc.d.ts.map +1 -0
  283. package/dist/esm/testing/mocks/rpc.js +10 -0
  284. package/dist/esm/testing/mocks/rpc.js.map +1 -0
  285. package/dist/esm/testing/mocks/tokenBridge.d.ts +17 -0
  286. package/dist/esm/testing/mocks/tokenBridge.d.ts.map +1 -0
  287. package/dist/esm/testing/mocks/tokenBridge.js +42 -0
  288. package/dist/esm/testing/mocks/tokenBridge.js.map +1 -0
  289. package/dist/esm/testing/utils/address.d.ts +6 -0
  290. package/dist/esm/testing/utils/address.d.ts.map +1 -0
  291. package/dist/esm/testing/utils/address.js +47 -0
  292. package/dist/esm/testing/utils/address.js.map +1 -0
  293. package/dist/esm/testing/utils/index.d.ts +3 -0
  294. package/dist/esm/testing/utils/index.d.ts.map +1 -0
  295. package/dist/esm/testing/utils/index.js +3 -0
  296. package/dist/esm/testing/utils/index.js.map +1 -0
  297. package/dist/esm/testing/utils/vaa.d.ts +10 -0
  298. package/dist/esm/testing/utils/vaa.d.ts.map +1 -0
  299. package/dist/esm/testing/utils/vaa.js +12 -0
  300. package/dist/esm/testing/utils/vaa.js.map +1 -0
  301. package/dist/esm/types.d.ts +34 -0
  302. package/dist/esm/types.d.ts.map +1 -0
  303. package/dist/esm/types.js +27 -0
  304. package/dist/esm/types.js.map +1 -0
  305. package/dist/esm/universalAddress.d.ts +14 -0
  306. package/dist/esm/universalAddress.d.ts.map +1 -0
  307. package/dist/esm/universalAddress.js +42 -0
  308. package/dist/esm/universalAddress.js.map +1 -0
  309. package/dist/esm/unsignedTransaction.d.ts +9 -0
  310. package/dist/esm/unsignedTransaction.d.ts.map +1 -0
  311. package/dist/esm/unsignedTransaction.js +2 -0
  312. package/dist/esm/unsignedTransaction.js.map +1 -0
  313. package/dist/esm/utils.d.ts +3 -0
  314. package/dist/esm/utils.d.ts.map +1 -0
  315. package/dist/esm/utils.js +4 -0
  316. package/dist/esm/utils.js.map +1 -0
  317. package/dist/esm/vaa.d.ts +157 -0
  318. package/dist/esm/vaa.d.ts.map +1 -0
  319. package/dist/esm/vaa.js +108 -0
  320. package/dist/esm/vaa.js.map +1 -0
  321. package/package.json +16 -1
  322. package/__tests__/connectVAA.ts +0 -21
  323. package/__tests__/governanceVaa.ts +0 -139
  324. package/__tests__/relayerVaa.ts +0 -24
  325. package/__tests__/transferVaa.ts +0 -28
  326. package/tsconfig.cjs.json +0 -8
  327. package/tsconfig.esm.json +0 -8
  328. package/typedoc.json +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsignedTransaction.js","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { keccak_256 } from "@noble/hashes/sha3";
2
+ export { keccak_256 as keccak256 };
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ //@noble is what ethers uses under the hood
2
+ import { keccak_256 } from "@noble/hashes/sha3";
3
+ export { keccak_256 as keccak256 };
4
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { Layout, LayoutItem, LayoutToType, DynamicItemsOfLayout, CustomConversion, LayoutItemToType } from "@wormhole-foundation/sdk-base";
2
+ declare const uint8ArrayConversion: {
3
+ readonly to: (val: Uint8Array) => Uint8Array;
4
+ readonly from: (val: Uint8Array) => Uint8Array;
5
+ };
6
+ declare global {
7
+ namespace Wormhole {
8
+ interface PayloadLiteralToDescriptionMapping {
9
+ Uint8Array: typeof uint8ArrayConversion;
10
+ }
11
+ }
12
+ }
13
+ type PayloadLiteral = keyof Wormhole.PayloadLiteralToDescriptionMapping;
14
+ type DescriptionOf<PL extends PayloadLiteral> = PL extends infer V extends PayloadLiteral ? Wormhole.PayloadLiteralToDescriptionMapping[V] : never;
15
+ type DescriptionToPayloadItem<D extends DescriptionOf<PayloadLiteral>> = [
16
+ D
17
+ ] extends [CustomConversion<Uint8Array, any>] ? {
18
+ name: "payload";
19
+ binary: "bytes";
20
+ custom: D;
21
+ } : [D] extends [Layout] ? {
22
+ name: "payload";
23
+ binary: "object";
24
+ layout: D;
25
+ } : never;
26
+ export type PayloadLiteralToPayloadType<PL extends PayloadLiteral> = DescriptionToPayloadItem<DescriptionOf<PL>> extends infer Item extends LayoutItem ? LayoutItemToType<Item> : never;
27
+ declare const baseLayout: readonly [{
28
+ readonly name: "version";
29
+ readonly binary: "uint";
30
+ readonly size: 1;
31
+ readonly custom: 1;
32
+ readonly omit: true;
33
+ }, {
34
+ readonly binary: "uint";
35
+ readonly size: 4;
36
+ readonly name: "guardianSet";
37
+ }, {
38
+ readonly name: "signatures";
39
+ readonly binary: "array";
40
+ readonly lengthSize: 1;
41
+ readonly layout: readonly [{
42
+ readonly name: "guardianIndex";
43
+ readonly binary: "uint";
44
+ readonly size: 1;
45
+ }, {
46
+ readonly binary: "bytes";
47
+ readonly size: 65;
48
+ readonly custom: {
49
+ readonly to: (val: Uint8Array) => import("./signature").Signature;
50
+ readonly from: (val: import("./signature").Signature) => Uint8Array;
51
+ };
52
+ readonly name: "signature";
53
+ }];
54
+ }, {
55
+ readonly name: "timestamp";
56
+ readonly binary: "uint";
57
+ readonly size: 4;
58
+ }, {
59
+ readonly name: "nonce";
60
+ readonly binary: "uint";
61
+ readonly size: 4;
62
+ }, {
63
+ readonly custom: {
64
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
65
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
66
+ };
67
+ readonly binary: "uint";
68
+ readonly size: 2;
69
+ readonly name: "emitterChain";
70
+ }, {
71
+ readonly binary: "bytes";
72
+ readonly size: 32;
73
+ readonly custom: {
74
+ to: (val: Uint8Array) => import("./universalAddress").UniversalAddress;
75
+ from: (val: import("./universalAddress").UniversalAddress) => Uint8Array;
76
+ };
77
+ readonly name: "emitterAddress";
78
+ }, {
79
+ readonly binary: "uint";
80
+ readonly size: 8;
81
+ readonly name: "sequence";
82
+ }, {
83
+ readonly name: "consistencyLevel";
84
+ readonly binary: "uint";
85
+ readonly size: 1;
86
+ }];
87
+ type BaseLayout = LayoutToType<typeof baseLayout>;
88
+ export interface VAA<PL extends PayloadLiteral = "Uint8Array"> extends BaseLayout {
89
+ readonly payloadLiteral: PL;
90
+ readonly payload: PayloadLiteralToPayloadType<PL>;
91
+ readonly hash: Uint8Array;
92
+ }
93
+ export declare const create: <PL extends keyof Wormhole.PayloadLiteralToDescriptionMapping = "Uint8Array">(payloadLiteral: PL, vaaData: LayoutToType<readonly [{
94
+ readonly binary: "uint";
95
+ readonly size: 4;
96
+ readonly name: "guardianSet";
97
+ }, {
98
+ readonly name: "signatures";
99
+ readonly binary: "array";
100
+ readonly lengthSize: 1;
101
+ readonly layout: readonly [{
102
+ readonly name: "guardianIndex";
103
+ readonly binary: "uint";
104
+ readonly size: 1;
105
+ }, {
106
+ readonly binary: "bytes";
107
+ readonly size: 65;
108
+ readonly custom: {
109
+ readonly to: (val: Uint8Array) => import("./signature").Signature;
110
+ readonly from: (val: import("./signature").Signature) => Uint8Array;
111
+ };
112
+ readonly name: "signature";
113
+ }];
114
+ }, {
115
+ readonly name: "timestamp";
116
+ readonly binary: "uint";
117
+ readonly size: 4;
118
+ }, {
119
+ readonly name: "nonce";
120
+ readonly binary: "uint";
121
+ readonly size: 4;
122
+ }, {
123
+ readonly custom: {
124
+ to: (val: number) => "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia";
125
+ from: (val: "Solana" | "Btc" | "Algorand" | "Sui" | "Aptos" | "Osmosis" | "Wormchain" | "Near" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Base" | "Sei" | "Sepolia") => number;
126
+ };
127
+ readonly binary: "uint";
128
+ readonly size: 2;
129
+ readonly name: "emitterChain";
130
+ }, {
131
+ readonly binary: "bytes";
132
+ readonly size: 32;
133
+ readonly custom: {
134
+ to: (val: Uint8Array) => import("./universalAddress").UniversalAddress;
135
+ from: (val: import("./universalAddress").UniversalAddress) => Uint8Array;
136
+ };
137
+ readonly name: "emitterAddress";
138
+ }, {
139
+ readonly binary: "uint";
140
+ readonly size: 8;
141
+ readonly name: "sequence";
142
+ }, {
143
+ readonly name: "consistencyLevel";
144
+ readonly binary: "uint";
145
+ readonly size: 1;
146
+ }, ...[DescriptionToPayloadItem<DescriptionOf<PL>> extends infer T ? T extends DescriptionToPayloadItem<DescriptionOf<PL>> ? T extends {
147
+ custom: import("@wormhole-foundation/sdk-base/dist/esm/utils/layout/layout").PrimitiveType | import("@wormhole-foundation/sdk-base").FixedConversion<import("@wormhole-foundation/sdk-base/dist/esm/utils/layout/layout").PrimitiveType, any>;
148
+ } ? never : T extends import("@wormhole-foundation/sdk-base").ArrayLayoutItem | import("@wormhole-foundation/sdk-base").ObjectLayoutItem ? DynamicItemsOfLayout<T["layout"]> extends readonly LayoutItem[] ? [DynamicItemsOfLayout<T["layout"]>[number]] extends [never] ? never : { readonly [K in keyof T]: K extends "layout" ? DynamicItemsOfLayout<T["layout"]> : T[K]; } : never : T : never : never] extends [never] ? readonly [] : readonly [DescriptionToPayloadItem<DescriptionOf<PL>> extends infer T_1 ? T_1 extends DescriptionToPayloadItem<DescriptionOf<PL>> ? T_1 extends {
149
+ custom: import("@wormhole-foundation/sdk-base/dist/esm/utils/layout/layout").PrimitiveType | import("@wormhole-foundation/sdk-base").FixedConversion<import("@wormhole-foundation/sdk-base/dist/esm/utils/layout/layout").PrimitiveType, any>;
150
+ } ? never : T_1 extends import("@wormhole-foundation/sdk-base").ArrayLayoutItem | import("@wormhole-foundation/sdk-base").ObjectLayoutItem ? DynamicItemsOfLayout<T_1["layout"]> extends readonly LayoutItem[] ? [DynamicItemsOfLayout<T_1["layout"]>[number]] extends [never] ? never : { readonly [K_1 in keyof T_1]: K_1 extends "layout" ? DynamicItemsOfLayout<T_1["layout"]> : T_1[K_1]; } : never : T_1 : never : never]]>) => VAA<PL>;
151
+ export declare function registerPayloadType<PL extends PayloadLiteral>(payloadLiteral: PL, payloadSerDe: CustomConversion<Uint8Array, any> | Layout): void;
152
+ export declare const serialize: <PL extends keyof Wormhole.PayloadLiteralToDescriptionMapping>(vaa: VAA<PL>) => Uint8Array;
153
+ export declare function deserialize<PL extends PayloadLiteral>(payloadLiteral: PL, data: Uint8Array | string): VAA<PL>;
154
+ export declare const serializePayload: <PL extends keyof Wormhole.PayloadLiteralToDescriptionMapping>(payloadLiteral: PL, payload: PayloadLiteralToPayloadType<PL>) => Uint8Array;
155
+ export declare const deserializePayload: <PL extends keyof Wormhole.PayloadLiteralToDescriptionMapping>(payloadLiteral: PL, data: Uint8Array | string) => PayloadLiteralToPayloadType<PL>;
156
+ export {};
157
+ //# sourceMappingURL=vaa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaa.d.ts","sourceRoot":"","sources":["../../src/vaa.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,UAAU,EACV,YAAY,EAGZ,oBAAoB,EAEpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AAYvC,QAAA,MAAM,oBAAoB;;;CAGmC,CAAC;AAQ9D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ,CAAC;QAEjB,UAAU,kCAAkC;YAC1C,UAAU,EAAE,OAAO,oBAAoB,CAAC;SACzC;KACF;CACF;AAED,KAAK,cAAc,GAAG,MAAM,QAAQ,CAAC,kCAAkC,CAAC;AACxE,KAAK,aAAa,CAAC,EAAE,SAAS,cAAc,IAE1C,EAAE,SAAS,MAAM,CAAC,SAAS,cAAc,GACvC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,GAC9C,KAAK,CAAC;AAEV,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,CAAC,cAAc,CAAC,IACnE;IAAC,CAAC;CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,GAC7C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAC/C,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAChD,KAAK,CAAC;AAEV,MAAM,MAAM,2BAA2B,CAAC,EAAE,SAAS,cAAc,IAC/D,wBAAwB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,IAAI,SAAS,UAAU,GAC/E,gBAAgB,CAAC,IAAI,CAAC,GACtB,KAAK,CAAC;AA2BV,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAgD,CAAC;AACjE,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,MAAM,WAAW,GAAG,CAAC,EAAE,SAAS,cAAc,GAAG,YAAY,CAC3D,SAAQ,UAAU;IAClB,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAMlD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AA4CD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6aAuBlB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,cAAc,EAC3D,cAAc,EAAE,EAAE,EAClB,YAAY,EAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,MAAM,QAMzD;AAED,eAAO,MAAM,SAAS,kFAEnB,UAMF,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,SAAS,cAAc,EACnD,cAAc,EAAE,EAAE,EAClB,IAAI,EAAE,UAAU,GAAG,MAAM,GACxB,GAAG,CAAC,EAAE,CAAC,CAoBT;AAED,eAAO,MAAM,gBAAgB,4IAQ5B,CAAC;AAEF,eAAO,MAAM,kBAAkB,2FAEvB,UAAU,GAAG,MAAM,oCAO1B,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { hexByteStringToUint8Array, serializeLayout, deserializeLayout, addFixedValues, } from "@wormhole-foundation/sdk-base";
2
+ import { chainItem, universalAddressItem, signatureItem, sequenceItem, guardianSetItem, } from "./layout-items";
3
+ import { keccak256 } from "./utils";
4
+ const uint8ArrayConversion = {
5
+ to: (val) => val,
6
+ from: (val) => val,
7
+ };
8
+ const guardianSignatureLayout = [
9
+ { name: "guardianIndex", binary: "uint", size: 1 },
10
+ { name: "signature", ...signatureItem },
11
+ ];
12
+ const headerLayout = [
13
+ { name: "version", binary: "uint", size: 1, custom: 1, omit: true },
14
+ { name: "guardianSet", ...guardianSetItem },
15
+ {
16
+ name: "signatures",
17
+ binary: "array",
18
+ lengthSize: 1,
19
+ layout: guardianSignatureLayout,
20
+ },
21
+ ];
22
+ const envelopeLayout = [
23
+ { name: "timestamp", binary: "uint", size: 4 },
24
+ { name: "nonce", binary: "uint", size: 4 },
25
+ { name: "emitterChain", ...chainItem() },
26
+ { name: "emitterAddress", ...universalAddressItem },
27
+ { name: "sequence", ...sequenceItem },
28
+ { name: "consistencyLevel", binary: "uint", size: 1 },
29
+ ];
30
+ const baseLayout = [...headerLayout, ...envelopeLayout];
31
+ // type govAA = "CoreBridgeUpgradeContract";
32
+ // type MyDescription = DescriptionOf<govAA>
33
+ // type MyType = LayoutToType<DescriptionOf<govAA>>;
34
+ // type MyVaa = { [K in keyof VAA<govAA>]: VAA<govAA>[K] };
35
+ // type Look = MyVaa["signatures"];
36
+ // type x = { [K in keyof VAA<"CoreBridgeUpgradeContract">]: VAA<"CoreBridgeUpgradeContract">[K] };
37
+ const payloadFactory = new Map();
38
+ function getPayloadDescription(payloadLiteral) {
39
+ const description = payloadFactory.get(payloadLiteral);
40
+ if (!description)
41
+ throw new Error(`No layout registered for payload type ${payloadLiteral}`);
42
+ return description;
43
+ }
44
+ const isCustomConversion = (val) => val.to !== undefined;
45
+ const descriptionToPayloadItem = (description) => (isCustomConversion(description)
46
+ ? { name: "payload", binary: "bytes", custom: description }
47
+ : {
48
+ name: "payload",
49
+ binary: "object",
50
+ layout: description,
51
+ });
52
+ const bodyLayout = (payloadLiteral) => [
53
+ ...envelopeLayout,
54
+ descriptionToPayloadItem(getPayloadDescription(payloadLiteral)),
55
+ ];
56
+ export const create = (payloadLiteral, vaaData) => {
57
+ const body = bodyLayout(payloadLiteral);
58
+ const bodyWithFixed = addFixedValues(body,
59
+ //not sure why the unknown cast here is required and why the type isn't inferred correctly
60
+ vaaData);
61
+ return {
62
+ payloadLiteral,
63
+ ...addFixedValues(headerLayout, vaaData),
64
+ ...bodyWithFixed,
65
+ hash: keccak256(serializeLayout(body, bodyWithFixed)),
66
+ };
67
+ };
68
+ export function registerPayloadType(payloadLiteral, payloadSerDe) {
69
+ if (payloadFactory.has(payloadLiteral))
70
+ throw new Error(`Payload type ${payloadLiteral} already registered`);
71
+ payloadFactory.set(payloadLiteral, payloadSerDe);
72
+ }
73
+ export const serialize = (vaa) => {
74
+ const layout = [
75
+ ...baseLayout,
76
+ descriptionToPayloadItem(getPayloadDescription(vaa.payloadLiteral)),
77
+ ];
78
+ return serializeLayout(layout, vaa);
79
+ };
80
+ export function deserialize(payloadLiteral, data) {
81
+ if (typeof data === "string")
82
+ data = hexByteStringToUint8Array(data);
83
+ const [header, bodyOffset] = deserializeLayout(headerLayout, data, 0, false);
84
+ //ensure that guardian signature indicies are unique and in ascending order - see:
85
+ //https://github.com/wormhole-foundation/wormhole/blob/8e0cf4c31f39b5ba06b0f6cdb6e690d3adf3d6a3/ethereum/contracts/Messages.sol#L121
86
+ for (let i = 1; i < header.signatures.length; ++i)
87
+ if (header.signatures[i].guardianIndex <=
88
+ header.signatures[i - 1].guardianIndex)
89
+ throw new Error("Guardian signatures must be in ascending order of guardian set index");
90
+ const body = deserializeLayout(bodyLayout(payloadLiteral), data, bodyOffset);
91
+ const hash = keccak256(data.slice(bodyOffset));
92
+ return { payloadLiteral, ...header, ...body, hash };
93
+ }
94
+ export const serializePayload = (payloadLiteral, payload) => {
95
+ const description = getPayloadDescription(payloadLiteral);
96
+ return isCustomConversion(description)
97
+ ? description.from(payload)
98
+ : serializeLayout(description, payload);
99
+ };
100
+ export const deserializePayload = (payloadLiteral, data) => {
101
+ const description = getPayloadDescription(payloadLiteral);
102
+ data = typeof data === "string" ? hexByteStringToUint8Array(data) : data;
103
+ return isCustomConversion(description)
104
+ ? description.to(data)
105
+ : deserializeLayout(description, data);
106
+ };
107
+ payloadFactory.set("Uint8Array", uint8ArrayConversion);
108
+ //# sourceMappingURL=vaa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaa.js","sourceRoot":"","sources":["../../src/vaa.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EAIzB,eAAe,EACf,iBAAiB,EAEjB,cAAc,GAGf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,oBAAoB,GAAG;IAC3B,EAAE,EAAE,CAAC,GAAe,EAAE,EAAE,CAAC,GAAG;IAC5B,IAAI,EAAE,CAAC,GAAe,EAAE,EAAE,CAAC,GAAG;CAC6B,CAAC;AAoC9D,MAAM,uBAAuB,GAAG;IAC9B,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;IAClD,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE;CACd,CAAC;AAE5B,MAAM,YAAY,GAAG;IACnB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;IACnE,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE;IAC3C;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,uBAAuB;KAChC;CACwB,CAAC;AAE5B,MAAM,cAAc,GAAG;IACrB,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;IAC9C,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;IAC1C,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,EAAE;IACxC,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,EAAE;IACnD,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE;IACrC,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;CAC5B,CAAC;AAE5B,MAAM,UAAU,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAU,CAAC;AAejE,4CAA4C;AAC5C,4CAA4C;AAC5C,oDAAoD;AACpD,2DAA2D;AAC3D,mCAAmC;AACnC,mGAAmG;AAEnG,MAAM,cAAc,GAAG,IAAI,GAAG,EAG3B,CAAC;AAEJ,SAAS,qBAAqB,CAA4B,cAAkB;IAC1E,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW;QACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,cAAc,EAAE,CAAC,CAAC;IAC7E,OAAO,WAAgC,CAAC;AAC1C,CAAC;AAED,MAAM,kBAAkB,GAAG,CACzB,GAAQ,EACkC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC;AAEpE,MAAM,wBAAwB,GAAG,CAC/B,WAA8B,EACgB,EAAE,CAChD,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAC9B,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAY;IACtE,CAAC,CAAE;QACC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,WAAqB;KACpB,CAEO,CAAC;AAEzB,MAAM,UAAU,GAAG,CAA4B,cAAkB,EAAE,EAAE,CACnE;IACE,GAAG,cAAc;IACjB,wBAAwB,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;CACtC,CAAC;AAE9B,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,cAAkB,EAClB,OAIC,EACQ,EAAE;IACX,MAAM,IAAI,GAAG,UAAU,CAAC,cAAc,CAAW,CAAC;IAClD,MAAM,aAAa,GAAG,cAAc,CAClC,IAAI;IACJ,0FAA0F;IAC1F,OAA0D,CAC3D,CAAC;IACF,OAAO;QACL,cAAc;QACd,GAAG,cAAc,CACf,YAAY,EACZ,OAA4C,CAC7C;QACD,GAAG,aAAa;QAChB,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KAC3C,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CACjC,cAAkB,EAClB,YAAwD;IAExD,IAAI,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,gBAAgB,cAAc,qBAAqB,CAAC,CAAC;IAEvE,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,GAAY,EACA,EAAE;IACd,MAAM,MAAM,GAAG;QACb,GAAG,UAAU;QACb,wBAAwB,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;KACpE,CAAC;IACF,OAAO,eAAe,CAAC,MAAM,EAAE,GAAkC,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CACzB,cAAkB,EAClB,IAAyB;IAEzB,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAErE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAE7E,kFAAkF;IAClF,oIAAoI;IACpI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,IACE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa;YAClC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;YAEtC,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;IAEN,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAE/C,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,EAAa,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,cAAkB,EAClB,OAAwC,EACxC,EAAE;IACF,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC1D,OAAO,kBAAkB,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,eAAe,CAAC,WAAqB,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,cAAkB,EAClB,IAAyB,EACQ,EAAE;IACnC,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC1D,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,OAAO,kBAAkB,CAAC,WAAW,CAAC;QACpC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC;QACtB,CAAC,CAAC,iBAAiB,CAAC,WAAqB,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,24 @@
1
1
  {
2
2
  "name": "@wormhole-foundation/sdk-definitions",
3
- "version": "0.1.0-beta.3",
3
+ "version": "0.1.0-beta.4",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/wormhole-foundation/connect-sdk.git"
7
+ },
8
+ "bugs": {
9
+ "url": "https://github.com/wormhole-foundation/connect-sdk/issues"
10
+ },
11
+ "homepage": "https://github.com/wormhole-foundation/connect-sdk#readme",
12
+ "directories": {
13
+ "test": "__tests__"
14
+ },
4
15
  "main": "./dist/cjs/index.js",
5
16
  "module": "./dist/esm/index.js",
6
17
  "types":"./dist/esm/index.d.ts",
18
+ "files": [
19
+ "dist/**/*",
20
+ "src/**/*"
21
+ ],
7
22
  "scripts": {
8
23
  "test": "jest --config ../../jest.config.ts __tests__/*.ts",
9
24
  "build:cjs":"tsc -p ./tsconfig.cjs.json",
@@ -1,21 +0,0 @@
1
- import "../src/payloads/connect";
2
- import { connectPayloads } from "../src/payloads/connect";
3
- import { VAA, deserialize, deserializePayload } from "../src/vaa";
4
-
5
- const cases = [
6
- "AQAAAAABANyb1oS4sD9gIp0m+dKOYmrEaxx3OeWWtUbim+6oL7VnX/zUXa/di9lA0SSDRZ3DCWoqgDC4pjPoMNUNLn1P3EcAZJjzeAAAAAAAAgAAAAAAAAAAAAAAAAppFGcWs6IWIih++hYHQkxmMGmkAAAAAAAAAHDIAQAAAAAAAAAAAAAAAAeGXG6HufcCVTd+AkrOZjDB6qN/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB6EgAAAAAAAAAAAwAAAAAAA5CKAAAAAAAAAAAAAAAAF9of9ThtBExj8AdHtbitHjgGRI0AAAAAAAAAAAAAAAC/aD1UHhEyBBjKeOwTMJk45sWSLwBhAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAInU4Tn/aAHroyfjAatH6hXg4Srg==",
7
- ];
8
-
9
- describe("Circle Transfer VAA tests", function () {
10
- it("should correctly deserialize and reserialize a Circle Transfer Relay VAA", function () {
11
- for (const testCase of cases) {
12
- const vaaBytes = Buffer.from(testCase, "base64");
13
-
14
- const parsed = deserialize("Uint8Array", new Uint8Array(vaaBytes));
15
-
16
- const x = deserializePayload("CircleTransferRelay", parsed.payload);
17
- expect(x).toBeTruthy();
18
- // ...
19
- }
20
- });
21
- });
@@ -1,139 +0,0 @@
1
- import { describe, expect, it } from "@jest/globals";
2
-
3
- import { hexByteStringToUint8Array } from "@wormhole-foundation/sdk-base";
4
- import { UniversalAddress } from "../src/universalAddress";
5
- import { create, deserialize, serialize } from "../src/vaa";
6
- import "../src/payloads/governance";
7
-
8
- //monkey-patch to allow stringifying BigInts
9
- (BigInt.prototype as any).toJSON = function () {
10
- return this.toString();
11
- };
12
-
13
- //from here: https://etherscan.io/tx/0xfe57d65421ddd689a660a7906c685954fa5c1102716452cbc8acada0214e4522
14
- //decode via https://vaa.dev
15
- const guardianSetUpgrade =
16
- "0x" +
17
- /*version*/ "01" +
18
- /*guardianSet*/ "00000002" +
19
- /*signature count*/ "0d" +
20
- /*guardian*/ "00" +
21
- /*r*/ "ce45474d9e1b1e7790a2d210871e195db53a70ffd6f237cfe70e2686a32859ac" +
22
- /*s*/ "43c84a332267a8ef66f59719cf91cc8df0101fd7c36aa1878d5139241660edc0" +
23
- /*v*/ "01" +
24
- /*guardian*/ "03" +
25
- /*r*/ "75cc906156ae530786661c0cd9aef444747bc3d8d5aa84cac6a6d2933d4e1a03" +
26
- /*s*/ "1cffa30383d4af8131e929d9f203f460b07309a647d6cd32ab1cc7724089392c" +
27
- /*v*/ "00" +
28
- /*guardian*/ "04" +
29
- /*r*/ "52305156cfc90343128f97e499311b5cae174f488ff22fbc09591991a0a73d8e" +
30
- /*s*/ "6af3afb8a5968441d3ab8437836407481739e9850ad5c95e6acfcc871e951bc3" +
31
- /*v*/ "01" +
32
- /*guardian*/ "05" +
33
- /*r*/ "a7956eefc23e7c945a1966d5ddbe9e4be376c2f54e45e3d5da88c2f8692510c7" +
34
- /*s*/ "429b1ea860ae94d929bd97e84923a18187e777aa3db419813a80deb84cc8d22b" +
35
- /*v*/ "00" +
36
- /*guardian*/ "06" +
37
- /*r*/ "1b2a4f3d2666608e0aa96737689e3ba5793810ff3a52ff28ad57d8efb2096773" +
38
- /*s*/ "5dc5537a2e43ef10f583d144c12a1606542c207f5b79af08c38656d3ac407133" +
39
- /*v*/ "01" +
40
- /*guardian*/ "08" +
41
- /*r*/ "6b62c8e130af3411b3c0d91b5b50dcb01ed5f293963f901fc36e7b0e50114dce" +
42
- /*s*/ "203373b32eb45971cef8288e5d928d0ed51cd86e2a3006b0af6a65c396c00908" +
43
- /*v*/ "00" +
44
- /*guardian*/ "09" +
45
- /*r*/ "e93ab4d2c8228901a5f4525934000b2c26d1dc679a05e47fdf0ff3231d98fbc2" +
46
- /*s*/ "07103159ff4116df2832eea69b38275283434e6cd4a4af04d25fa7a82990b707" +
47
- /*v*/ "01" +
48
- /*guardian*/ "0a" +
49
- /*r*/ "a643f4cf615dfff06ffd65830f7f6cf6512dabc3690d5d9e210fdc712842dc27" +
50
- /*s*/ "08b8b2c22e224c99280cd25e5e8bfb40e3d1c55b8c41774e287c1e2c352aecfc" +
51
- /*v*/ "01" +
52
- /*guardian*/ "0b" +
53
- /*r*/ "89c1e85faa20a30601964ccc6a79c0ae53cfd26fb10863db37783428cd91390a" +
54
- /*s*/ "163346558239db3cd9d420cfe423a0df84c84399790e2e308011b4b63e6b8015" +
55
- /*v*/ "01" +
56
- /*guardian*/ "0c" +
57
- /*r*/ "a31dcb564ac81a053a268d8090e72097f94f366711d0c5d13815af1ec7d47e66" +
58
- /*s*/ "2e2d1bde22678113d15963da100b668ba26c0c325970d07114b83c5698f46097" +
59
- /*v*/ "01" +
60
- /*guardian*/ "0d" +
61
- /*r*/ "c9fda39c0d592d9ed92cd22b5425cc6b37430e236f02d0d1f8a2ef45a00bde26" +
62
- /*s*/ "223c0a6eb363c8b25fd3bf57234a1d9364976cefb8360e755a267cbbb674b395" +
63
- /*v*/ "01" +
64
- /*guardian*/ "10" +
65
- /*r*/ "8db01e444ab1003dd8b6c96f8eb77958b40ba7a85fefecf32ad00b7a47c0ae75" +
66
- /*s*/ "24216262495977e09c0989dd50f280c21453d3756843608eacd17f4fdfe47600" +
67
- /*v*/ "00" +
68
- /*guardian*/ "12" +
69
- /*r*/ "61025228ef5af837cb060bcd986fcfa84ccef75b3fa100468cfd24e7fadf9916" +
70
- /*s*/ "3938f3b841a33496c2706d0208faab088bd155b2e20fd74c625bb1cc8c43677a" +
71
- /*v*/ "01" +
72
- /*timestamp*/ "63c53c40" +
73
- /*nonce*/ "9e0c5dfa" +
74
- /*emitterChain*/ "0001" +
75
- /*emitterAddress*/ "0000000000000000000000000000000000000000000000000000000000000004" +
76
- /*seqeuence*/ "6c5a054d7833d1e4" +
77
- /*consistencyLevel*/ "20" +
78
- /*module*/ "00000000000000000000000000000000000000000000000000000000436f7265" +
79
- /*action*/ "02" +
80
- /*chain*/ "0000" +
81
- /*guardianSet*/ "00000003" +
82
- /*guardians*/ "13" +
83
- /*guardian*/ "58cc3ae5c097b213ce3c81979e1b9f9570746aa5" +
84
- /*guardian*/ "ff6cb952589bde862c25ef4392132fb9d4a42157" +
85
- /*guardian*/ "114de8460193bdf3a2fcf81f86a09765f4762fd1" +
86
- /*guardian*/ "107a0086b32d7a0977926a205131d8731d39cbeb" +
87
- /*guardian*/ "8c82b2fd82faed2711d59af0f2499d16e726f6b2" +
88
- /*guardian*/ "11b39756c042441be6d8650b69b54ebe715e2343" +
89
- /*guardian*/ "54ce5b4d348fb74b958e8966e2ec3dbd4958a7cd" +
90
- /*guardian*/ "15e7caf07c4e3dc8e7c469f92c8cd88fb8005a20" +
91
- /*guardian*/ "74a3bf913953d695260d88bc1aa25a4eee363ef0" +
92
- /*guardian*/ "000ac0076727b35fbea2dac28fee5ccb0fea768e" +
93
- /*guardian*/ "af45ced136b9d9e24903464ae889f5c8a723fc14" +
94
- /*guardian*/ "f93124b7c738843cbb89e864c862c38cddcccf95" +
95
- /*guardian*/ "d2cc37a4dc036a8d232b48f62cdd4731412f4890" +
96
- /*guardian*/ "da798f6896a3331f64b48c12d1d57fd9cbe70811" +
97
- /*guardian*/ "71aa1be1d36cafe3867910f99c09e347899c19c3" +
98
- /*guardian*/ "8192b6e7387ccd768277c17dab1b7a5027c0b3cf" +
99
- /*guardian*/ "178e21ad2e77ae06711549cfbb1f9c7a9d8096e8" +
100
- /*guardian*/ "5e1487f35515d02a92753504a8d75471b9f49edb" +
101
- /*guardian*/ "6fbebc898f403e4773e95feb15e80c9a99c8348d";
102
-
103
- describe("Governance VAA tests", function () {
104
- it("should create an empty VAA from an object with omitted fixed values", function () {
105
- const vaa = create("CoreBridgeUpgradeContract", {
106
- guardianSet: 0,
107
- signatures: [],
108
- nonce: 0,
109
- timestamp: 0,
110
- sequence: 0n,
111
- emitterChain: "Solana",
112
- emitterAddress: new UniversalAddress(new Uint8Array(32)),
113
- consistencyLevel: 0,
114
- payload: {
115
- chain: "Ethereum",
116
- //@ts-ignore
117
- newContract: new UniversalAddress(new Uint8Array(32)),
118
- },
119
- });
120
- expect(vaa.payload.protocol).toEqual("CoreBridge");
121
- expect(vaa.payload.action).toEqual("UpgradeContract");
122
- });
123
-
124
- it("should correctly deserialize and reserialize a guardian set upgrade VAA", function () {
125
- const vaa = deserialize("CoreBridgeGuardianSetUpgrade", guardianSetUpgrade);
126
- expect(vaa.payloadLiteral).toBe("CoreBridgeGuardianSetUpgrade");
127
- expect(vaa.guardianSet).toBe(2);
128
- expect(vaa.signatures.length).toBe(13);
129
- expect(vaa.nonce).toBe(2651610618);
130
- expect(vaa.emitterChain).toBe("Solana");
131
- expect(vaa.payload.protocol).toBe("CoreBridge");
132
- expect(vaa.payload.action).toBe("GuardianSetUpgrade");
133
- expect(vaa.payload.guardianSet).toBe(3);
134
- expect(vaa.payload.guardians.length).toBe(19);
135
-
136
- const encoded = serialize(vaa);
137
- expect(encoded).toEqual(hexByteStringToUint8Array(guardianSetUpgrade));
138
- });
139
- });
@@ -1,24 +0,0 @@
1
- import { describe, expect, it } from "@jest/globals";
2
-
3
- import { hexByteStringToUint8Array } from "@wormhole-foundation/sdk-base";
4
- import { serializePayload, deserializePayload } from "../src/vaa";
5
- import "../src/payloads/relayer";
6
-
7
- //monkey-patch to allow stringifying BigInts
8
- (BigInt.prototype as any).toJSON = function () {
9
- return this.toString();
10
- };
11
-
12
- //log taken from here: https://moonbeam.moonscan.io/tx/0x6a2c36673e8cbbef29cc3bad4eabfb8edb0851c0d27defba300f80561ccecec6
13
- const original =
14
- "0x01000500000000000000000000000046AF49E93E92ACE9CB04545C6548E3F12BE61FD7000000600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000C746573746772656574696E67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C350000000000000000000000000000000000000000000000000000000308FD36EDB00050000000000000000000000007A0A53847776F7E94CC35742971ACB2217B0DB810000000000000000000000007A0A53847776F7E94CC35742971ACB2217B0DB810000000000000000000000007A0A53847776F7E94CC35742971ACB2217B0DB8100000000000000000000000046AF49E93E92ACE9CB04545C6548E3F12BE61FD700";
15
-
16
- describe("Relayer VAA tests", function () {
17
- it("should correctly deserialize and reserialize a relayer VAA", function () {
18
- const payload = deserializePayload("DeliveryInstruction", original);
19
- expect(payload.target.chain).toBe("Polygon");
20
- expect(payload.refund.chain).toBe("Polygon");
21
- const encoded = serializePayload("DeliveryInstruction", payload);
22
- expect(encoded).toEqual(hexByteStringToUint8Array(original));
23
- });
24
- });
@@ -1,28 +0,0 @@
1
- import { VAA, deserialize } from "../src/vaa";
2
- import "../src/payloads/tokenBridge";
3
- import { tokenBridgePayloads } from "../src/payloads/tokenBridge";
4
-
5
- const cases = [
6
- "AQAAAAABAMysWsb94YzZxLiJtKr4hcT2qA/+8laXmeZiEtmVZ5kidTdadwYiXfowVtlUtMWNv1PHIU/eH4T1EI/aI6uhW/kBZN0dygAAAAAADgAAAAAAAAAAAAAAAAXKYDfsUfi3Eu0ub6ciGf6udOFTAAAAAAAAAdUBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUk2Xpn9Q9KBiwox09gcDrskCipQADgAAAAAAAAAAAAAAAGYDtKfinfvbYVnDlakV50dXwfsTAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
7
- "AQAAAAABAD/A72/ZwTe/pPNRmPLLf3qZY+od9NEqvGEFBv0lHhgJdBmBo4m9cBn2Fb/03XkfFrwM00YQgnmM883tENNnBY8BZOWtSQg8AQAABgAAAAAAAAAAAAAAAGHkTlBspWWebAu6m2eFhvotcpdWAAAAAAAAHWcBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHoSAAAAAAAAAAAAAAAAAnDySg9PkSFRpfNItP6okDPsDKIkABW2a5rLTM8HWUwGlnaPu04jKXcYMsSSWWEt1y+axX9vtACAAAAAAAAAAAAAAAADUkwZkmKzkCQWf2kwbzS5z2M/+AXsiYmFzaWNfcmVjaXBpZW50Ijp7InJlY2lwaWVudCI6ImMyVnBNVFJqTldVM1pYWjJZM0JvZFdvMGFEaHVjWGxrWm01ek16SXdPWFptYW5SbWFtUndaVGhqIn19",
8
- ];
9
-
10
- //const original =
11
- describe("Token Transfer VAA tests", function () {
12
- it("should correctly deserialize and reserialize a transfer VAA", function () {
13
- for (const testCase of cases) {
14
- const vaaBytes = new Uint8Array(Buffer.from(testCase, "base64"));
15
- let parsed:
16
- | VAA<"Transfer" | "TransferWithPayload" | "AttestMeta">
17
- | undefined;
18
- for (const maybeType of tokenBridgePayloads) {
19
- try {
20
- parsed = deserialize(maybeType[0], vaaBytes);
21
- } catch (e) {}
22
- }
23
- if (parsed === undefined) {
24
- throw new Error(`Couldn't deserialize VAA: ${testCase}`);
25
- }
26
- }
27
- });
28
- });
package/tsconfig.cjs.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.cjs.json",
3
- "include": ["src"],
4
- "compilerOptions": {
5
- "outDir": "dist/cjs",
6
- "rootDir": "src"
7
- }
8
- }
package/tsconfig.esm.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.esm.json",
3
- "include": ["src"],
4
- "compilerOptions": {
5
- "outDir": "dist/esm",
6
- "rootDir": "src"
7
- }
8
- }
package/typedoc.json DELETED
@@ -1,4 +0,0 @@
1
- {
2
- "extends": ["../../typedoc.base.json"],
3
- "entryPoints": ["src/index.ts"],
4
- }