@wormhole-foundation/sdk-sui 4.23.0 → 5.0.0-beta.1

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 (60) hide show
  1. package/dist/esm/address.d.ts +1 -0
  2. package/dist/esm/address.d.ts.map +1 -1
  3. package/dist/esm/address.js +5 -0
  4. package/dist/esm/address.js.map +1 -1
  5. package/dist/esm/platform.d.ts +10 -10
  6. package/dist/esm/platform.d.ts.map +1 -1
  7. package/dist/esm/platform.js +48 -46
  8. package/dist/esm/platform.js.map +1 -1
  9. package/dist/esm/signer.d.ts +3 -3
  10. package/dist/esm/signer.d.ts.map +1 -1
  11. package/dist/esm/signer.js +2 -1
  12. package/dist/esm/signer.js.map +1 -1
  13. package/dist/esm/types.d.ts +30 -12
  14. package/dist/esm/types.d.ts.map +1 -1
  15. package/dist/esm/types.js +23 -9
  16. package/dist/esm/types.js.map +1 -1
  17. package/dist/esm/unsignedTransaction.d.ts +1 -1
  18. package/dist/esm/unsignedTransaction.d.ts.map +1 -1
  19. package/dist/esm/utils.d.ts +35 -8
  20. package/dist/esm/utils.d.ts.map +1 -1
  21. package/dist/esm/utils.js +90 -103
  22. package/dist/esm/utils.js.map +1 -1
  23. package/package.json +16 -49
  24. package/dist/cjs/address.d.ts +0 -35
  25. package/dist/cjs/address.d.ts.map +0 -1
  26. package/dist/cjs/address.js +0 -127
  27. package/dist/cjs/address.js.map +0 -1
  28. package/dist/cjs/chain.d.ts +0 -6
  29. package/dist/cjs/chain.d.ts.map +0 -1
  30. package/dist/cjs/chain.js +0 -8
  31. package/dist/cjs/chain.js.map +0 -1
  32. package/dist/cjs/constants.d.ts +0 -3
  33. package/dist/cjs/constants.d.ts.map +0 -1
  34. package/dist/cjs/constants.js +0 -6
  35. package/dist/cjs/constants.js.map +0 -1
  36. package/dist/cjs/index.d.ts +0 -9
  37. package/dist/cjs/index.d.ts.map +0 -1
  38. package/dist/cjs/index.js +0 -25
  39. package/dist/cjs/index.js.map +0 -1
  40. package/dist/cjs/package.json +0 -1
  41. package/dist/cjs/platform.d.ts +0 -30
  42. package/dist/cjs/platform.d.ts.map +0 -1
  43. package/dist/cjs/platform.js +0 -136
  44. package/dist/cjs/platform.js.map +0 -1
  45. package/dist/cjs/signer.d.ts +0 -16
  46. package/dist/cjs/signer.d.ts.map +0 -1
  47. package/dist/cjs/signer.js +0 -60
  48. package/dist/cjs/signer.js.map +0 -1
  49. package/dist/cjs/types.d.ts +0 -33
  50. package/dist/cjs/types.d.ts.map +0 -1
  51. package/dist/cjs/types.js +0 -44
  52. package/dist/cjs/types.js.map +0 -1
  53. package/dist/cjs/unsignedTransaction.d.ts +0 -12
  54. package/dist/cjs/unsignedTransaction.d.ts.map +0 -1
  55. package/dist/cjs/unsignedTransaction.js +0 -19
  56. package/dist/cjs/unsignedTransaction.js.map +0 -1
  57. package/dist/cjs/utils.d.ts +0 -14
  58. package/dist/cjs/utils.d.ts.map +0 -1
  59. package/dist/cjs/utils.js +0 -211
  60. package/dist/cjs/utils.js.map +0 -1
@@ -6,6 +6,7 @@ export declare const isValidSuiType: (str: string) => boolean;
6
6
  export declare const trimSuiType: (type: string) => string;
7
7
  export declare function zpadSuiAddress(address: string): string;
8
8
  export declare const normalizeSuiType: (type: string) => string;
9
+ export declare const unwrapCoinType: (objectType: string) => string;
9
10
  export declare const getCoinTypeFromPackageId: (packageId: string) => string;
10
11
  export declare const getPackageIdFromType: (type: string) => string;
