@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":"governance.d.ts","sourceRoot":"","sources":["../../../src/payloads/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,cAAc,EAIf,MAAM,+BAA+B,CAAC;AAiLvC,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmB+B,CAAC;AAGxD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ,CAAC;QACjB,UAAU,kCACR,SAAQ,cAAc,CAAC,OAAO,kBAAkB,CAAC;SAAG;KACvD;CACF"}
@@ -0,0 +1,155 @@
1
+ import { platformToChains, column, constMap, } from "@wormhole-foundation/sdk-base";
2
+ import { chainItem, universalAddressItem, guardianSetItem, } from "../layout-items";
3
+ import { registerPayloadType } from "../vaa";
4
+ //One thing that's not captures by the payload itself is the fact that governance VAAs should
5
+ // always have Solana as the emitter chain and address bytes32(4) as the emitter address.
6
+ //These values are actually magic values though, because governance VAAs are actually created and
7
+ // signed off-chain and are not the result of on-chain observations.
8
+ //Additionally their sequence numbers are also chosen at random (and hence tend to be very large).
9
+ const actionTuples = [
10
+ [
11
+ "UpgradeContract",
12
+ {
13
+ allowNull: false,
14
+ layout: [{ name: "newContract", ...universalAddressItem }],
15
+ },
16
+ ],
17
+ [
18
+ "RegisterChain",
19
+ {
20
+ allowNull: true,
21
+ layout: [
22
+ { name: "foreignChain", ...chainItem() },
23
+ { name: "foreignAddress", ...universalAddressItem },
24
+ ],
25
+ },
26
+ ],
27
+ //a word on the chainId for RecoverChainId:
28
+ //The implementation of the contracts accept an arbitrary number when recovering chain ids however
29
+ // I don't think you ever want to set the wormhole chain id of a contract (even on a fork) to 0
30
+ // since this would mean that afterwards all the checks that use `vaa.chainId == this.chainId` in
31
+ // the contract would suddenly accept "broadcast VAAs" which is almost certainly not what's
32
+ // intended.
33
+ [
34
+ "RecoverChainId",
35
+ {
36
+ //TODO should we define governance actions that are specific to a platform here?
37
+ // (reason against: we might want to deserialize types that are specific to the platform)
38
+ allowNull: false,
39
+ layout: [
40
+ { name: "evmChainId", binary: "uint", size: 32 },
41
+ {
42
+ name: "newChainId",
43
+ ...chainItem({ allowedChains: platformToChains("Evm") }),
44
+ },
45
+ ],
46
+ },
47
+ ],
48
+ [
49
+ "GuardianSetUpgrade",
50
+ {
51
+ allowNull: true,
52
+ layout: [
53
+ { name: "guardianSet", ...guardianSetItem },
54
+ {
55
+ name: "guardians",
56
+ binary: "array",
57
+ lengthSize: 1,
58
+ layout: [
59
+ { name: "address", binary: "bytes", size: 20 }, //TODO better (custom) type?
60
+ ],
61
+ },
62
+ ],
63
+ },
64
+ ],
65
+ [
66
+ "SetMessageFee",
67
+ {
68
+ allowNull: false,
69
+ layout: [{ name: "messageFee", binary: "uint", size: 32 }],
70
+ },
71
+ ],
72
+ [
73
+ "TransferFees",
74
+ {
75
+ allowNull: true,
76
+ layout: [
77
+ { name: "amount", binary: "uint", size: 32 },
78
+ { name: "recipient", ...universalAddressItem },
79
+ ],
80
+ },
81
+ ],
82
+ [
83
+ "UpdateDefaultProvider",
84
+ {
85
+ allowNull: false,
86
+ layout: [{ name: "defaultProvider", ...universalAddressItem }],
87
+ },
88
+ ],
89
+ ];
90
+ const actions = column(actionTuples, 0);
91
+ const actionMapping = constMap(actionTuples);
92
+ const sdkProtocolNameAndGovernanceVaaModuleEntries = [
93
+ ["CoreBridge", "Core"],
94
+ ["TokenBridge", "TokenBridge"],
95
+ ["NftBridge", "NFTBridge"],
96
+ ["Relayer", "WormholeRelayer"],
97
+ // TODO: wat is this
98
+ ["CCTP", "Circle"],
99
+ ];
100
+ const sdkProtocolNameToGovernanceVaaModuleMapping = constMap(sdkProtocolNameAndGovernanceVaaModuleEntries);
101
+ const protocolConversion = (protocol) => ({
102
+ to: protocol,
103
+ from: (() => {
104
+ const moduleBytesSize = 32;
105
+ const bytes = new Uint8Array(moduleBytesSize);
106
+ const vaaModule = sdkProtocolNameToGovernanceVaaModuleMapping(protocol);
107
+ for (let i = 1; i <= vaaModule.length; ++i)
108
+ bytes[moduleBytesSize - i] = vaaModule.charCodeAt(vaaModule.length - i);
109
+ return bytes;
110
+ })(),
111
+ });
112
+ const actionConversion = (action, num) => ({
113
+ to: action,
114
+ from: num,
115
+ });
116
+ const headerLayout = (protocol, action, num) => [
117
+ {
118
+ name: "protocol",
119
+ binary: "bytes",
120
+ custom: protocolConversion(protocol),
121
+ },
122
+ {
123
+ name: "action",
124
+ binary: "uint",
125
+ size: 1,
126
+ custom: actionConversion(action, num),
127
+ },
128
+ { name: "chain", ...chainItem(actionMapping(action)) },
129
+ ];
130
+ const governancePayload = (protocol, action, num) => [
131
+ (protocol + action),
132
+ [...headerLayout(protocol, action, num), ...actionMapping(action).layout],
133
+ ];
134
+ const governancePayloads = [
135
+ //see https://github.com/wormhole-foundation/wormhole/blob/96c6cc2b325addc2125bb438b228921a4be6b7f3/ethereum/contracts/GovernanceStructs.sol#L64
136
+ governancePayload("CoreBridge", "UpgradeContract", 1),
137
+ governancePayload("CoreBridge", "GuardianSetUpgrade", 2),
138
+ governancePayload("CoreBridge", "SetMessageFee", 3),
139
+ governancePayload("CoreBridge", "TransferFees", 4),
140
+ governancePayload("CoreBridge", "RecoverChainId", 5),
141
+ //see https://github.com/wormhole-foundation/wormhole/blob/96c6cc2b325addc2125bb438b228921a4be6b7f3/ethereum/contracts/bridge/BridgeGovernance.sol#L115
142
+ governancePayload("TokenBridge", "RegisterChain", 1),
143
+ governancePayload("TokenBridge", "UpgradeContract", 2),
144
+ governancePayload("TokenBridge", "RecoverChainId", 3),
145
+ //see https://github.com/wormhole-foundation/wormhole/blob/96c6cc2b325addc2125bb438b228921a4be6b7f3/ethereum/contracts/nft/NFTBridgeGovernance.sol#L112
146
+ governancePayload("NftBridge", "RegisterChain", 1),
147
+ governancePayload("NftBridge", "UpgradeContract", 2),
148
+ governancePayload("NftBridge", "RecoverChainId", 3),
149
+ //see https://github.com/wormhole-foundation/wormhole/blob/96c6cc2b325addc2125bb438b228921a4be6b7f3/ethereum/contracts/relayer/wormholeRelayer/WormholeRelayerGovernance.sol#L60
150
+ governancePayload("Relayer", "RegisterChain", 1),
151
+ governancePayload("Relayer", "UpgradeContract", 2),
152
+ governancePayload("Relayer", "UpdateDefaultProvider", 3),
153
+ ];
154
+ governancePayloads.forEach(([payloadLiteral, layout]) => registerPayloadType(payloadLiteral, layout));
155
+ //# sourceMappingURL=governance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../../src/payloads/governance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,295 @@
1
+ import { ShallowMapping } from "@wormhole-foundation/sdk-base";
2
+ declare const relayerPayloads: readonly [readonly ["DeliveryInstruction", readonly [{
3
+ readonly name: "payloadId";
4
+ readonly binary: "uint";
5
+ readonly size: 1;
6
+ readonly custom: 1;
7
+ readonly omit: true;
8
+ }, {
9
+ readonly binary: "object";
10
+ readonly layout: readonly [{
11
+ readonly custom: {
12
+ 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";
13
+ 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;
14
+ };
15
+ readonly binary: "uint";
16
+ readonly size: 2;
17
+ readonly name: "chain";
18
+ }, {
19
+ readonly binary: "bytes";
20
+ readonly size: 32;
21
+ readonly custom: {
22
+ to: (val: Uint8Array) => import("..").UniversalAddress;
23
+ from: (val: import("..").UniversalAddress) => Uint8Array;
24
+ };
25
+ readonly name: "address";
26
+ }];
27
+ readonly name: "target";
28
+ }, {
29
+ readonly name: "payload";
30
+ readonly binary: "bytes";
31
+ readonly lengthSize: 4;
32
+ }, {
33
+ readonly binary: "uint";
34
+ readonly size: 32;
35
+ readonly name: "requestedReceiverValue";
36
+ }, {
37
+ readonly binary: "uint";
38
+ readonly size: 32;
39
+ readonly name: "extraReceiverValue";
40
+ }, {
41
+ readonly binary: "object";
42
+ readonly layout: readonly [{
43
+ readonly name: "size";
44
+ readonly binary: "uint";
45
+ readonly size: 4;
46
+ readonly custom: number;
47
+ readonly omit: true;
48
+ }, {
49
+ readonly name: "waste";
50
+ readonly binary: "uint";
51
+ readonly size: 31;
52
+ readonly custom: 0n;
53
+ readonly omit: true;
54
+ }, {
55
+ readonly name: "version";
56
+ readonly binary: "uint";
57
+ readonly size: 1;
58
+ readonly custom: 0;
59
+ readonly omit: true;
60
+ }, {
61
+ readonly binary: "uint";
62
+ readonly size: 32;
63
+ readonly name: "gasLimit";
64
+ }, {
65
+ readonly binary: "uint";
66
+ readonly size: 32;
67
+ readonly name: "targetChainRefundPerGasUnused";
68
+ }];
69
+ readonly name: "executionInfo";
70
+ }, {
71
+ readonly binary: "object";
72
+ readonly layout: readonly [{
73
+ readonly custom: {
74
+ 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";
75
+ 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;
76
+ };
77
+ readonly binary: "uint";
78
+ readonly size: 2;
79
+ readonly name: "chain";
80
+ }, {
81
+ readonly binary: "bytes";
82
+ readonly size: 32;
83
+ readonly custom: {
84
+ to: (val: Uint8Array) => import("..").UniversalAddress;
85
+ from: (val: import("..").UniversalAddress) => Uint8Array;
86
+ };
87
+ readonly name: "address";
88
+ }];
89
+ readonly name: "refund";
90
+ }, {
91
+ readonly binary: "bytes";
92
+ readonly size: 32;
93
+ readonly custom: {
94
+ to: (val: Uint8Array) => import("..").UniversalAddress;
95
+ from: (val: import("..").UniversalAddress) => Uint8Array;
96
+ };
97
+ readonly name: "refundDeliveryProvider";
98
+ }, {
99
+ readonly binary: "bytes";
100
+ readonly size: 32;
101
+ readonly custom: {
102
+ to: (val: Uint8Array) => import("..").UniversalAddress;
103
+ from: (val: import("..").UniversalAddress) => Uint8Array;
104
+ };
105
+ readonly name: "sourceDeliveryProvider";
106
+ }, {
107
+ readonly binary: "bytes";
108
+ readonly size: 32;
109
+ readonly custom: {
110
+ to: (val: Uint8Array) => import("..").UniversalAddress;
111
+ from: (val: import("..").UniversalAddress) => Uint8Array;
112
+ };
113
+ readonly name: "senderAddress";
114
+ }, {
115
+ readonly name: "vaaKeys";
116
+ readonly binary: "array";
117
+ readonly lengthSize: 1;
118
+ readonly layout: readonly [{
119
+ readonly name: "version";
120
+ readonly binary: "uint";
121
+ readonly size: 1;
122
+ readonly custom: {
123
+ readonly to: "Key";
124
+ readonly from: 1;
125
+ };
126
+ }, {
127
+ readonly custom: {
128
+ 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";
129
+ 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;
130
+ };
131
+ readonly binary: "uint";
132
+ readonly size: 2;
133
+ readonly name: "chain";
134
+ }, {
135
+ readonly binary: "bytes";
136
+ readonly size: 32;
137
+ readonly custom: {
138
+ to: (val: Uint8Array) => import("..").UniversalAddress;
139
+ from: (val: import("..").UniversalAddress) => Uint8Array;
140
+ };
141
+ readonly name: "emitterAddress";
142
+ }, {
143
+ readonly binary: "uint";
144
+ readonly size: 8;
145
+ readonly name: "sequence";
146
+ }];
147
+ }]], readonly ["RedeliveryInstruction", readonly [{
148
+ readonly name: "payloadId";
149
+ readonly binary: "uint";
150
+ readonly size: 1;
151
+ readonly custom: 2;
152
+ readonly omit: true;
153
+ }, {
154
+ readonly name: "deliveryVaaKey";
155
+ readonly binary: "object";
156
+ readonly layout: readonly [{
157
+ readonly name: "version";
158
+ readonly binary: "uint";
159
+ readonly size: 1;
160
+ readonly custom: {
161
+ readonly to: "Key";
162
+ readonly from: 1;
163
+ };
164
+ }, {
165
+ readonly custom: {
166
+ 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";
167
+ 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;
168
+ };
169
+ readonly binary: "uint";
170
+ readonly size: 2;
171
+ readonly name: "chain";
172
+ }, {
173
+ readonly binary: "bytes";
174
+ readonly size: 32;
175
+ readonly custom: {
176
+ to: (val: Uint8Array) => import("..").UniversalAddress;
177
+ from: (val: import("..").UniversalAddress) => Uint8Array;
178
+ };
179
+ readonly name: "emitterAddress";
180
+ }, {
181
+ readonly binary: "uint";
182
+ readonly size: 8;
183
+ readonly name: "sequence";
184
+ }];
185
+ }, {
186
+ readonly custom: {
187
+ 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";
188
+ 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;
189
+ };
190
+ readonly binary: "uint";
191
+ readonly size: 2;
192
+ readonly name: "targetChain";
193
+ }, {
194
+ readonly binary: "uint";
195
+ readonly size: 32;
196
+ readonly name: "newRequestedReceiverValue";
197
+ }, {
198
+ readonly binary: "object";
199
+ readonly layout: readonly [{
200
+ readonly name: "size";
201
+ readonly binary: "uint";
202
+ readonly size: 4;
203
+ readonly custom: number;
204
+ readonly omit: true;
205
+ }, {
206
+ readonly name: "waste";
207
+ readonly binary: "uint";
208
+ readonly size: 31;
209
+ readonly custom: 0n;
210
+ readonly omit: true;
211
+ }, {
212
+ readonly name: "version";
213
+ readonly binary: "uint";
214
+ readonly size: 1;
215
+ readonly custom: 0;
216
+ readonly omit: true;
217
+ }, {
218
+ readonly binary: "uint";
219
+ readonly size: 32;
220
+ readonly name: "gasLimit";
221
+ }, {
222
+ readonly binary: "uint";
223
+ readonly size: 32;
224
+ readonly name: "targetChainRefundPerGasUnused";
225
+ }];
226
+ readonly name: "newEncodedExecutionInfo";
227
+ }, {
228
+ readonly binary: "bytes";
229
+ readonly size: 32;
230
+ readonly custom: {
231
+ to: (val: Uint8Array) => import("..").UniversalAddress;
232
+ from: (val: import("..").UniversalAddress) => Uint8Array;
233
+ };
234
+ readonly name: "newSourceDeliveryProvider";
235
+ }, {
236
+ readonly binary: "bytes";
237
+ readonly size: 32;
238
+ readonly custom: {
239
+ to: (val: Uint8Array) => import("..").UniversalAddress;
240
+ from: (val: import("..").UniversalAddress) => Uint8Array;
241
+ };
242
+ readonly name: "newSenderAddress";
243
+ }]], readonly ["DeliveryOverride", readonly [{
244
+ readonly name: "version";
245
+ readonly binary: "uint";
246
+ readonly size: 1;
247
+ readonly custom: 1;
248
+ readonly omit: true;
249
+ }, {
250
+ readonly binary: "uint";
251
+ readonly size: 32;
252
+ readonly name: "receiverValue";
253
+ }, {
254
+ readonly binary: "object";
255
+ readonly layout: readonly [{
256
+ readonly name: "size";
257
+ readonly binary: "uint";
258
+ readonly size: 4;
259
+ readonly custom: number;
260
+ readonly omit: true;
261
+ }, {
262
+ readonly name: "waste";
263
+ readonly binary: "uint";
264
+ readonly size: 31;
265
+ readonly custom: 0n;
266
+ readonly omit: true;
267
+ }, {
268
+ readonly name: "version";
269
+ readonly binary: "uint";
270
+ readonly size: 1;
271
+ readonly custom: 0;
272
+ readonly omit: true;
273
+ }, {
274
+ readonly binary: "uint";
275
+ readonly size: 32;
276
+ readonly name: "gasLimit";
277
+ }, {
278
+ readonly binary: "uint";
279
+ readonly size: 32;
280
+ readonly name: "targetChainRefundPerGasUnused";
281
+ }];
282
+ readonly name: "newExecutionInfo";
283
+ }, {
284
+ readonly name: "redeliveryHash";
285
+ readonly binary: "bytes";
286
+ readonly size: 32;
287
+ }]]];
288
+ declare global {
289
+ namespace Wormhole {
290
+ interface PayloadLiteralToDescriptionMapping extends ShallowMapping<typeof relayerPayloads> {
291
+ }
292
+ }
293
+ }
294
+ export {};
295
+ //# sourceMappingURL=relayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../../src/payloads/relayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAGf,MAAM,+BAA+B,CAAC;AA4CvC,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsCsC,CAAC;AAI5D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,QAAQ,CAAC;QACjB,UAAU,kCACR,SAAQ,cAAc,CAAC,OAAO,eAAe,CAAC;SAAG;KACpD;CACF"}
@@ -0,0 +1,73 @@
1
+ import { chainItem, universalAddressItem, sequenceItem, amountItem, } from "../layout-items";
2
+ import { registerPayloadType } from "../vaa";
3
+ const encodedExecutionInfoItem = {
4
+ binary: "object",
5
+ layout: [
6
+ { name: "size", binary: "uint", size: 4, custom: 3 * 32, omit: true },
7
+ { name: "waste", binary: "uint", size: 31, custom: 0n, omit: true },
8
+ { name: "version", binary: "uint", size: 1, custom: 0, omit: true },
9
+ { name: "gasLimit", ...amountItem },
10
+ { name: "targetChainRefundPerGasUnused", ...amountItem },
11
+ ]
12
+ };
13
+ const payloadIdItem = (id) => ({
14
+ name: "payloadId",
15
+ binary: "uint",
16
+ size: 1,
17
+ custom: id,
18
+ omit: true,
19
+ });
20
+ const addressChainItem = {
21
+ binary: "object",
22
+ layout: [
23
+ { name: "chain", ...chainItem() },
24
+ { name: "address", ...universalAddressItem },
25
+ ],
26
+ };
27
+ const vaaKeyLayout = [
28
+ { name: "version", binary: "uint", size: 1, custom: { to: "Key", from: 1 } },
29
+ { name: "chain", ...chainItem() },
30
+ { name: "emitterAddress", ...universalAddressItem },
31
+ { name: "sequence", ...sequenceItem },
32
+ ];
33
+ const relayerPayloads = [
34
+ [
35
+ "DeliveryInstruction",
36
+ [
37
+ payloadIdItem(1),
38
+ { name: "target", ...addressChainItem },
39
+ { name: "payload", binary: "bytes", lengthSize: 4 },
40
+ { name: "requestedReceiverValue", ...amountItem },
41
+ { name: "extraReceiverValue", ...amountItem },
42
+ { name: "executionInfo", ...encodedExecutionInfoItem },
43
+ { name: "refund", ...addressChainItem },
44
+ { name: "refundDeliveryProvider", ...universalAddressItem },
45
+ { name: "sourceDeliveryProvider", ...universalAddressItem },
46
+ { name: "senderAddress", ...universalAddressItem },
47
+ { name: "vaaKeys", binary: "array", lengthSize: 1, layout: vaaKeyLayout },
48
+ ],
49
+ ],
50
+ [
51
+ "RedeliveryInstruction",
52
+ [
53
+ payloadIdItem(2),
54
+ { name: "deliveryVaaKey", binary: "object", layout: vaaKeyLayout },
55
+ { name: "targetChain", ...chainItem() },
56
+ { name: "newRequestedReceiverValue", ...amountItem },
57
+ { name: "newEncodedExecutionInfo", ...encodedExecutionInfoItem },
58
+ { name: "newSourceDeliveryProvider", ...universalAddressItem },
59
+ { name: "newSenderAddress", ...universalAddressItem },
60
+ ],
61
+ ],
62
+ [
63
+ "DeliveryOverride",
64
+ [
65
+ { name: "version", binary: "uint", size: 1, custom: 1, omit: true },
66
+ { name: "receiverValue", ...amountItem },
67
+ { name: "newExecutionInfo", ...encodedExecutionInfoItem },
68
+ { name: "redeliveryHash", binary: "bytes", size: 32 },
69
+ ],
70
+ ],
71
+ ];
72
+ relayerPayloads.forEach(([payloadLiteral, layout]) => registerPayloadType(payloadLiteral, layout));
73
+ //# sourceMappingURL=relayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relayer.js","sourceRoot":"","sources":["../../../src/payloads/relayer.ts"],"names":[],"mappings":"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"}