@bananapus/nana-sdk-core 1.1.1 → 1.2.0

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 (39) hide show
  1. package/dist/cjs/constants.d.ts +8 -2
  2. package/dist/cjs/constants.d.ts.map +1 -1
  3. package/dist/cjs/constants.js +9 -1
  4. package/dist/cjs/constants.js.map +1 -1
  5. package/dist/cjs/generated/juicebox.d.ts +36 -0
  6. package/dist/cjs/generated/juicebox.d.ts.map +1 -1
  7. package/dist/cjs/generated/juicebox.js +37 -1
  8. package/dist/cjs/generated/juicebox.js.map +1 -1
  9. package/dist/cjs/utils/deploy.d.ts +17 -0
  10. package/dist/cjs/utils/deploy.d.ts.map +1 -1
  11. package/dist/cjs/utils/deploy.js +49 -17
  12. package/dist/cjs/utils/deploy.js.map +1 -1
  13. package/dist/cjs/utils/deploy.test.js +41 -0
  14. package/dist/cjs/utils/deploy.test.js.map +1 -1
  15. package/dist/cjs/v6/omnichain.d.ts +6 -1
  16. package/dist/cjs/v6/omnichain.d.ts.map +1 -1
  17. package/dist/cjs/v6/omnichain.js +5 -1
  18. package/dist/cjs/v6/omnichain.js.map +1 -1
  19. package/dist/esm/constants.d.ts +8 -2
  20. package/dist/esm/constants.d.ts.map +1 -1
  21. package/dist/esm/constants.js +9 -1
  22. package/dist/esm/constants.js.map +1 -1
  23. package/dist/esm/generated/juicebox.d.ts +36 -0
  24. package/dist/esm/generated/juicebox.d.ts.map +1 -1
  25. package/dist/esm/generated/juicebox.js +36 -0
  26. package/dist/esm/generated/juicebox.js.map +1 -1
  27. package/dist/esm/utils/deploy.d.ts +17 -0
  28. package/dist/esm/utils/deploy.d.ts.map +1 -1
  29. package/dist/esm/utils/deploy.js +50 -18
  30. package/dist/esm/utils/deploy.js.map +1 -1
  31. package/dist/esm/utils/deploy.test.js +41 -0
  32. package/dist/esm/utils/deploy.test.js.map +1 -1
  33. package/dist/esm/v6/omnichain.d.ts +6 -1
  34. package/dist/esm/v6/omnichain.d.ts.map +1 -1
  35. package/dist/esm/v6/omnichain.js +6 -2
  36. package/dist/esm/v6/omnichain.js.map +1 -1
  37. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +1 -1
@@ -3,12 +3,29 @@ export declare enum MappableAsset {
3
3
  NATIVE = 0,
4
4
  USDC = 1
5
5
  }