11
12
  export declare const getTableKeyType: (tableType: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAA4B,MAAM,kCAAkC,CAAC;AAG9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,OAAoD,CAAC;AAGlG,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,MAAyC,CAAC;AAGrF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,UAU7C;AAED,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,MAI/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,cAAe,MAAM,KAAG,MAE5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,MAEnD,CAAC;AAEF,eAAO,MAAM,eAAe,cAAe,MAAM,KAAG,MASnD,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,MAAM;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,SAAS;IAGjC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,OAAO,EAAE,aAAa;IAyBlC,MAAM,IAAI,MAAM;IAMhB,QAAQ,IAAI,MAAM;IAGlB,QAAQ;IAGR,YAAY;IAGZ,kBAAkB;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAarB,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,UAAU;IAItD,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,GAAG,OAAO;CAOtD;AAED,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAiB,gBAAgB,CAAC;QAChC,UAAU,8BAA8B;YACtC,GAAG,EAAE,UAAU,CAAC;SACjB;KACF;CACF"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAA4B,MAAM,kCAAkC,CAAC;AAG9F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,OAAoD,CAAC;AAGlG,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,MAAyC,CAAC;AAGrF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,UAU7C;AAED,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,MAI/C,CAAC;AAGF,eAAO,MAAM,cAAc,eAAgB,MAAM,KAAG,MAGnD,CAAC;AAEF,eAAO,MAAM,wBAAwB,cAAe,MAAM,KAAG,MAE5D,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,KAAG,MAEnD,CAAC;AAEF,eAAO,MAAM,eAAe,cAAe,MAAM,KAAG,MASnD,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,MAAM;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,SAAS;IAGjC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBAExB,OAAO,EAAE,aAAa;IAyBlC,MAAM,IAAI,MAAM;IAMhB,QAAQ,IAAI,MAAM;IAGlB,QAAQ;IAGR,YAAY;IAGZ,kBAAkB;IAIlB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,MAAM;IAarB,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,UAAU;IAItD,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,GAAG,OAAO;CAOtD;AAED,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAiB,gBAAgB,CAAC;QAChC,UAAU,8BAA8B;YACtC,GAAG,EAAE,UAAU,CAAC;SACjB;KACF;CACF"}
@@ -20,6 +20,11 @@ export const normalizeSuiType = (type) => {
20
20
  throw new Error(`Invalid Sui type: ${type}`);
21
21
  return [normalizeSuiAddress(tokens[0]), tokens[1], tokens[2]].join(SUI_SEPARATOR);
22
22
  };
23
+ // Coin objects are typed 0x2::coin::Coin<T>; recover the inner coin type T.
24
+ export const unwrapCoinType = (objectType) => {
25
+ const match = objectType.match(/::coin::Coin<(.+)>$/);
26
+ return match ? match[1] : objectType;
27
+ };
23
28
  export const getCoinTypeFromPackageId = (packageId) => {
24
29
  return new SuiAddress(packageId).getCoinType();
25
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Balances, Chain, ChainsConfig, Network, SignedTx, StaticPlatformMethods, TokenId, TxHash } from "@wormhole-foundation/sdk-connect";
2
2
  import { PlatformContext } from "@wormhole-foundation/sdk-connect";
3
- import { SuiClient } from "@mysten/sui/client";
3
+ import { SuiGrpcClient } from "@mysten/sui/grpc";
4
4
  import { SuiChain } from "./chain.js";
5
5
  import type { AnySuiAddress, SuiChains, SuiPlatformType } from "./types.js";
