@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.
- package/dist/cjs/address.d.ts +29 -0
- package/dist/cjs/address.d.ts.map +1 -0
- package/dist/cjs/address.js +29 -0
- package/dist/cjs/address.js.map +1 -0
- package/dist/cjs/attestation.d.ts +19 -0
- package/dist/cjs/attestation.d.ts.map +1 -0
- package/dist/cjs/attestation.js +14 -0
- package/dist/cjs/attestation.js.map +1 -0
- package/dist/cjs/chain.d.ts +31 -0
- package/dist/cjs/chain.d.ts.map +1 -0
- package/dist/cjs/chain.js +62 -0
- package/dist/cjs/chain.js.map +1 -0
- package/dist/cjs/contracts.d.ts +10 -0
- package/dist/cjs/contracts.d.ts.map +1 -0
- package/dist/cjs/contracts.js +18 -0
- package/dist/cjs/contracts.js.map +1 -0
- package/dist/cjs/index.d.ts +22 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +52 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/layout-items/amount.d.ts +5 -0
- package/dist/cjs/layout-items/amount.d.ts.map +1 -0
- package/dist/cjs/layout-items/amount.js +8 -0
- package/dist/cjs/layout-items/amount.js.map +1 -0
- package/dist/cjs/layout-items/chain.d.ts +26 -0
- package/dist/cjs/layout-items/chain.d.ts.map +1 -0
- package/dist/cjs/layout-items/chain.js +33 -0
- package/dist/cjs/layout-items/chain.js.map +1 -0
- package/dist/cjs/layout-items/guardianSet.d.ts +5 -0
- package/dist/cjs/layout-items/guardianSet.d.ts.map +1 -0
- package/dist/cjs/layout-items/guardianSet.js +8 -0
- package/dist/cjs/layout-items/guardianSet.js.map +1 -0
- package/dist/cjs/layout-items/index.d.ts +8 -0
- package/dist/cjs/layout-items/index.d.ts.map +1 -0
- package/dist/cjs/layout-items/index.js +24 -0
- package/dist/cjs/layout-items/index.js.map +1 -0
- package/dist/cjs/layout-items/payloadId.d.ts +8 -0
- package/dist/cjs/layout-items/payloadId.d.ts.map +1 -0
- package/dist/cjs/layout-items/payloadId.js +12 -0
- package/dist/cjs/layout-items/payloadId.js.map +1 -0
- package/dist/cjs/layout-items/sequence.d.ts +5 -0
- package/dist/cjs/layout-items/sequence.d.ts.map +1 -0
- package/dist/cjs/layout-items/sequence.js +8 -0
- package/dist/cjs/layout-items/sequence.js.map +1 -0
- package/dist/cjs/layout-items/signature.d.ts +10 -0
- package/dist/cjs/layout-items/signature.d.ts.map +1 -0
- package/dist/cjs/layout-items/signature.js +22 -0
- package/dist/cjs/layout-items/signature.js.map +1 -0
- package/dist/cjs/layout-items/universalAddress.d.ts +10 -0
- package/dist/cjs/layout-items/universalAddress.d.ts.map +1 -0
- package/dist/cjs/layout-items/universalAddress.js +13 -0
- package/dist/cjs/layout-items/universalAddress.js.map +1 -0
- package/dist/cjs/payloads/connect.d.ts +89 -0
- package/dist/cjs/payloads/connect.d.ts.map +1 -0
- package/dist/cjs/payloads/connect.js +37 -0
- package/dist/cjs/payloads/connect.js.map +1 -0
- package/dist/cjs/payloads/governance.d.ts +3286 -0
- package/dist/cjs/payloads/governance.d.ts.map +1 -0
- package/dist/cjs/payloads/governance.js +157 -0
- package/dist/cjs/payloads/governance.js.map +1 -0
- package/dist/cjs/payloads/relayer.d.ts +295 -0
- package/dist/cjs/payloads/relayer.d.ts.map +1 -0
- package/dist/cjs/payloads/relayer.js +75 -0
- package/dist/cjs/payloads/relayer.js.map +1 -0
- package/dist/cjs/payloads/tokenBridge.d.ts +232 -0
- package/dist/cjs/payloads/tokenBridge.d.ts.map +1 -0
- package/dist/cjs/payloads/tokenBridge.js +71 -0
- package/dist/cjs/payloads/tokenBridge.js.map +1 -0
- package/dist/cjs/platform.d.ts +31 -0
- package/dist/cjs/platform.d.ts.map +1 -0
- package/dist/cjs/platform.js +3 -0
- package/dist/cjs/platform.js.map +1 -0
- package/dist/cjs/protocols/cctp.d.ts +28 -0
- package/dist/cjs/protocols/cctp.d.ts.map +1 -0
- package/dist/cjs/protocols/cctp.js +4 -0
- package/dist/cjs/protocols/cctp.js.map +1 -0
- package/dist/cjs/protocols/core.d.ts +7 -0
- package/dist/cjs/protocols/core.d.ts.map +1 -0
- package/dist/cjs/protocols/core.js +3 -0
- package/dist/cjs/protocols/core.js.map +1 -0
- package/dist/cjs/protocols/tokenBridge.d.ts +25 -0
- package/dist/cjs/protocols/tokenBridge.d.ts.map +1 -0
- package/dist/cjs/protocols/tokenBridge.js +7 -0
- package/dist/cjs/protocols/tokenBridge.js.map +1 -0
- package/dist/cjs/relayer.d.ts +10 -0
- package/dist/cjs/relayer.d.ts.map +1 -0
- package/dist/cjs/relayer.js +16 -0
- package/dist/cjs/relayer.js.map +1 -0
- package/dist/cjs/rpc.d.ts +11 -0
- package/dist/cjs/rpc.d.ts.map +1 -0
- package/dist/cjs/rpc.js +3 -0
- package/dist/cjs/rpc.js.map +1 -0
- package/dist/cjs/signature.d.ts +11 -0
- package/dist/cjs/signature.d.ts.map +1 -0
- package/dist/cjs/signature.js +29 -0
- package/dist/cjs/signature.js.map +1 -0
- package/dist/cjs/testing/index.d.ts +3 -0
- package/dist/cjs/testing/index.d.ts.map +1 -0
- package/dist/cjs/testing/index.js +29 -0
- package/dist/cjs/testing/index.js.map +1 -0
- package/dist/cjs/testing/mocks/api.d.ts +7 -0
- package/dist/cjs/testing/mocks/api.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/api.js +14 -0
- package/dist/cjs/testing/mocks/api.js.map +1 -0
- package/dist/cjs/testing/mocks/chain.d.ts +8 -0
- package/dist/cjs/testing/mocks/chain.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/chain.js +17 -0
- package/dist/cjs/testing/mocks/chain.js.map +1 -0
- package/dist/cjs/testing/mocks/contracts.d.ts +17 -0
- package/dist/cjs/testing/mocks/contracts.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/contracts.js +50 -0
- package/dist/cjs/testing/mocks/contracts.js.map +1 -0
- package/dist/cjs/testing/mocks/index.d.ts +6 -0
- package/dist/cjs/testing/mocks/index.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/index.js +22 -0
- package/dist/cjs/testing/mocks/index.js.map +1 -0
- package/dist/cjs/testing/mocks/platform.d.ts +27 -0
- package/dist/cjs/testing/mocks/platform.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/platform.js +83 -0
- package/dist/cjs/testing/mocks/platform.js.map +1 -0
- package/dist/cjs/testing/mocks/rpc.d.ts +7 -0
- package/dist/cjs/testing/mocks/rpc.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/rpc.js +14 -0
- package/dist/cjs/testing/mocks/rpc.js.map +1 -0
- package/dist/cjs/testing/mocks/tokenBridge.d.ts +17 -0
- package/dist/cjs/testing/mocks/tokenBridge.d.ts.map +1 -0
- package/dist/cjs/testing/mocks/tokenBridge.js +46 -0
- package/dist/cjs/testing/mocks/tokenBridge.js.map +1 -0
- package/dist/cjs/testing/utils/address.d.ts +6 -0
- package/dist/cjs/testing/utils/address.d.ts.map +1 -0
- package/dist/cjs/testing/utils/address.js +56 -0
- package/dist/cjs/testing/utils/address.js.map +1 -0
- package/dist/cjs/testing/utils/index.d.ts +3 -0
- package/dist/cjs/testing/utils/index.d.ts.map +1 -0
- package/dist/cjs/testing/utils/index.js +19 -0
- package/dist/cjs/testing/utils/index.js.map +1 -0
- package/dist/cjs/testing/utils/vaa.d.ts +10 -0
- package/dist/cjs/testing/utils/vaa.d.ts.map +1 -0
- package/dist/cjs/testing/utils/vaa.js +16 -0
- package/dist/cjs/testing/utils/vaa.js.map +1 -0
- package/dist/cjs/types.d.ts +34 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +34 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/universalAddress.d.ts +14 -0
- package/dist/cjs/universalAddress.d.ts.map +1 -0
- package/dist/cjs/universalAddress.js +46 -0
- package/dist/cjs/universalAddress.js.map +1 -0
- package/dist/cjs/unsignedTransaction.d.ts +9 -0
- package/dist/cjs/unsignedTransaction.d.ts.map +1 -0
- package/dist/cjs/unsignedTransaction.js +3 -0
- package/dist/cjs/unsignedTransaction.js.map +1 -0
- package/dist/cjs/utils.d.ts +3 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +7 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/vaa.d.ts +157 -0
- package/dist/cjs/vaa.d.ts.map +1 -0
- package/dist/cjs/vaa.js +117 -0
- package/dist/cjs/vaa.js.map +1 -0
- package/dist/esm/address.d.ts +29 -0
- package/dist/esm/address.d.ts.map +1 -0
- package/dist/esm/address.js +23 -0
- package/dist/esm/address.js.map +1 -0
- package/dist/esm/attestation.d.ts +19 -0
- package/dist/esm/attestation.d.ts.map +1 -0
- package/dist/esm/attestation.js +9 -0
- package/dist/esm/attestation.js.map +1 -0
- package/dist/esm/chain.d.ts +31 -0
- package/dist/esm/chain.d.ts.map +1 -0
- package/dist/esm/chain.js +58 -0
- package/dist/esm/chain.js.map +1 -0
- package/dist/esm/contracts.d.ts +10 -0
- package/dist/esm/contracts.d.ts.map +1 -0
- package/dist/esm/contracts.js +14 -0
- package/dist/esm/contracts.js.map +1 -0
- package/dist/esm/index.d.ts +22 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/layout-items/amount.d.ts +5 -0
- package/dist/esm/layout-items/amount.d.ts.map +1 -0
- package/dist/esm/layout-items/amount.js +5 -0
- package/dist/esm/layout-items/amount.js.map +1 -0
- package/dist/esm/layout-items/chain.d.ts +26 -0
- package/dist/esm/layout-items/chain.d.ts.map +1 -0
- package/dist/esm/layout-items/chain.js +28 -0
- package/dist/esm/layout-items/chain.js.map +1 -0
- package/dist/esm/layout-items/guardianSet.d.ts +5 -0
- package/dist/esm/layout-items/guardianSet.d.ts.map +1 -0
- package/dist/esm/layout-items/guardianSet.js +5 -0
- package/dist/esm/layout-items/guardianSet.js.map +1 -0
- package/dist/esm/layout-items/index.d.ts +8 -0
- package/dist/esm/layout-items/index.d.ts.map +1 -0
- package/dist/esm/layout-items/index.js +8 -0
- package/dist/esm/layout-items/index.js.map +1 -0
- package/dist/esm/layout-items/payloadId.d.ts +8 -0
- package/dist/esm/layout-items/payloadId.d.ts.map +1 -0
- package/dist/esm/layout-items/payloadId.js +8 -0
- package/dist/esm/layout-items/payloadId.js.map +1 -0
- package/dist/esm/layout-items/sequence.d.ts +5 -0
- package/dist/esm/layout-items/sequence.d.ts.map +1 -0
- package/dist/esm/layout-items/sequence.js +5 -0
- package/dist/esm/layout-items/sequence.js.map +1 -0
- package/dist/esm/layout-items/signature.d.ts +10 -0
- package/dist/esm/layout-items/signature.d.ts.map +1 -0
- package/dist/esm/layout-items/signature.js +19 -0
- package/dist/esm/layout-items/signature.js.map +1 -0
- package/dist/esm/layout-items/universalAddress.d.ts +10 -0
- package/dist/esm/layout-items/universalAddress.d.ts.map +1 -0
- package/dist/esm/layout-items/universalAddress.js +10 -0
- package/dist/esm/layout-items/universalAddress.js.map +1 -0
- package/dist/esm/payloads/connect.d.ts +89 -0
- package/dist/esm/payloads/connect.d.ts.map +1 -0
- package/dist/esm/payloads/connect.js +34 -0
- package/dist/esm/payloads/connect.js.map +1 -0
- package/dist/esm/payloads/governance.d.ts +3286 -0
- package/dist/esm/payloads/governance.d.ts.map +1 -0
- package/dist/esm/payloads/governance.js +155 -0
- package/dist/esm/payloads/governance.js.map +1 -0
- package/dist/esm/payloads/relayer.d.ts +295 -0
- package/dist/esm/payloads/relayer.d.ts.map +1 -0
- package/dist/esm/payloads/relayer.js +73 -0
- package/dist/esm/payloads/relayer.js.map +1 -0
- package/dist/esm/payloads/tokenBridge.d.ts +232 -0
- package/dist/esm/payloads/tokenBridge.d.ts.map +1 -0
- package/dist/esm/payloads/tokenBridge.js +67 -0
- package/dist/esm/payloads/tokenBridge.js.map +1 -0
- package/dist/esm/platform.d.ts +31 -0
- package/dist/esm/platform.d.ts.map +1 -0
- package/dist/esm/platform.js +2 -0
- package/dist/esm/platform.js.map +1 -0
- package/dist/esm/protocols/cctp.d.ts +28 -0
- package/dist/esm/protocols/cctp.d.ts.map +1 -0
- package/dist/esm/protocols/cctp.js +2 -0
- package/dist/esm/protocols/cctp.js.map +1 -0
- package/dist/esm/protocols/core.d.ts +7 -0
- package/dist/esm/protocols/core.d.ts.map +1 -0
- package/dist/esm/protocols/core.js +2 -0
- package/dist/esm/protocols/core.js.map +1 -0
- package/dist/esm/protocols/tokenBridge.d.ts +25 -0
- package/dist/esm/protocols/tokenBridge.d.ts.map +1 -0
- package/dist/esm/protocols/tokenBridge.js +3 -0
- package/dist/esm/protocols/tokenBridge.js.map +1 -0
- package/dist/esm/relayer.d.ts +10 -0
- package/dist/esm/relayer.d.ts.map +1 -0
- package/dist/esm/relayer.js +15 -0
- package/dist/esm/relayer.js.map +1 -0
- package/dist/esm/rpc.d.ts +11 -0
- package/dist/esm/rpc.d.ts.map +1 -0
- package/dist/esm/rpc.js +2 -0
- package/dist/esm/rpc.js.map +1 -0
- package/dist/esm/signature.d.ts +11 -0
- package/dist/esm/signature.d.ts.map +1 -0
- package/dist/esm/signature.js +25 -0
- package/dist/esm/signature.js.map +1 -0
- package/dist/esm/testing/index.d.ts +3 -0
- package/dist/esm/testing/index.d.ts.map +1 -0
- package/dist/esm/testing/index.js +3 -0
- package/dist/esm/testing/index.js.map +1 -0
- package/dist/esm/testing/mocks/api.d.ts +7 -0
- package/dist/esm/testing/mocks/api.d.ts.map +1 -0
- package/dist/esm/testing/mocks/api.js +10 -0
- package/dist/esm/testing/mocks/api.js.map +1 -0
- package/dist/esm/testing/mocks/chain.d.ts +8 -0
- package/dist/esm/testing/mocks/chain.d.ts.map +1 -0
- package/dist/esm/testing/mocks/chain.js +12 -0
- package/dist/esm/testing/mocks/chain.js.map +1 -0
- package/dist/esm/testing/mocks/contracts.d.ts +17 -0
- package/dist/esm/testing/mocks/contracts.d.ts.map +1 -0
- package/dist/esm/testing/mocks/contracts.js +46 -0
- package/dist/esm/testing/mocks/contracts.js.map +1 -0
- package/dist/esm/testing/mocks/index.d.ts +6 -0
- package/dist/esm/testing/mocks/index.d.ts.map +1 -0
- package/dist/esm/testing/mocks/index.js +6 -0
- package/dist/esm/testing/mocks/index.js.map +1 -0
- package/dist/esm/testing/mocks/platform.d.ts +27 -0
- package/dist/esm/testing/mocks/platform.d.ts.map +1 -0
- package/dist/esm/testing/mocks/platform.js +78 -0
- package/dist/esm/testing/mocks/platform.js.map +1 -0
- package/dist/esm/testing/mocks/rpc.d.ts +7 -0
- package/dist/esm/testing/mocks/rpc.d.ts.map +1 -0
- package/dist/esm/testing/mocks/rpc.js +10 -0
- package/dist/esm/testing/mocks/rpc.js.map +1 -0
- package/dist/esm/testing/mocks/tokenBridge.d.ts +17 -0
- package/dist/esm/testing/mocks/tokenBridge.d.ts.map +1 -0
- package/dist/esm/testing/mocks/tokenBridge.js +42 -0
- package/dist/esm/testing/mocks/tokenBridge.js.map +1 -0
- package/dist/esm/testing/utils/address.d.ts +6 -0
- package/dist/esm/testing/utils/address.d.ts.map +1 -0
- package/dist/esm/testing/utils/address.js +47 -0
- package/dist/esm/testing/utils/address.js.map +1 -0
- package/dist/esm/testing/utils/index.d.ts +3 -0
- package/dist/esm/testing/utils/index.d.ts.map +1 -0
- package/dist/esm/testing/utils/index.js +3 -0
- package/dist/esm/testing/utils/index.js.map +1 -0
- package/dist/esm/testing/utils/vaa.d.ts +10 -0
- package/dist/esm/testing/utils/vaa.d.ts.map +1 -0
- package/dist/esm/testing/utils/vaa.js +12 -0
- package/dist/esm/testing/utils/vaa.js.map +1 -0
- package/dist/esm/types.d.ts +34 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +27 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/universalAddress.d.ts +14 -0
- package/dist/esm/universalAddress.d.ts.map +1 -0
- package/dist/esm/universalAddress.js +42 -0
- package/dist/esm/universalAddress.js.map +1 -0
- package/dist/esm/unsignedTransaction.d.ts +9 -0
- package/dist/esm/unsignedTransaction.d.ts.map +1 -0
- package/dist/esm/unsignedTransaction.js +2 -0
- package/dist/esm/unsignedTransaction.js.map +1 -0
- package/dist/esm/utils.d.ts +3 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +4 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/vaa.d.ts +157 -0
- package/dist/esm/vaa.d.ts.map +1 -0
- package/dist/esm/vaa.js +108 -0
- package/dist/esm/vaa.js.map +1 -0
- package/package.json +16 -1
- package/__tests__/connectVAA.ts +0 -21
- package/__tests__/governanceVaa.ts +0 -139
- package/__tests__/relayerVaa.ts +0 -24
- package/__tests__/transferVaa.ts +0 -28
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -8
- package/typedoc.json +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsignedTransaction.js","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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"}
|
package/dist/esm/vaa.js
ADDED
|
@@ -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":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wormhole-foundation/sdk-definitions",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
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",
|
package/__tests__/connectVAA.ts
DELETED
|
@@ -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
|
-
});
|
package/__tests__/relayerVaa.ts
DELETED
|
@@ -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
|
-
});
|
package/__tests__/transferVaa.ts
DELETED
|
@@ -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
package/tsconfig.esm.json
DELETED
package/typedoc.json
DELETED