@wormhole-foundation/sdk-definitions 0.1.8-beta.5 → 0.1.8-beta.7

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 (120) hide show
  1. package/dist/cjs/index.d.ts +1 -0
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +1 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/layout-items/amount.d.ts.map +1 -1
  6. package/dist/cjs/layout-items/amount.js.map +1 -1
  7. package/dist/cjs/layout-items/chain.d.ts +1 -1
  8. package/dist/cjs/layout-items/chain.d.ts.map +1 -1
  9. package/dist/cjs/layout-items/chain.js +1 -1
  10. package/dist/cjs/layout-items/chain.js.map +1 -1
  11. package/dist/cjs/layout-items/circle.d.ts +14 -0
  12. package/dist/cjs/layout-items/circle.d.ts.map +1 -0
  13. package/dist/cjs/layout-items/circle.js +17 -0
  14. package/dist/cjs/layout-items/circle.js.map +1 -0
  15. package/dist/cjs/layout-items/guardianSet.d.ts.map +1 -1
  16. package/dist/cjs/layout-items/guardianSet.js.map +1 -1
  17. package/dist/cjs/layout-items/index.d.ts +1 -0
  18. package/dist/cjs/layout-items/index.d.ts.map +1 -1
  19. package/dist/cjs/layout-items/index.js +1 -0
  20. package/dist/cjs/layout-items/index.js.map +1 -1
  21. package/dist/cjs/layout-items/payloadId.d.ts.map +1 -1
  22. package/dist/cjs/layout-items/payloadId.js.map +1 -1
  23. package/dist/cjs/layout-items/sequence.d.ts.map +1 -1
  24. package/dist/cjs/layout-items/sequence.js.map +1 -1
  25. package/dist/cjs/layout-items/signature.d.ts.map +1 -1
  26. package/dist/cjs/layout-items/signature.js.map +1 -1
  27. package/dist/cjs/layout-items/universalAddress.d.ts.map +1 -1
  28. package/dist/cjs/layout-items/universalAddress.js.map +1 -1
  29. package/dist/cjs/payloads/bam.js.map +1 -1
  30. package/dist/cjs/payloads/connect.d.ts +44 -12
  31. package/dist/cjs/payloads/connect.d.ts.map +1 -1
  32. package/dist/cjs/payloads/connect.js +3 -3
  33. package/dist/cjs/payloads/connect.js.map +1 -1
  34. package/dist/cjs/payloads/governance.d.ts +2 -3
  35. package/dist/cjs/payloads/governance.d.ts.map +1 -1
  36. package/dist/cjs/payloads/governance.js +1 -3
  37. package/dist/cjs/payloads/governance.js.map +1 -1
  38. package/dist/cjs/payloads/relayer.d.ts +45 -38
  39. package/dist/cjs/payloads/relayer.d.ts.map +1 -1
  40. package/dist/cjs/payloads/relayer.js +26 -13
  41. package/dist/cjs/payloads/relayer.js.map +1 -1
  42. package/dist/cjs/payloads/tokenBridge.d.ts +1 -1
  43. package/dist/cjs/payloads/tokenBridge.js.map +1 -1
  44. package/dist/cjs/protocol.d.ts +16 -0
  45. package/dist/cjs/protocol.d.ts.map +1 -0
  46. package/dist/cjs/protocol.js +34 -0
  47. package/dist/cjs/protocol.js.map +1 -0
  48. package/dist/cjs/vaa.d.ts +20 -102
  49. package/dist/cjs/vaa.d.ts.map +1 -1
  50. package/dist/cjs/vaa.js +10 -7
  51. package/dist/cjs/vaa.js.map +1 -1
  52. package/dist/esm/index.d.ts +1 -0
  53. package/dist/esm/index.d.ts.map +1 -1
  54. package/dist/esm/index.js +1 -0
  55. package/dist/esm/index.js.map +1 -1
  56. package/dist/esm/layout-items/amount.d.ts.map +1 -1
  57. package/dist/esm/layout-items/amount.js.map +1 -1
  58. package/dist/esm/layout-items/chain.d.ts +1 -1
  59. package/dist/esm/layout-items/chain.d.ts.map +1 -1
  60. package/dist/esm/layout-items/chain.js +1 -1
  61. package/dist/esm/layout-items/chain.js.map +1 -1
  62. package/dist/esm/layout-items/circle.d.ts +14 -0
  63. package/dist/esm/layout-items/circle.d.ts.map +1 -0
  64. package/dist/esm/layout-items/circle.js +14 -0
  65. package/dist/esm/layout-items/circle.js.map +1 -0
  66. package/dist/esm/layout-items/guardianSet.d.ts.map +1 -1
  67. package/dist/esm/layout-items/guardianSet.js.map +1 -1
  68. package/dist/esm/layout-items/index.d.ts +1 -0
  69. package/dist/esm/layout-items/index.d.ts.map +1 -1
  70. package/dist/esm/layout-items/index.js +1 -0
  71. package/dist/esm/layout-items/index.js.map +1 -1
  72. package/dist/esm/layout-items/payloadId.d.ts.map +1 -1
  73. package/dist/esm/layout-items/payloadId.js.map +1 -1
  74. package/dist/esm/layout-items/sequence.d.ts.map +1 -1
  75. package/dist/esm/layout-items/sequence.js.map +1 -1
  76. package/dist/esm/layout-items/signature.d.ts.map +1 -1
  77. package/dist/esm/layout-items/signature.js.map +1 -1
  78. package/dist/esm/layout-items/universalAddress.d.ts.map +1 -1
  79. package/dist/esm/layout-items/universalAddress.js.map +1 -1
  80. package/dist/esm/payloads/bam.js.map +1 -1
  81. package/dist/esm/payloads/connect.d.ts +44 -12
  82. package/dist/esm/payloads/connect.d.ts.map +1 -1
  83. package/dist/esm/payloads/connect.js +4 -4
  84. package/dist/esm/payloads/connect.js.map +1 -1
  85. package/dist/esm/payloads/governance.d.ts +2 -3
  86. package/dist/esm/payloads/governance.d.ts.map +1 -1
  87. package/dist/esm/payloads/governance.js +1 -3
  88. package/dist/esm/payloads/governance.js.map +1 -1
  89. package/dist/esm/payloads/relayer.d.ts +45 -38
  90. package/dist/esm/payloads/relayer.d.ts.map +1 -1
  91. package/dist/esm/payloads/relayer.js +25 -12
  92. package/dist/esm/payloads/relayer.js.map +1 -1
  93. package/dist/esm/payloads/tokenBridge.d.ts +1 -1
  94. package/dist/esm/payloads/tokenBridge.js.map +1 -1
  95. package/dist/esm/protocol.d.ts +16 -0
  96. package/dist/esm/protocol.d.ts.map +1 -0
  97. package/dist/esm/protocol.js +28 -0
  98. package/dist/esm/protocol.js.map +1 -0
  99. package/dist/esm/vaa.d.ts +20 -102
  100. package/dist/esm/vaa.d.ts.map +1 -1
  101. package/dist/esm/vaa.js +10 -7
  102. package/dist/esm/vaa.js.map +1 -1
  103. package/package.json +1 -1
  104. package/src/index.ts +1 -0
  105. package/src/layout-items/amount.ts +1 -1
  106. package/src/layout-items/chain.ts +3 -3
  107. package/src/layout-items/circle.ts +15 -0
  108. package/src/layout-items/guardianSet.ts +1 -1
  109. package/src/layout-items/index.ts +1 -0
  110. package/src/layout-items/payloadId.ts +1 -1
  111. package/src/layout-items/sequence.ts +1 -1
  112. package/src/layout-items/signature.ts +1 -1
  113. package/src/layout-items/universalAddress.ts +1 -1
  114. package/src/payloads/bam.ts +1 -1
  115. package/src/payloads/connect.ts +10 -10
  116. package/src/payloads/governance.ts +1 -3
  117. package/src/payloads/relayer.ts +37 -24
  118. package/src/payloads/tokenBridge.ts +2 -2
  119. package/src/protocol.ts +71 -0
  120. package/src/vaa.ts +18 -24