6
6
  /**
@@ -9,22 +9,22 @@ import type { AnySuiAddress, SuiChains, SuiPlatformType } from "./types.js";
9
9
  export declare class SuiPlatform<N extends Network> extends PlatformContext<N, SuiPlatformType> implements StaticPlatformMethods<SuiPlatformType, typeof SuiPlatform> {
10
10
  static _platform: "Sui";
11
11
  constructor(network: N, _config?: ChainsConfig<N, SuiPlatformType>);
12
- getRpc<C extends SuiChains>(chain: C): SuiClient;
12
+ getRpc<C extends SuiChains>(chain: C): SuiGrpcClient;
13
13
  getChain<C extends SuiChains>(chain: C): SuiChain<N, C>;
14
14
  static nativeTokenId<N extends Network, C extends SuiChains>(network: N, chain: C): TokenId<C>;
15
15
  static isNativeTokenId<N extends Network, C extends SuiChains>(network: N, chain: C, tokenId: TokenId): boolean;
16
16
  static isSupportedChain(chain: Chain): boolean;
17
- static getDecimals(network: Network, chain: Chain, rpc: SuiClient, token: AnySuiAddress): Promise<number>;
18
- static getCoins(connection: SuiClient, account: AnySuiAddress, coinType: string): Promise<{
17
+ static getDecimals(network: Network, chain: Chain, rpc: SuiGrpcClient, token: AnySuiAddress): Promise<number>;
18
+ static getCoins(connection: SuiGrpcClient, account: AnySuiAddress, coinType: string): Promise<{
19
19
  coinType: string;
20
20
  coinObjectId: string;
21
21
  }[]>;
22
- static getBalance(_network: Network, _chain: Chain, rpc: SuiClient, walletAddr: string, token: AnySuiAddress): Promise<bigint | null>;
23
- static getBalances(_network: Network, _chain: Chain, rpc: SuiClient, walletAddr: string): Promise<Balances>;
24
- static sendWait(chain: Chain, rpc: SuiClient, stxns: SignedTx[]): Promise<TxHash[]>;
25
- static getLatestBlock(rpc: SuiClient): Promise<number>;
26
- static getLatestFinalizedBlock(rpc: SuiClient): Promise<number>;
22
+ static getBalance(_network: Network, _chain: Chain, rpc: SuiGrpcClient, walletAddr: string, token: AnySuiAddress): Promise<bigint | null>;
23
+ static getBalances(_network: Network, _chain: Chain, rpc: SuiGrpcClient, walletAddr: string): Promise<Balances>;
24
+ static sendWait(chain: Chain, rpc: SuiGrpcClient, stxns: SignedTx[]): Promise<TxHash[]>;
25
+ static getLatestBlock(rpc: SuiGrpcClient): Promise<number>;
26
+ static getLatestFinalizedBlock(rpc: SuiGrpcClient): Promise<number>;
27
27
  static chainFromChainId(chainId: string): [Network, SuiChains];
28
- static chainFromRpc(rpc: SuiClient): Promise<[Network, SuiChains]>;
28
+ static chainFromRpc(rpc: SuiGrpcClient): Promise<[Network, SuiChains]>;
29
29
  }
30
30
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EACP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EAOhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAkB,SAAS,EAAoB,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI5E;;GAEG;AAEH,qBAAa,WAAW,CAAC,CAAC,SAAS,OAAO,CACxC,SAAQ,eAAe,CAAC,CAAC,EAAE,eAAe,CAC1C,YAAW,qBAAqB,CAAC,eAAe,EAAE,OAAO,WAAW,CAAC;IAErE,MAAM,CAAC,SAAS,QAAa;gBAEjB,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC;IAIlE,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS;IAgBhD,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAKvD,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM9F,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAC3D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,GACf,OAAO;IAOV,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAKjC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;WAiBlG,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM;kBAC5D,MAAM;sBAAgB,MAAM;;WAexC,UAAU,CACrB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAeZ,WAAW,CACtB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC;WAUP,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAU5E,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;WAG/C,uBAAuB,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;WAYjD,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;CAIzE"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EACP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EAQhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,aAAa,EAA6B,MAAM,kBAAkB,CAAC;AAG5E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAI5E;;GAEG;AAEH,qBAAa,WAAW,CAAC,CAAC,SAAS,OAAO,CACxC,SAAQ,eAAe,CAAC,CAAC,EAAE,eAAe,CAC1C,YAAW,qBAAqB,CAAC,eAAe,EAAE,OAAO,WAAW,CAAC;IAErE,MAAM,CAAC,SAAS,QAAa;gBAEjB,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC;IAIlE,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa;IAcpD,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAKvD,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM9F,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAC3D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,GACf,OAAO;IAOV,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAKjC,WAAW,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC;WAiBL,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM;kBAChE,MAAM;sBAAgB,MAAM;;WAcxC,UAAU,CACrB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAOZ,WAAW,CACtB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC;WAgBP,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAWhF,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;WAInD,uBAAuB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;WAYjD,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;CAO7E"}
@@ -1,9 +1,10 @@
1
- import { PlatformContext, Wormhole, chainToPlatform, isNative, nativeChainIds, decimals as nativeDecimals, networkPlatformConfigs, } from "@wormhole-foundation/sdk-connect";
2
- import { SuiClient, SuiHTTPTransport } from "@mysten/sui/client";
3
- import { SuiAddress } from "./address.js";
1
+ import { PlatformContext, Wormhole, chainToPlatform, encoding, isNative, nativeChainIds, decimals as nativeDecimals, networkPlatformConfigs, } from "@wormhole-foundation/sdk-connect";
2
+ import { SuiGrpcClient } from "@mysten/sui/grpc";
3
+ import { fromBase58 } from "@mysten/sui/utils";
4
+ import { SuiAddress, unwrapCoinType } from "./address.js";
4
5
  import { SuiChain } from "./chain.js";
5
6
  import { SUI_COIN } from "./constants.js";
6
- import { _platform } from "./types.js";
7
+ import { _platform, isSameType } from "./types.js";
7
8
  import { getObjectFields } from "./utils.js";
8
9
  /**
9
10
  * @category Sui
@@ -16,15 +17,13 @@ export class SuiPlatform extends PlatformContext {
16
17
  getRpc(chain) {
17
18
  if (chain in this.config) {
18
19
  const chainConfig = this.config[chain];
19
- if (chainConfig.httpHeaders) {
20
- return new SuiClient({
21
- transport: new SuiHTTPTransport({
22
- url: chainConfig.rpc,
23
- rpc: { headers: chainConfig.httpHeaders },
24
- }),
25
- });
26
- }
27
- return new SuiClient({ url: chainConfig.rpc });
20
+ // v2 uses the gRPC client; `network` is required. Wormhole networks
21
+ // ("Mainnet" | "Testnet" | "Devnet") lowercase to the Sui network names.
22
+ const network = this.network.toLowerCase();
23
+ const options = chainConfig.httpHeaders
24
+ ? { network, baseUrl: chainConfig.rpc, meta: chainConfig.httpHeaders }
25
+ : { network, baseUrl: chainConfig.rpc };
26
+ return new SuiGrpcClient(options);
28
27
  }
29
28
  throw new Error("No configuration available for chain: " + chain);
30
29
  }
@@ -57,62 +56,62 @@ export class SuiPlatform extends PlatformContext {
57
56
  try {
58
57
  const fields = await getObjectFields(rpc, parsedAddress.toString());
59
58
  if (fields && "decimals" in fields)
60
- return fields["decimals"];
59
+ return Number(fields["decimals"]);
61
60
  }
62
61
  catch { }
63
- const metadata = await rpc.getCoinMetadata({ coinType: parsedAddress.toString() });
64
- if (metadata === null)
62
+ const { coinMetadata } = await rpc.getCoinMetadata({ coinType: parsedAddress.toString() });
63
+ if (coinMetadata === null)
65
64
  throw new Error(`Can't fetch decimals for token ${parsedAddress.toString()}`);
66
- return metadata.decimals;
65
+ return coinMetadata.decimals;
67
66
  }
68
67
  static async getCoins(connection, account, coinType) {
69
68
  let coins = [];
70
69
  let cursor = null;
71
70
  const owner = new SuiAddress(account).toString();
72
71
  do {
73
- const result = await connection.getCoins({
74
- owner,
75
- coinType,
76
- cursor,
77
- });
78
- coins = [...coins, ...result.data];
79
- cursor = result.hasNextPage ? result.nextCursor : null;
72
+ const result = await connection.listCoins({ owner, coinType, cursor });
73
+ coins = [
74
+ ...coins,
75
+ ...result.objects.map((c) => ({ coinType: unwrapCoinType(c.type), coinObjectId: c.objectId })),
76
+ ];
77
+ cursor = result.hasNextPage ? result.cursor : null;
80
78
  } while (cursor);
81
79
  return coins;
82
80
  }
83
81
  static async getBalance(_network, _chain, rpc, walletAddr, token) {
84
- if (isNative(token)) {
85
- const { totalBalance } = await rpc.getBalance({
86
- owner: walletAddr,
87
- });
88
- return BigInt(totalBalance);
89
- }
90
- const { totalBalance } = await rpc.getBalance({
91
- owner: walletAddr,
92
- coinType: token.toString(),
93
- });
94
- return BigInt(totalBalance);
82
+ const { balance } = isNative(token)
83
+ ? await rpc.getBalance({ owner: walletAddr })
84
+ : await rpc.getBalance({ owner: walletAddr, coinType: token.toString() });
85
+ return BigInt(balance.balance);
95
86
  }
96
87
  static async getBalances(_network, _chain, rpc, walletAddr) {
97
- const result = await rpc.getAllBalances({ owner: walletAddr });
98
88
  const balances = {};
99
- for (const { coinType, totalBalance } of result) {
100
- const address = coinType === SUI_COIN ? "native" : coinType;
101
- balances[address] = BigInt(totalBalance);
102
- }
89
+ let cursor = null;
90
+ do {
91
+ const result = await rpc.listBalances({ owner: walletAddr, cursor });
92
+ for (const { coinType, balance } of result.balances) {
93
+ // gRPC returns the full-padded coin type (0x0000…0002::sui::SUI), so
94
+ // compare via isSameType rather than strict-equality with the short SUI_COIN.
95
+ const address = isSameType(coinType, SUI_COIN) ? "native" : coinType;
96
+ balances[address] = BigInt(balance);
97
+ }
98
+ cursor = result.hasNextPage ? result.cursor : null;
99
+ } while (cursor);
103
100
  return balances;
104
101
  }
105
102
  static async sendWait(chain, rpc, stxns) {
106
103
  const txhashes = [];
107
104
  for (const stxn of stxns) {
108
- const pendingTx = await rpc.executeTransactionBlock(stxn);
109
- await rpc.waitForTransaction({ digest: pendingTx.digest });
110
- txhashes.push(pendingTx.digest);
105
+ const result = await rpc.executeTransaction(stxn);
106
+ const digest = (result.Transaction ?? result.FailedTransaction).digest;
107
+ await rpc.waitForTransaction({ digest });
108
+ txhashes.push(digest);
111
109
  }
112
110
  return txhashes;
113
111
  }
114
112
  static async getLatestBlock(rpc) {
115
- return Number(await rpc.getLatestCheckpointSequenceNumber());
113
+ const { response } = await rpc.ledgerService.getServiceInfo({});
114
+ return Number(response.checkpointHeight ?? 0n);
116
115
  }
117
116
  static async getLatestFinalizedBlock(rpc) {
118
117
  return this.getLatestBlock(rpc);
@@ -125,8 +124,11 @@ export class SuiPlatform extends PlatformContext {
125
124
  return [network, chain];
126
125
  }
127
126
  static async chainFromRpc(rpc) {
128
- const result = await rpc.call("sui_getChainIdentifier", []);
129
- return this.chainFromChainId(result);
127
+ // gRPC returns the base58-encoded genesis checkpoint digest; the Sui chain identifier
128
+ // (as registered in nativeChainIds) is the hex of its first 4 bytes.
129
+ const { chainIdentifier } = await rpc.core.getChainIdentifier();
130
+ const chainId = encoding.hex.encode(fromBase58(chainIdentifier).slice(0, 4));
131
+ return this.chainFromChainId(chainId);
130
132
  }
131
133
  }
132
134
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import type { SuiClient } from "@mysten/sui/client";
1
+ import type { SuiGrpcClient } from "@mysten/sui/grpc";
2
2
  import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
3
3
  import type { Network, SignAndSendSigner, Signer, TxHash, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
4
4
  import type { SuiChains } from "./types.js";
5
- export declare function getSuiSigner(rpc: SuiClient, privateKey: string): Promise<Signer>;
5
+ export declare function getSuiSigner(rpc: SuiGrpcClient, privateKey: string): Promise<Signer>;
6
6
  export declare class SuiSigner<N extends Network, C extends SuiChains> implements SignAndSendSigner<N, C> {
7
7
  private _chain;
8
8
  private _client;
9
9
  private _signer;
10
10
  private _debug?;
11
- constructor(_chain: C, _client: SuiClient, _signer: Ed25519Keypair, _debug?: boolean | undefined);
11
+ constructor(_chain: C, _client: SuiGrpcClient, _signer: Ed25519Keypair, _debug?: boolean | undefined);
12
12
  chain(): C;
13
13
  address(): string;
14
14
  signAndSend(txns: UnsignedTransaction[]): Promise<TxHash[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAsB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGtF;AAGD,qBAAa,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CAAE,YAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7F,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM,CAAC;gBAHP,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,qBAAS;IAG1B,KAAK,IAAI,CAAC;IAIV,OAAO,IAAI,MAAM;IAIX,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA6BlE"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EACV,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAsB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG1F;AAGD,qBAAa,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CAAE,YAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7F,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM,CAAC;gBAHP,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,qBAAS;IAG1B,KAAK,IAAI,CAAC;IAIV,OAAO,IAAI,MAAM;IAIX,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CA8BlE"}
@@ -33,7 +33,8 @@ export class SuiSigner {
33
33
  transaction,
34
34
  signer: this._signer,
35
35
  });
36
- txids.push(result.digest);
36
+ const { digest } = (result.Transaction ?? result.FailedTransaction);
37
+ txids.push(digest);
37
38
  }
38
39
  catch (e) {
39
40
  // If the transaction fails on Sui, its often in a dryrun, but im currently
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAc,EAAE,UAAkB;IACnE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,sCAAsC;AACtC,MAAM,OAAO,SAAS;IAEV;IACA;IACA;IACA;IAJV,YACU,MAAS,EACT,OAAkB,EAClB,OAAuB,EACvB,MAAgB;QAHhB,WAAM,GAAN,MAAM,CAAG;QACT,YAAO,GAAP,OAAO,CAAW;QAClB,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAU;IACvB,CAAC;IAEJ,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAA2B;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAkC,CAAC;YACxE,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,QAAQ,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAE7E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;oBAC1D,WAAW;oBACX,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,2EAA2E;gBAC3E,kDAAkD;gBAClD,qEAAqE;gBACrE,mCAAmC;gBAEnC,6DAA6D;gBAC7D,6CAA6C;gBAC7C,2DAA2D;gBAC3D,wDAAwD;gBACxD,GAAG;gBACH,sCAAsC;gBACtC,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAQ9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAkB,EAAE,UAAkB;IACvE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,sCAAsC;AACtC,MAAM,OAAO,SAAS;IAEV;IACA;IACA;IACA;IAJV,YACU,MAAS,EACT,OAAsB,EACtB,OAAuB,EACvB,MAAgB;QAHhB,WAAM,GAAN,MAAM,CAAG;QACT,YAAO,GAAP,OAAO,CAAe;QACtB,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAU;IACvB,CAAC;IAEJ,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAA2B;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAkC,CAAC;YACxE,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,QAAQ,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAE7E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;oBAC1D,WAAW;oBACX,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAE,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,2EAA2E;gBAC3E,kDAAkD;gBAClD,qEAAqE;gBACrE,mCAAmC;gBAEnC,6DAA6D;gBAC7D,6CAA6C;gBAC7C,2DAA2D;gBAC3D,wDAAwD;gBACxD,GAAG;gBACH,sCAAsC;gBACtC,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -1,4 +1,3 @@
1
- import type { MoveValue, SuiObjectResponse } from "@mysten/sui/client";
2
1
  import type { PlatformToChains, UniversalOrNative } from "@wormhole-foundation/sdk-connect";
3
2
  export declare const _platform: "Sui";
4
3
  export type SuiPlatformType = typeof _platform;
@@ -9,23 +8,42 @@ export type SuiBuildOutput = {
9
8
  modules: string[];
10
9
  dependencies: string[];
11
10
  };
12
- export declare const getFieldsFromObjectResponse: (object: SuiObjectResponse) => import("@mysten/sui/client").MoveStruct | null;
11
+ /**
12
+ * gRPC core `getObject({include:{json:true}})` returns a FLAT Move-struct map as
13
+ * `object.json` (no JSON-RPC `{type, fields}` wrappers; UIDs are plain id strings;
14
+ * tables are `{ id, size }`). The Move type lives on the top-level `object.type`.
15
+ */
16
+ export type SuiObjectJson = Record<string, any>;
17
+ /** A gRPC core object response (or the unwrapped object) with json content included. */
18
+ export interface SuiJsonObject {
19
+ type?: string;
20
+ json?: Record<string, unknown> | null;
21
+ }
22
+ /** Returns the flat Move-struct fields (`object.json`) from a gRPC getObject result, or null. */
23
+ export declare const getFieldsFromObjectResponse: (object: SuiJsonObject | {
24
+ object?: SuiJsonObject | null;
25
+ } | null | undefined) => SuiObjectJson | null;
13
26
  export declare const isSameType: (a: string, b: string) => boolean;
