@wormhole-foundation/sdk-sui 4.22.0 → 5.0.0-beta.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.
- package/dist/esm/platform.d.ts +10 -10
- package/dist/esm/platform.d.ts.map +1 -1
- package/dist/esm/platform.js +44 -44
- package/dist/esm/platform.js.map +1 -1
- package/dist/esm/signer.d.ts +3 -3
- package/dist/esm/signer.d.ts.map +1 -1
- package/dist/esm/signer.js +2 -1
- package/dist/esm/signer.js.map +1 -1
- package/dist/esm/types.d.ts +30 -12
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +23 -9
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/unsignedTransaction.d.ts +1 -1
- package/dist/esm/unsignedTransaction.d.ts.map +1 -1
- package/dist/esm/utils.d.ts +35 -8
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +90 -103
- package/dist/esm/utils.js.map +1 -1
- package/package.json +16 -49
- package/dist/cjs/address.d.ts +0 -35
- package/dist/cjs/address.d.ts.map +0 -1
- package/dist/cjs/address.js +0 -127
- package/dist/cjs/address.js.map +0 -1
- package/dist/cjs/chain.d.ts +0 -6
- package/dist/cjs/chain.d.ts.map +0 -1
- package/dist/cjs/chain.js +0 -8
- package/dist/cjs/chain.js.map +0 -1
- package/dist/cjs/constants.d.ts +0 -3
- package/dist/cjs/constants.d.ts.map +0 -1
- package/dist/cjs/constants.js +0 -6
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -9
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -25
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/platform.d.ts +0 -30
- package/dist/cjs/platform.d.ts.map +0 -1
- package/dist/cjs/platform.js +0 -136
- package/dist/cjs/platform.js.map +0 -1
- package/dist/cjs/signer.d.ts +0 -16
- package/dist/cjs/signer.d.ts.map +0 -1
- package/dist/cjs/signer.js +0 -60
- package/dist/cjs/signer.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -33
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -44
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/unsignedTransaction.d.ts +0 -12
- package/dist/cjs/unsignedTransaction.d.ts.map +0 -1
- package/dist/cjs/unsignedTransaction.js +0 -19
- package/dist/cjs/unsignedTransaction.js.map +0 -1
- package/dist/cjs/utils.d.ts +0 -14
- package/dist/cjs/utils.d.ts.map +0 -1
- package/dist/cjs/utils.js +0 -211
- package/dist/cjs/utils.js.map +0 -1
package/dist/esm/platform.d.ts
CHANGED
|
@@ -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 {
|
|
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):
|
|
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:
|
|
18
|
-
static getCoins(connection:
|
|
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:
|
|
23
|
-
static getBalances(_network: Network, _chain: Chain, rpc:
|
|
24
|
-
static sendWait(chain: Chain, rpc:
|
|
25
|
-
static getLatestBlock(rpc:
|
|
26
|
-
static getLatestFinalizedBlock(rpc:
|
|
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:
|
|
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,
|
|
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;WAcP,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"}
|
package/dist/esm/platform.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { PlatformContext, Wormhole, chainToPlatform, isNative, nativeChainIds, decimals as nativeDecimals, networkPlatformConfigs, } from "@wormhole-foundation/sdk-connect";
|
|
2
|
-
import {
|
|
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";
|
|
3
4
|
import { SuiAddress } from "./address.js";
|
|
4
5
|
import { SuiChain } from "./chain.js";
|
|
5
6
|
import { SUI_COIN } from "./constants.js";
|
|
@@ -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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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,60 @@ 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
|
|
64
|
-
if (
|
|
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
|
|
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.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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: 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
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
+
const address = coinType === SUI_COIN ? "native" : coinType;
|
|
94
|
+
balances[address] = BigInt(balance);
|
|
95
|
+
}
|
|
96
|
+
cursor = result.hasNextPage ? result.cursor : null;
|
|
97
|
+
} while (cursor);
|
|
103
98
|
return balances;
|
|
104
99
|
}
|
|
105
100
|
static async sendWait(chain, rpc, stxns) {
|
|
106
101
|
const txhashes = [];
|
|
107
102
|
for (const stxn of stxns) {
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
103
|
+
const result = await rpc.executeTransaction(stxn);
|
|
104
|
+
const digest = (result.Transaction ?? result.FailedTransaction).digest;
|
|
105
|
+
await rpc.waitForTransaction({ digest });
|
|
106
|
+
txhashes.push(digest);
|
|
111
107
|
}
|
|
112
108
|
return txhashes;
|
|
113
109
|
}
|
|
114
110
|
static async getLatestBlock(rpc) {
|
|
115
|
-
|
|
111
|
+
const { response } = await rpc.ledgerService.getServiceInfo({});
|
|
112
|
+
return Number(response.checkpointHeight ?? 0n);
|
|
116
113
|
}
|
|
117
114
|
static async getLatestFinalizedBlock(rpc) {
|
|
118
115
|
return this.getLatestBlock(rpc);
|
|
@@ -125,8 +122,11 @@ export class SuiPlatform extends PlatformContext {
|
|
|
125
122
|
return [network, chain];
|
|
126
123
|
}
|
|
127
124
|
static async chainFromRpc(rpc) {
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
// gRPC returns the base58-encoded genesis checkpoint digest; the Sui chain identifier
|
|
126
|
+
// (as registered in nativeChainIds) is the hex of its first 4 bytes.
|
|
127
|
+
const { chainIdentifier } = await rpc.core.getChainIdentifier();
|
|
128
|
+
const chainId = encoding.hex.encode(fromBase58(chainIdentifier).slice(0, 4));
|
|
129
|
+
return this.chainFromChainId(chainId);
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
//# sourceMappingURL=platform.js.map
|
package/dist/esm/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,cAAc,EACd,QAAQ,IAAI,cAAc,EAC1B,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,eAAe,EACf,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,QAAQ,IAAI,cAAc,EAC1B,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,aAAa,EAA6B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AAEH,MAAM,OAAO,WACX,SAAQ,eAAmC;IAG3C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAE7B,YAAY,OAAU,EAAE,OAA0C;QAChE,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAsB,KAAQ;QAClC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;YACxC,oEAAoE;YACpE,yEAAyE;YACzE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAyB,WAAW,CAAC,WAAW;gBAC3D,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE;gBACtE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;YAC1C,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,QAAQ,CAAsB,KAAQ;QACpC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,QAAQ,CAAO,KAAK,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,aAAa,CAAyC,OAAU,EAAE,KAAQ;QAC/E,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,KAAK,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,OAAU,EACV,KAAQ,EACR,OAAgB;QAEhB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,MAAM,KAAK,OAAO,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAY;QAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,QAAQ,KAAK,WAAW,CAAC,SAAS,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,OAAgB,EAChB,KAAY,EACZ,GAAkB,EAClB,KAAoB;QAEpB,IAAI,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEjF,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpE,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3F,IAAI,YAAY,KAAK,IAAI;YACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEhF,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAyB,EAAE,OAAsB,EAAE,QAAgB;QACvF,IAAI,KAAK,GAAiD,EAAE,CAAC;QAC7D,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjD,GAAG,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,KAAK,GAAG;gBACN,GAAG,KAAK;gBACR,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC/E,CAAC;YACF,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC,QAAQ,MAAM,EAAE;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,QAAiB,EACjB,MAAa,EACb,GAAkB,EAClB,UAAkB,EAClB,KAAoB;QAEpB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;YACjC,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;YAC7C,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,QAAiB,EACjB,MAAa,EACb,GAAkB,EAClB,UAAkB;QAElB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,GAAG,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YACrE,KAAK,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC5D,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC,QAAQ,MAAM,EAAE;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAY,EAAE,GAAkB,EAAE,KAAiB;QACvE,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,IAAW,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAE,CAAC,MAAM,CAAC;YACxE,MAAM,GAAG,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAkB;QAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAkB;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,OAAe;QACrC,MAAM,gBAAgB,GAAG,cAAc,CAAC,mCAAmC,CACzE,WAAW,CAAC,SAAS,EACrB,OAAO,CACR,CAAC;QAEF,IAAI,gBAAgB,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;QAE1F,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAC;QAC1C,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAkB;QAC1C,sFAAsF;QACtF,qEAAqE;QACrE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC"}
|
package/dist/esm/signer.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type {
|
|
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:
|
|
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:
|
|
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[]>;
|
package/dist/esm/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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"}
|
package/dist/esm/signer.js
CHANGED
|
@@ -33,7 +33,8 @@ export class SuiSigner {
|
|
|
33
33
|
transaction,
|
|
34
34
|
signer: this._signer,
|
|
35
35
|
});
|
|
36
|
-
|
|
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
|
package/dist/esm/signer.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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
|
|
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]:
|
|
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;
|
package/dist/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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
|
-
|
|
5
|
-
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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" &&
|
|
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
|
|
45
|
+
return isMoveStructObject(value) && "id" in value;
|
|
32
46
|
}
|
|
33
47
|
//# sourceMappingURL=types.js.map
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
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;
|
|
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"}
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,14 +1,41 @@
|
|
|
1
|
-
import type {
|
|
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
|
-
|
|
6
|
-
export declare const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const
|
|
11
|
-
|
|
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
|
package/dist/esm/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
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"}
|