package/src/vaa.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  encoding,
3
3
  Layout,
4
- LayoutItem,
4
+ NamedLayoutItem,
5
5
  LayoutToType,
6
6
  layoutDiscriminator,
7
7
  serializeLayout,
@@ -22,7 +22,7 @@ import { keccak256 } from "./utils";
22
22
 
23
23
  //LayoutLiteralToLayoutMapping is the compile-time analog/complement to the runtime
24
24
  // payload factory. It uses TypeScript's interface merging mechanic to "dynamically" extend known
25
- // payload types that are declared in different modules. This allows us to have full type safety
25
+ // payload types that are declared in different protocols. This allows us to have full type safety
26
26
  // when constructing payloads via the factory without having to ever declare the mapping of all
27
27
  // payloads and their respective layouts in a single place (which, besides being a terrible code
28
28
  // smell, would also prevent users of the SDK to register their own payload types!)
@@ -104,10 +104,10 @@ const headerLayout = [
104
104
  name: "signatures",
105
105
  binary: "array",
106
106
  lengthSize: 1,
107
- layout: guardianSignatureLayout,
107
+ arrayItem: { binary: "object", layout: guardianSignatureLayout },
108
108
  },
109
109
  ] as const satisfies Layout;
110
-
110
+
111
111
  //envelope + payload are getting hashed and signed