6
+ /**
7
+ * The bridge infrastructure to deploy v6 suckers on:
8
+ *
9
+ * - `"ccip"`: Chainlink CCIP suckers. Connect any pair of supported chains and can map
10
+ * any supported asset (USDC bridges as canonical USDC via CCTP).
11
+ * - `"native"`: OP/Base/Arbitrum standard-bridge suckers. Strongest trust guarantees, but
12
+ * only connect Ethereum with an L2 (never L2<->L2), only map the native token, and
13
+ * L2->L1 exits wait out the bridge's ~7-day challenge period.
14
+ * - `"both"`: one native sucker AND one CCIP sucker per pair, for redundancy. Pairs or
15
+ * assets native bridges can't serve are covered by the CCIP sucker alone.
16
+ */
17
+ export type JBSuckerBridge = "ccip" | "native" | "both";
6
18
  export declare function parseSuckerDeployerConfig(targetChainId: JBChainId, chains: JBChainId[], assets?: MappableAsset[], opts?: {
7
19
  salt?: `0x${string}`;
8
20
  /**
9
21
  * The JB protocol version being deployed. Defaults to 5, which is also used for v4 deployments.
10
22
  */
11
23
  version?: JBVersion;
24
+ /**
25
+ * The bridge infrastructure to deploy suckers on. Defaults to "ccip".
26
+ * "native" and "both" are v6-only.
27
+ */
28
+ bridge?: JBSuckerBridge;
12
29
  }): {
13
30
  deployerConfigurations: {
14
31
  deployer: `0x${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQnD,oBAAY,aAAa;IACvB,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,GAAE,aAAa,EAA2B,EAChD,IAAI,GAAE;IACJ,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CAChB;;;;;;;;;;;;;;;;;;;EAuDP"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/utils/deploy.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQnD,oBAAY,aAAa;IACvB,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,GAAE,aAAa,EAA2B,EAChD,IAAI,GAAE;IACJ,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CACpB;;;;;;;;;;;;;;;;;;;EA+FP"}
@@ -1,8 +1,8 @@
1
1
  import { pad, zeroHash } from "viem";
2
- import { CCIP_SUCKER_DEPLOYER_ADDRESSES, NATIVE_TOKEN, USDC_ADDRESSES, } from "../constants.js";
2
+ import { CCIP_SUCKER_DEPLOYER_ADDRESSES, NATIVE_SUCKER_DEPLOYER_ADDRESSES, NATIVE_TOKEN, USDC_ADDRESSES, } from "../constants.js";
3
3
  import { createSalt } from "./tx.js";
4
4
  // NOTE: A default of `0` is safe as long as we are deploying CCIP suckers, this is not a safe default for non-ccip suckers.
5
- // Currently the SDK is only able to deploy CCIP suckers so this is a safe default, but in case that changes this should be refactored.
5
+ // v4/v5 deployments (which take a min bridge amount) are CCIP-only, so this is a safe default.
6
6
  const DEFAULT_MIN_BRIDGE_AMOUNT = BigInt(0);
7
7
  // Assets that the SDK has built-in support for mapping.
8
8
  export var MappableAsset;
@@ -11,10 +11,14 @@ export var MappableAsset;
11
11
  MappableAsset[MappableAsset["USDC"] = 1] = "USDC";
12
12
  })(MappableAsset || (MappableAsset = {}));
13
13
  export function parseSuckerDeployerConfig(targetChainId, chains, assets = [MappableAsset.NATIVE], opts = {}) {
14
- const deployerAddresses = CCIP_SUCKER_DEPLOYER_ADDRESSES[opts.version === 6 ? 6 : 5];
14
+ const bridge = opts.bridge ?? "ccip";
15
+ if (bridge !== "ccip" && opts.version !== 6) {
16
+ throw new Error(`Native-bridge suckers are only supported for v6 deployments`);
17
+ }
18
+ const ccipDeployers = CCIP_SUCKER_DEPLOYER_ADDRESSES[opts.version === 6 ? 6 : 5];
15
19
  const suckerChains = chains.filter((chainId) => chainId !== targetChainId);
16
- const getDeployer = (chainId) => {
17
- const deployer = deployerAddresses[targetChainId]?.[chainId];
20
+ const getCcipDeployer = (chainId) => {
21
+ const deployer = ccipDeployers[targetChainId]?.[chainId];
18
22
  if (!deployer) {
19
23
  throw new Error(`No deployer found for ${targetChainId} -> ${chainId}`);
20
24
  }
@@ -31,23 +35,51 @@ export function parseSuckerDeployerConfig(targetChainId, chains, assets = [Mappa
31
35
  };
32
36
  }
33
37
  };
38
+ // v6 mappings identify remote tokens as bytes32 and no longer take a min bridge amount.
39
+ const toV6Mapping = (asset, chainId) => {
40
+ const { localToken, remoteToken } = getTokens(asset, chainId);
41
+ return {
42
+ localToken,
43
+ minGas: 200_000,
44
+ remoteToken: pad(remoteToken),
45
+ };
46
+ };
47
+ // The native-bridge sucker config for one (local -> remote) pair, or undefined when
48
+ // the pair/assets can't go native but the CCIP sucker covers them (bridge "both").
49
+ const v6NativeConfigFor = (chainId) => {
50
+ const deployer = NATIVE_SUCKER_DEPLOYER_ADDRESSES[6][targetChainId]?.[chainId];
51
+ // Standard bridges deliver bridge-wrapped tokens (USDC.e, never canonical USDC),
52
+ // which would strand funds on the remote sucker — only map the native token.
53
+ const nativeAssets = assets.filter((asset) => asset === MappableAsset.NATIVE);
54
+ if (deployer && nativeAssets.length > 0) {
55
+ return {
56
+ deployer,
57
+ peer: zeroHash,
58
+ mappings: nativeAssets.map((asset) => toV6Mapping(asset, chainId)),
59
+ };
60
+ }
61
+ if (bridge === "both")
62
+ return undefined;
63
+ throw new Error(deployer
64
+ ? `Only the native token can bridge over native bridges (they deliver bridge-wrapped tokens like USDC.e); use bridge "ccip" or "both" to map other assets`
65
+ : `No native bridge between ${targetChainId} and ${chainId} (native bridges only connect Ethereum with an L2); use bridge "ccip" or "both"`);
66
+ };
34
67
  // v6 configs identify remote tokens/peers as bytes32 (a zero peer means the default
35
- // same-address deterministic peer), and no longer take a min bridge amount.
68
+ // same-address deterministic peer). One config per (remote chain, bridge kind) pair.
36
69
  const deployerConfigurations = opts.version === 6
37
- ? suckerChains.map((chainId) => ({
38
- deployer: getDeployer(chainId),
39
- peer: zeroHash,
40
- mappings: assets.map((asset) => {
41
- const { localToken, remoteToken } = getTokens(asset, chainId);
42
- return {
43
- localToken,
44
- minGas: 200_000,
45
- remoteToken: pad(remoteToken),
70
+ ? suckerChains.flatMap((chainId) => {
71
+ const native = bridge === "ccip" ? undefined : v6NativeConfigFor(chainId);
72
+ const ccip = bridge === "native"
73
+ ? undefined
74
+ : {
75
+ deployer: getCcipDeployer(chainId),
76
+ peer: zeroHash,
77
+ mappings: assets.map((asset) => toV6Mapping(asset, chainId)),
46
78
  };
47
- }),
48
- }))
79
+ return [...(native ? [native] : []), ...(ccip ? [ccip] : [])];
80
+ })
49
81
  : suckerChains.map((chainId) => ({
50
- deployer: getDeployer(chainId),
82
+ deployer: getCcipDeployer(chainId),
51
83
  mappings: assets.map((asset) => ({
52
84
  ...getTokens(asset, chainId),
53
85
  minGas: 200_000,
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/utils/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/utils/deploy.ts"],"names":[],"mappings":"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"}
@@ -19,4 +19,45 @@ describe("sucker parsing", () => {
19
19
  expect(result.salt).toBe(salt);
20
20
  });
21
21
  });
22
+ describe("v6 bridge selection", () => {
23
+ test("native bridges from mainnet to each L2", () => {
24
+ const result = parseSuckerDeployerConfig(mainnet.id, [optimism.id, arbitrum.id, base.id], [MappableAsset.NATIVE], { version: 6, bridge: "native" });
25
+ expect(result.deployerConfigurations.length).toBe(3);
26
+ expect(result.deployerConfigurations[0].deployer).toBe("0x298a775c030adcedb641a89d9047ec9972674e1a");
27
+ });
28
+ test("both deploys a native and a CCIP sucker per L1<->L2 pair", () => {
29
+ const result = parseSuckerDeployerConfig(mainnet.id, [optimism.id], [MappableAsset.NATIVE], { version: 6, bridge: "both" });
30
+ expect(result.deployerConfigurations.length).toBe(2);
31
+ const [native, ccip] = result.deployerConfigurations;
32
+ expect(native.deployer).not.toBe(ccip.deployer);
33
+ });
34
+ test("both falls back to CCIP alone for L2<->L2 pairs", () => {
35
+ const result = parseSuckerDeployerConfig(optimism.id, [base.id], [MappableAsset.NATIVE], { version: 6, bridge: "both" });
36
+ expect(result.deployerConfigurations.length).toBe(1);
37
+ });
38
+ test("native throws for L2<->L2 pairs", () => {
39
+ expect(() => parseSuckerDeployerConfig(optimism.id, [base.id], [MappableAsset.NATIVE], {
40
+ version: 6,
41
+ bridge: "native",
42
+ })).toThrow(/native bridges only connect Ethereum with an L2/);
43
+ });
44
+ test("native throws for USDC (bridge-wrapped USDC.e trap)", () => {
45
+ expect(() => parseSuckerDeployerConfig(mainnet.id, [optimism.id], [MappableAsset.USDC], {
46
+ version: 6,
47
+ bridge: "native",
48
+ })).toThrow(/USDC\.e/);
49
+ });
50
+ test("both keeps USDC on the CCIP sucker only", () => {
51
+ const result = parseSuckerDeployerConfig(mainnet.id, [optimism.id], [MappableAsset.NATIVE, MappableAsset.USDC], { version: 6, bridge: "both" });
52
+ expect(result.deployerConfigurations.length).toBe(2);
53
+ const [native, ccip] = result.deployerConfigurations;
54
+ expect(native.mappings.length).toBe(1); // native token only
55
+ expect(ccip.mappings.length).toBe(2); // native + USDC
56
+ });
57
+ test("native is rejected for pre-v6 deployments", () => {
58
+ expect(() => parseSuckerDeployerConfig(mainnet.id, [optimism.id], [MappableAsset.NATIVE], {
59
+ bridge: "native",
60
+ })).toThrow(/only supported for v6/);
61
+ });
62
+ });
22
63
  //# sourceMappingURL=deploy.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.test.js","sourceRoot":"","sources":["../../../src/utils/deploy.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACvE,MAAM,MAAM,GAAG,yBAAyB,CACtC,OAAO,CAAC,EAAE,EACV,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EACnC,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAC3C,CAAC;QAEF,8FAA8F;QAC9F,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErD,8EAA8E;QAC9E,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,yBAAyB,CACtC,OAAO,CAAC,EAAE,EACV,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EACnC,CAAC,aAAa,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;QAEF,mDAAmD;QACnD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"deploy.test.js","sourceRoot":"","sources":["../../../src/utils/deploy.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Address, ContractFunctionArgs, Hex } from "viem";
2
2
  import { jbOmnichainDeployerAbi } from "../generated/juicebox.js";
3
3
  import { JBChainId } from "../types.js";
4
- import { MappableAsset } from "../utils/deploy.js";
4
+ import { JBSuckerBridge, MappableAsset } from "../utils/deploy.js";
5
5
  import { JBTerminalConfig } from "./launch.js";
6
6
  import { JBRulesetConfig } from "./rulesets.js";
7
7
  type OmnichainLaunchArgs = ContractFunctionArgs<typeof jbOmnichainDeployerAbi, "payable", "launchProjectFor">;
@@ -45,6 +45,10 @@ export type JBSuckerDeploymentConfig = OmnichainLaunchArgs6[5];
45
45
  * `chainId`); sucker deployer configs are built for every other chain.
46
46
  * @param args.assets The assets to bridge between chains. Defaults to the
47
47
  * native token only.
48
+ * @param args.bridge The bridge infrastructure the suckers use: "ccip" (any
49
+ * chain pair, any asset — the default), "native" (OP/Base/Arbitrum standard
50
+ * bridges: Ethereum<->L2 pairs and the native token only), or "both" (a
51
+ * native AND a CCIP sucker per pair where both exist, for redundancy).
48
52
  * @param args.salt The shared salt (use the same value on every chain).
49
53
  * @param args.deploy721Config Optional tiered 721 hook to deploy with the
50
54
  * project (uses the 7-arg overload when given).
@@ -62,6 +66,7 @@ export declare function buildOmnichainLaunchProjectTx(args: {
62
66
  creationFee: bigint;
63
67
  salt: Hex;
64
68
  assets?: MappableAsset[];
69
+ bridge?: JBSuckerBridge;
65
70
  deploy721Config?: JBDeploy721TiersHookConfig;
66
71
  }): {
67
72
  chainId: 1 | 10 | 11155111 | 11155420 | 421614 | 84532 | 42161 | 8453;
@@ -1 +1 @@
1
- {"version":3,"file":"omnichain.d.ts","sourceRoot":"","sources":["../../../src/v6/omnichain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAA6B,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,mBAAmB,GAAG,oBAAoB,CAC7C,OAAO,sBAAsB,EAC7B,SAAS,EACT,kBAAkB,CACnB,CAAC;AAEF,KAAK,oBAAoB,GAAG,OAAO,CACjC,mBAAmB,EACnB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CACzE,CAAC;AAEF,KAAK,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,0BAA0B,CAAC;CAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,0BAA0B,CAAC;CAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBA"}
1
+ {"version":3,"file":"omnichain.d.ts","sourceRoot":"","sources":["../../../src/v6/omnichain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,cAAc,EACd,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,KAAK,mBAAmB,GAAG,oBAAoB,CAC7C,OAAO,sBAAsB,EAC7B,SAAS,EACT,kBAAkB,CACnB,CAAC;AAEF,KAAK,oBAAoB,GAAG,OAAO,CACjC,mBAAmB,EACnB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CACzE,CAAC;AAEF,KAAK,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,OAAO,EAAE,SAAS,CAAC;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,sBAAsB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,0BAA0B,CAAC;CAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,SAAS,eAAe,EAAE,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,0BAA0B,CAAC;CAC9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBA"}
@@ -1,5 +1,5 @@
1
1
  import { jbOmnichainDeployerAbi } from "../generated/juicebox.js";
2
- import { MappableAsset, parseSuckerDeployerConfig } from "../utils/deploy.js";
2
+ import { MappableAsset, parseSuckerDeployerConfig, } from "../utils/deploy.js";
3
3
  import { v6Address } from "./types.js";
4
4
  /**
5
5
  * Build a `JBOmnichainDeployer.launchProjectFor` transaction request creating
@@ -27,6 +27,10 @@ import { v6Address } from "./types.js";
27
27
  * `chainId`); sucker deployer configs are built for every other chain.
28
28
  * @param args.assets The assets to bridge between chains. Defaults to the
29
29
  * native token only.
30
+ * @param args.bridge The bridge infrastructure the suckers use: "ccip" (any
31
+ * chain pair, any asset — the default), "native" (OP/Base/Arbitrum standard
32
+ * bridges: Ethereum<->L2 pairs and the native token only), or "both" (a
33
+ * native AND a CCIP sucker per pair where both exist, for redundancy).
30
34
  * @param args.salt The shared salt (use the same value on every chain).
31
35
  * @param args.deploy721Config Optional tiered 721 hook to deploy with the
32
36
  * project (uses the 7-arg overload when given).
@@ -37,7 +41,7 @@ export function buildOmnichainLaunchProjectTx(args) {
37
41
  // parseSuckerDeployerConfig's return type is a v5/v6 union that TS cannot
38
42
  // narrow on the `version` option; passing `version: 6` guarantees the v6
39
43
  // shape at runtime.
40
- const suckerDeploymentConfiguration = parseSuckerDeployerConfig(args.chainId, args.chainIds, args.assets ?? [MappableAsset.NATIVE], { salt: args.salt, version: 6 });
44
+ const suckerDeploymentConfiguration = parseSuckerDeployerConfig(args.chainId, args.chainIds, args.assets ?? [MappableAsset.NATIVE], { salt: args.salt, version: 6, bridge: args.bridge });
41
45
  const address = v6Address("JBOmnichainDeployer", args.chainId);
42
46
  const memo = args.memo ?? "";
43
47
  if (args.deploy721Config) {
@@ -1 +1 @@
1
- {"version":3,"file":"omnichain.js","sourceRoot":"","sources":["../../../src/v6/omnichain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA6BvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAY7C;IACC,0EAA0E;IAC1E,yEAAyE;IACzE,oBAAoB;IACpB,MAAM,6BAA6B,GAAG,yBAAyB,CAC7D,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EACrC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CACO,CAAC;IAEzC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,kBAA2B;YACzC,IAAI,EAAE;gBACJ,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI,CAAC,sBAAsB;gBAC3B,IAAI;gBACJ,6BAA6B;aACrB;YACV,KAAK,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,sBAAsB;QAC3B,YAAY,EAAE,kBAA2B;QACzC,IAAI,EAAE;YACJ,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,sBAAsB;YAC3B,IAAI;YACJ,6BAA6B;SACrB;QACV,KAAK,EAAE,IAAI,CAAC,WAAW;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAM7C;IACC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,iBAA0B;YACxC,IAAI,EAAE;gBACJ,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI;aACI;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,sBAAsB;QAC3B,YAAY,EAAE,iBAA0B;QACxC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAU;KAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"omnichain.js","sourceRoot":"","sources":["../../../src/v6/omnichain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAEL,aAAa,EACb,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA6BvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAa7C;IACC,0EAA0E;IAC1E,yEAAyE;IACzE,oBAAoB;IACpB,MAAM,6BAA6B,GAAG,yBAAyB,CAC7D,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EACrC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CACd,CAAC;IAEzC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,kBAA2B;YACzC,IAAI,EAAE;gBACJ,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI,CAAC,sBAAsB;gBAC3B,IAAI;gBACJ,6BAA6B;aACrB;YACV,KAAK,EAAE,IAAI,CAAC,WAAW;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,sBAAsB;QAC3B,YAAY,EAAE,kBAA2B;QACzC,IAAI,EAAE;YACJ,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,sBAAsB;YAC3B,IAAI;YACJ,6BAA6B;SACrB;QACV,KAAK,EAAE,IAAI,CAAC,WAAW;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAM7C;IACC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,iBAA0B;YACxC,IAAI,EAAE;gBACJ,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,qBAAqB;gBAC1B,IAAI;aACI;SACX,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,GAAG,EAAE,sBAAsB;QAC3B,YAAY,EAAE,iBAA0B;QACxC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAU;KAClE,CAAC;AACJ,CAAC"}