14
- export declare const isSuiCreateEvent: <T extends import("@mysten/sui/client").SuiObjectChange, K extends Extract<T, {
27
+ export declare const isSuiCreateEvent: <T extends {
28
+ type: string;
29
+ }, K extends Extract<T, {
15
30
  type: "created";
16
31
  }>>(event: T) => event is K;
17
- export declare const isSuiPublishEvent: <T extends import("@mysten/sui/client").SuiObjectChange, K extends Extract<T, {
32
+ export declare const isSuiPublishEvent: <T extends {
33
+ type: string;
34
+ }, K extends Extract<T, {
18
35
  type: "published";
19
36
  }>>(event: T) => event is K;
20
- export declare function isMoveStructArray(value: any): value is MoveValue[];
21
- export declare function isMoveStructStruct(value: any): value is {
22
- fields: {
23
- [key: string]: MoveValue;
24
- };
25
- type: string;
26
- };
37
+ export declare function isMoveStructArray(value: any): value is any[];
27
38
  export declare function isMoveStructObject(value: any): value is {
28
- [key: string]: MoveValue;
39
+ [key: string]: any;
40
+ };
41
+ /**
42
+ * In gRPC flat json there is no `{type, fields}` wrapper, so a "struct" is simply a
43
+ * non-array object. Kept as a distinct export for call-site readability/compat.
44
+ */
45
+ export declare function isMoveStructStruct(value: any): value is {
46
+ [key: string]: any;
29
47
  };
30
48
  export declare function isMoveStructId(value: any): value is {
31
49
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAA+B,MAAM,oBAAoB,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAG5F,eAAO,MAAM,SAAS,EAAE,KAAa,CAAC;AACtC,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,2BAA2B,WAAY,iBAAiB,mDAGpE,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,KAAK,MAAM,YAM9C,CAAC;AAGF,eAAO,MAAM,gBAAgB;UAEE,SAAS;WAE/B,CAAC,eACgC,CAAC;AAE3C,eAAO,MAAM,iBAAiB;UAEC,WAAW;WAEjC,CAAC,eACkC,CAAC;AAK7C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS,EAAE,CAElE;AACD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,GAAG,GACT,KAAK,IAAI;IAAE,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAEjE;AACD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAEpF;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAElE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAG5F,eAAO,MAAM,SAAS,EAAE,KAAa,CAAC;AACtC,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvC;AAED,iGAAiG;AACjG,eAAO,MAAM,2BAA2B,WAC9B,aAAa,GAAG;IAAE,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,KAC3E,aAAa,GAAG,IASlB,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,KAAK,MAAM,YAM9C,CAAC;AAIF,eAAO,MAAM,gBAAgB;UACT,MAAM;;UACK,SAAS;WAE/B,CAAC,eACgC,CAAC;AAE3C,eAAO,MAAM,iBAAiB;UACV,MAAM;;UACK,WAAW;WAEjC,CAAC,eACkC,CAAC;AAO7C,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,GAAG,EAAE,CAE5D;AACD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAE9E;AACD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAE9E;AACD,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAElE"}
package/dist/esm/types.js CHANGED
@@ -1,8 +1,15 @@
1
1
  import { normalizeSuiType } from "./address.js";
2
2
  export const _platform = "Sui";
3
+ /** Returns the flat Move-struct fields (`object.json`) from a gRPC getObject result, or null. */
3
4
  export const getFieldsFromObjectResponse = (object) => {
4
- const content = object.data?.content;
5
- return content && content.dataType === "moveObject" ? content.fields : null;
5
+ if (!object)
6
+ return null;
7
+ // Accept either the unwrapped object or the `{ object }` response envelope.
8
+ const obj = "json" in object || "type" in object
9
+ ? object
10
+ : object.object;
11
+ const json = obj?.json;
12
+ return json && typeof json === "object" ? json : null;
6
13
  };
7
14
  export const isSameType = (a, b) => {
8
15
  try {
@@ -12,22 +19,29 @@ export const isSameType = (a, b) => {
12
19
  return false;
13
20
  }
14
21
  };
15
- // Event typeguard helpers
22
+ // Object-change typeguards (used by the create-wrapped discovery path).
23
+ // Operate on entries shaped like `{ type: "created" | "published", ... }`.
16
24
  export const isSuiCreateEvent = (event) => event?.type === "created";
17
25
  export const isSuiPublishEvent = (event) => event?.type === "published";
18
26
  //
19
- // MoveStruct typeguard helpers
27
+ // Flat-json value typeguards.
28
+ // In gRPC `object.json`, nested Move structs are plain nested objects (no `{type,fields}`
29
+ // wrapper), arrays are arrays, and IDs are plain strings.
20
30
  //
21
31
  export function isMoveStructArray(value) {
22
32
  return Array.isArray(value);
23
33
  }
24
- export function isMoveStructStruct(value) {
25
- return !Array.isArray(value) && typeof value === "object" && "fields" in value && "type" in value;
26
- }
27
34
  export function isMoveStructObject(value) {
28
- return typeof value === "object" && !isMoveStructArray(value) && !isMoveStructStruct(value);
35
+ return typeof value === "object" && value !== null && !Array.isArray(value);
36
+ }
37
+ /**
38
+ * In gRPC flat json there is no `{type, fields}` wrapper, so a "struct" is simply a
39
+ * non-array object. Kept as a distinct export for call-site readability/compat.
40
+ */
41
+ export function isMoveStructStruct(value) {
42
+ return isMoveStructObject(value);
29
43
  }
30
44
  export function isMoveStructId(value) {
31
- return typeof value === "object" && "id" in value;
45
+ return isMoveStructObject(value) && "id" in value;
32
46
  }
33
47
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAU,KAAK,CAAC;AAYtC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAyB,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;IACrC,OAAO,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAI9B,KAAQ,EACI,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAI/B,KAAQ,EACI,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC;AAE7C,EAAE;AACF,+BAA+B;AAC/B,EAAE;AACF,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AACD,MAAM,UAAU,kBAAkB,CAChC,KAAU;IAEV,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACpG,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,KAAU;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC9F,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,KAAU;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,SAAS,GAAU,KAAK,CAAC;AAyBtC,iGAAiG;AACjG,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,MAA4E,EACtD,EAAE;IACxB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,4EAA4E;IAC5E,MAAM,GAAG,GACP,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;QAClC,CAAC,CAAE,MAAwB;QAC3B,CAAC,CAAE,MAAqC,CAAC,MAAM,CAAC;IACpD,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;IACvB,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAsB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IACjD,IAAI,CAAC;QACH,OAAO,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,wEAAwE;AACxE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAI9B,KAAQ,EACI,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAI/B,KAAQ,EACI,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC;AAE7C,EAAE;AACF,8BAA8B;AAC9B,0FAA0F;AAC1F,0DAA0D;AAC1D,EAAE;AACF,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,KAAU;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAU;IAC3C,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,KAAU;IACvC,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC;AACpD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Transaction } from "@mysten/sui/transactions";
1
+ import type { Transaction } from "@mysten/sui/transactions";
2
2
  import type { Network, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
3
3
  import type { SuiChains } from "./types.js";
4
4
  export declare class SuiUnsignedTransaction<N extends Network, C extends SuiChains> implements UnsignedTransaction<N, C> {
@@ -1 +1 @@
1
- {"version":3,"file":"unsignedTransaction.d.ts","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACxE,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAGlC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO;gBAJvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe;CAE3C"}
1
+ {"version":3,"file":"unsignedTransaction.d.ts","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,qBAAa,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACxE,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAGlC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO;gBAJvB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe;CAE3C"}
@@ -1,14 +1,41 @@
1
- import type { SuiClient } from "@mysten/sui/client";
1
+ import type { SuiGrpcClient } from "@mysten/sui/grpc";
2
2
  import { Transaction } from "@mysten/sui/transactions";
3
3
  import type { SuiBuildOutput } from "./types.js";
4
4
  export declare const UPGRADE_CAP_TYPE = "0x2::package::UpgradeCap";
5
- export declare const getOriginalPackageId: (provider: SuiClient, stateObjectId: string) => Promise<string>;
6
- export declare const getObjectFields: (provider: SuiClient, objectId: string) => Promise<Record<string, any> | null>;
7
- export declare const getPackageId: (provider: SuiClient, objectId: string) => Promise<string>;
8
- export declare const getOldestEmitterCapObjectId: (provider: SuiClient, coreBridgePackageId: string, owner: string) => Promise<string | null>;
9
- export declare const getOwnedObjectId: (provider: SuiClient, owner: string, type: string) => Promise<string | null>;
10
- export declare const getOwnedObjectIdPaginated: (provider: SuiClient, owner: string, type: string, cursor?: string) => Promise<string | null>;
11
- export declare const getUpgradeCapObjectId: (provider: SuiClient, owner: string, packageId: string) => Promise<string | null>;
5
+ /** Move struct `{ dummy_field: bool=false }` (e.g. `token_registry::Key<T>`) BCS `[0]`. */
6
+ export declare const dummyFieldName: (type: string) => {
7
+ type: string;
8
+ bcs: Uint8Array;
9
+ };
10
+ export declare const coinTypeKeyName: (type: string, chain: number, addr: Uint8Array) => {
11
+ type: string;
12
+ bcs: any;
13
+ };
14
+ /** A `vector<u8>` key (e.g. relayer-fee keys). */
15
+ export declare const bytesVectorName: (type: string, bytes: Uint8Array) => {
16
+ type: string;
17
+ bcs: any;
18
+ };
19
+ /** A `u16` key (e.g. chain id). */
20
+ export declare const u16Name: (type: string, value: number) => {
21
+ type: string;
22
+ bcs: any;
23
+ };
24
+ /**
25
+ * Fetch a dynamic field's flat value (`object.json.value`) by BCS-encoded name, or null
26
+ * if the field does not exist.
27
+ */
28
+ export declare const getDynamicFieldValue: (provider: SuiGrpcClient, parentId: string, name: {
29
+ type: string;
30
+ bcs: Uint8Array;
31
+ }) => Promise<any>;
32
+ export declare const getOriginalPackageId: (provider: SuiGrpcClient, stateObjectId: string) => Promise<string>;
33
+ export declare const getObjectFields: (provider: SuiGrpcClient, objectId: string) => Promise<Record<string, any> | null>;
34
+ export declare const getPackageId: (provider: SuiGrpcClient, objectId: string) => Promise<string>;
35
+ export declare const getOldestEmitterCapObjectId: (provider: SuiGrpcClient, coreBridgePackageId: string, owner: string) => Promise<string | null>;
36
+ export declare const getOwnedObjectId: (provider: SuiGrpcClient, owner: string, type: string) => Promise<string | null>;
37
+ export declare const getOwnedObjectIdPaginated: (provider: SuiGrpcClient, owner: string, type: string, cursor?: string) => Promise<string | null>;
38
+ export declare const getUpgradeCapObjectId: (provider: SuiGrpcClient, owner: string, packageId: string) => Promise<string | null>;
12
39
  export declare const publishPackage: (buildOutput: SuiBuildOutput, signerAddress: string) => Promise<Transaction>;
13
40
  export declare const newEmitterCap: (coreBridgePackageId: string, coreBridgeStateObjectId: string, owner: string) => Transaction;
14
41
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAIvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AASjD,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAM3D,eAAO,MAAM,oBAAoB,aAAoB,SAAS,iBAAiB,MAAM,oBAWpF,CAAC;AAEF,eAAO,MAAM,eAAe,aAChB,SAAS,YACT,MAAM,KACf,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAWpC,CAAC;AAEF,eAAO,MAAM,YAAY,aAAoB,SAAS,YAAY,MAAM,KAAG,QAAQ,MAAM,CA8BxF,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAC5B,SAAS,uBACE,MAAM,SACpB,MAAM,KACZ,QAAQ,MAAM,GAAG,IAAI,CAgCvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,aACjB,SAAS,SACZ,MAAM,QACP,MAAM,KACX,QAAQ,MAAM,GAAG,IAAI,CAuCvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAC1B,SAAS,SACZ,MAAM,QACP,MAAM,WACH,MAAM,KACd,QAAQ,MAAM,GAAG,IAAI,CAsBvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,SAAS,SACZ,MAAM,aACF,MAAM,KAChB,QAAQ,MAAM,GAAG,IAAI,CAgCvB,CAAC;AAGF,eAAO,MAAM,cAAc,gBACZ,cAAc,iBACZ,MAAM,KACpB,QAAQ,WAAW,CASrB,CAAC;AAEF,eAAO,MAAM,aAAa,wBACH,MAAM,2BACF,MAAM,SACxB,MAAM,KACZ,WAQF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAU3D,6FAA6F;AAC7F,eAAO,MAAM,cAAc,SAAU,MAAM;;;CAAyC,CAAC;AAOrF,eAAO,MAAM,eAAe,SAAU,MAAM,SAAS,MAAM,QAAQ,UAAU;;;CAG3E,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,eAAe,SAAU,MAAM,SAAS,UAAU;;;CAG7D,CAAC;AAEH,mCAAmC;AACnC,eAAO,MAAM,OAAO,SAAU,MAAM,SAAS,MAAM;;;CAGjD,CAAC;AAMH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aACrB,aAAa,YACb,MAAM,QACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,UAAU,CAAA;CAAE,KACtC,QAAQ,GAAG,CAab,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAoB,aAAa,iBAAiB,MAAM,oBAIxF,CAAC;AAEF,eAAO,MAAM,eAAe,aAChB,aAAa,YACb,MAAM,KACf,QAAQ,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAMpC,CAAC;AAEF,eAAO,MAAM,YAAY,aAAoB,aAAa,YAAY,MAAM,KAAG,QAAQ,MAAM,CA0B5F,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAC5B,aAAa,uBACF,MAAM,SACpB,MAAM,KACZ,QAAQ,MAAM,GAAG,IAAI,CAqBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,aACjB,aAAa,SAChB,MAAM,QACP,MAAM,KACX,QAAQ,MAAM,GAAG,IAAI,CAmBvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAC1B,aAAa,SAChB,MAAM,QACP,MAAM,WACH,MAAM,KACd,QAAQ,MAAM,GAAG,IAAI,CAWvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,aACtB,aAAa,SAChB,MAAM,aACF,MAAM,KAChB,QAAQ,MAAM,GAAG,IAAI,CA0BvB,CAAC;AAGF,eAAO,MAAM,cAAc,gBACZ,cAAc,iBACZ,MAAM,KACpB,QAAQ,WAAW,CASrB,CAAC;AAEF,eAAO,MAAM,aAAa,wBACH,MAAM,2BACF,MAAM,SACxB,MAAM,KACZ,WAQF,CAAC"}