112
112
  const envelopeLayout = [
113
113
  { name: "timestamp", binary: "uint", size: 4 },
@@ -176,27 +176,21 @@ const payloadLiteralToPayloadItem = <PL extends PayloadLiteral>(
176
176
  name: "payload",
177
177
  binary: "object",
178
178
  layout: getPayloadLayout(payloadLiteral),
179
- } as const)) satisfies LayoutItem;
179
+ } as const)) satisfies NamedLayoutItem;
180
180
 
181
181
  //annoyingly we can't use the return value of payloadLiteralToPayloadItem
182
182
  type PayloadLiteralToDynamicItems<PL extends PayloadLiteral> =
183
- DynamicItemsOfLayout<
184
- [
185
- ...typeof baseLayout,
186
- PL extends LayoutLiteral
187
- ? {
188
- name: "payload";
189
- binary: "object";
190
- layout: DynamicItemsOfLayout<LayoutOf<PL>>;
191
- }
192
- : { name: "payload"; binary: "bytes" },
193
- ]
194
- >;
195
-
196
- export const createVAA = <PL extends PayloadLiteral = "Uint8Array">(
183
+ DynamicItemsOfLayout<[
184
+ ...typeof baseLayout,
185
+ PL extends LayoutLiteral
186
+ ? { name: "payload"; binary: "object"; layout: DynamicItemsOfLayout<LayoutOf<PL>> }
187
+ : { name: "payload"; binary: "bytes" },
188
+ ]>;
189
+
190
+ export function createVAA<PL extends PayloadLiteral = "Uint8Array">(
197
191
  payloadLiteral: PL,
198
192
  vaaData: LayoutToType<PayloadLiteralToDynamicItems<PL>>,
199
- ): VAA<PL> => {
193
+ ): VAA<PL> {
200
194
  const [protocolName, payloadName] = decomposeLiteral(payloadLiteral);
201
195
  const bodyLayout = [
202
196
  ...envelopeLayout,
@@ -249,9 +243,9 @@ export function registerPayloadTypes(
249
243
  registerPayloadType(protocol, name, layout);
250
244
  }
251
245
 
252
- export const serialize = <PL extends PayloadLiteral>(
246
+ export function serialize<PL extends PayloadLiteral>(
253
247
  vaa: VAA<PL>,
254
- ): Uint8Array => {
248
+ ): Uint8Array {
255
249
  const layout = [
256
250
  ...baseLayout,
257
251
  payloadLiteralToPayloadItem(vaa.payloadLiteral),
@@ -259,10 +253,10 @@ export const serialize = <PL extends PayloadLiteral>(
259
253
  return serializeLayout(layout, vaa as unknown as LayoutToType<typeof layout>);
260
254
  };
261
255
 
262
- export const serializePayload = <PL extends PayloadLiteral>(
256
+ export function serializePayload<PL extends PayloadLiteral>(
263
257
  payloadLiteral: PL,
264
258
  payload: PayloadLiteralToPayloadType<PL>,
265
- ) => {
259
+ ) {
266
260
  if (payloadLiteral === "Uint8Array") return payload as Uint8Array;
267
261
 
268
262
  const layout = getPayloadLayout(payloadLiteral);