@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.
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/layout-items/amount.d.ts.map +1 -1
- package/dist/cjs/layout-items/amount.js.map +1 -1
- package/dist/cjs/layout-items/chain.d.ts +1 -1
- package/dist/cjs/layout-items/chain.d.ts.map +1 -1
- package/dist/cjs/layout-items/chain.js +1 -1
- package/dist/cjs/layout-items/chain.js.map +1 -1
- package/dist/cjs/layout-items/circle.d.ts +14 -0
- package/dist/cjs/layout-items/circle.d.ts.map +1 -0
- package/dist/cjs/layout-items/circle.js +17 -0
- package/dist/cjs/layout-items/circle.js.map +1 -0
- package/dist/cjs/layout-items/guardianSet.d.ts.map +1 -1
- package/dist/cjs/layout-items/guardianSet.js.map +1 -1
- package/dist/cjs/layout-items/index.d.ts +1 -0
- package/dist/cjs/layout-items/index.d.ts.map +1 -1
- package/dist/cjs/layout-items/index.js +1 -0
- package/dist/cjs/layout-items/index.js.map +1 -1
- package/dist/cjs/layout-items/payloadId.d.ts.map +1 -1
- package/dist/cjs/layout-items/payloadId.js.map +1 -1
- package/dist/cjs/layout-items/sequence.d.ts.map +1 -1
- package/dist/cjs/layout-items/sequence.js.map +1 -1
- package/dist/cjs/layout-items/signature.d.ts.map +1 -1
- package/dist/cjs/layout-items/signature.js.map +1 -1
- package/dist/cjs/layout-items/universalAddress.d.ts.map +1 -1
- package/dist/cjs/layout-items/universalAddress.js.map +1 -1
- package/dist/cjs/payloads/bam.js.map +1 -1
- package/dist/cjs/payloads/connect.d.ts +44 -12
- package/dist/cjs/payloads/connect.d.ts.map +1 -1
- package/dist/cjs/payloads/connect.js +3 -3
- package/dist/cjs/payloads/connect.js.map +1 -1
- package/dist/cjs/payloads/governance.d.ts +2 -3
- package/dist/cjs/payloads/governance.d.ts.map +1 -1
- package/dist/cjs/payloads/governance.js +1 -3
- package/dist/cjs/payloads/governance.js.map +1 -1
- package/dist/cjs/payloads/relayer.d.ts +45 -38
- package/dist/cjs/payloads/relayer.d.ts.map +1 -1
- package/dist/cjs/payloads/relayer.js +26 -13
- package/dist/cjs/payloads/relayer.js.map +1 -1
- package/dist/cjs/payloads/tokenBridge.d.ts +1 -1
- package/dist/cjs/payloads/tokenBridge.js.map +1 -1
- package/dist/cjs/protocol.d.ts +16 -0
- package/dist/cjs/protocol.d.ts.map +1 -0
- package/dist/cjs/protocol.js +34 -0
- package/dist/cjs/protocol.js.map +1 -0
- package/dist/cjs/vaa.d.ts +20 -102
- package/dist/cjs/vaa.d.ts.map +1 -1
- package/dist/cjs/vaa.js +10 -7
- package/dist/cjs/vaa.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layout-items/amount.d.ts.map +1 -1
- package/dist/esm/layout-items/amount.js.map +1 -1
- package/dist/esm/layout-items/chain.d.ts +1 -1
- package/dist/esm/layout-items/chain.d.ts.map +1 -1
- package/dist/esm/layout-items/chain.js +1 -1
- package/dist/esm/layout-items/chain.js.map +1 -1
- package/dist/esm/layout-items/circle.d.ts +14 -0
- package/dist/esm/layout-items/circle.d.ts.map +1 -0
- package/dist/esm/layout-items/circle.js +14 -0
- package/dist/esm/layout-items/circle.js.map +1 -0
- package/dist/esm/layout-items/guardianSet.d.ts.map +1 -1
- package/dist/esm/layout-items/guardianSet.js.map +1 -1
- package/dist/esm/layout-items/index.d.ts +1 -0
- package/dist/esm/layout-items/index.d.ts.map +1 -1
- package/dist/esm/layout-items/index.js +1 -0
- package/dist/esm/layout-items/index.js.map +1 -1
- package/dist/esm/layout-items/payloadId.d.ts.map +1 -1
- package/dist/esm/layout-items/payloadId.js.map +1 -1
- package/dist/esm/layout-items/sequence.d.ts.map +1 -1
- package/dist/esm/layout-items/sequence.js.map +1 -1
- package/dist/esm/layout-items/signature.d.ts.map +1 -1
- package/dist/esm/layout-items/signature.js.map +1 -1
- package/dist/esm/layout-items/universalAddress.d.ts.map +1 -1
- package/dist/esm/layout-items/universalAddress.js.map +1 -1
- package/dist/esm/payloads/bam.js.map +1 -1
- package/dist/esm/payloads/connect.d.ts +44 -12
- package/dist/esm/payloads/connect.d.ts.map +1 -1
- package/dist/esm/payloads/connect.js +4 -4
- package/dist/esm/payloads/connect.js.map +1 -1
- package/dist/esm/payloads/governance.d.ts +2 -3
- package/dist/esm/payloads/governance.d.ts.map +1 -1
- package/dist/esm/payloads/governance.js +1 -3
- package/dist/esm/payloads/governance.js.map +1 -1
- package/dist/esm/payloads/relayer.d.ts +45 -38
- package/dist/esm/payloads/relayer.d.ts.map +1 -1
- package/dist/esm/payloads/relayer.js +25 -12
- package/dist/esm/payloads/relayer.js.map +1 -1
- package/dist/esm/payloads/tokenBridge.d.ts +1 -1
- package/dist/esm/payloads/tokenBridge.js.map +1 -1
- package/dist/esm/protocol.d.ts +16 -0
- package/dist/esm/protocol.d.ts.map +1 -0
- package/dist/esm/protocol.js +28 -0
- package/dist/esm/protocol.js.map +1 -0
- package/dist/esm/vaa.d.ts +20 -102
- package/dist/esm/vaa.d.ts.map +1 -1
- package/dist/esm/vaa.js +10 -7
- package/dist/esm/vaa.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/layout-items/amount.ts +1 -1
- package/src/layout-items/chain.ts +3 -3
- package/src/layout-items/circle.ts +15 -0
- package/src/layout-items/guardianSet.ts +1 -1
- package/src/layout-items/index.ts +1 -0
- package/src/layout-items/payloadId.ts +1 -1
- package/src/layout-items/sequence.ts +1 -1
- package/src/layout-items/signature.ts +1 -1
- package/src/layout-items/universalAddress.ts +1 -1
- package/src/payloads/bam.ts +1 -1
- package/src/payloads/connect.ts +10 -10
- package/src/payloads/governance.ts +1 -3
- package/src/payloads/relayer.ts +37 -24
- package/src/payloads/tokenBridge.ts +2 -2
- package/src/protocol.ts +71 -0
- 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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
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
|
|
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
|
|
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);
|