@wormhole-foundation/sdk-sui 0.5.0-alpha.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/cjs/address.d.ts +34 -0
- package/dist/cjs/address.d.ts.map +1 -0
- package/dist/cjs/address.js +122 -0
- package/dist/cjs/address.js.map +1 -0
- package/dist/cjs/chain.d.ts +5 -0
- package/dist/cjs/chain.d.ts.map +1 -0
- package/dist/cjs/chain.js +8 -0
- package/dist/cjs/chain.js.map +1 -0
- package/dist/cjs/constants.d.ts +3 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +6 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/platform.d.ts +25 -0
- package/dist/cjs/platform.d.ts.map +1 -0
- package/dist/cjs/platform.js +110 -0
- package/dist/cjs/platform.js.map +1 -0
- package/dist/cjs/signer.d.ts +15 -0
- package/dist/cjs/signer.d.ts.map +1 -0
- package/dist/cjs/signer.js +42 -0
- package/dist/cjs/signer.js.map +1 -0
- package/dist/cjs/types.d.ts +30 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +40 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/unsignedTransaction.d.ts +12 -0
- package/dist/cjs/unsignedTransaction.d.ts.map +1 -0
- package/dist/cjs/unsignedTransaction.js +19 -0
- package/dist/cjs/unsignedTransaction.js.map +1 -0
- package/dist/cjs/utils.d.ts +15 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +215 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/address.d.ts +34 -0
- package/dist/esm/address.d.ts.map +1 -0
- package/dist/esm/address.js +111 -0
- package/dist/esm/address.js.map +1 -0
- package/dist/esm/chain.d.ts +5 -0
- package/dist/esm/chain.d.ts.map +1 -0
- package/dist/esm/chain.js +4 -0
- package/dist/esm/chain.js.map +1 -0
- package/dist/esm/constants.d.ts +3 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +3 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/platform.d.ts +25 -0
- package/dist/esm/platform.d.ts.map +1 -0
- package/dist/esm/platform.js +106 -0
- package/dist/esm/platform.js.map +1 -0
- package/dist/esm/signer.d.ts +15 -0
- package/dist/esm/signer.d.ts.map +1 -0
- package/dist/esm/signer.js +37 -0
- package/dist/esm/signer.js.map +1 -0
- package/dist/esm/types.d.ts +30 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +30 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/unsignedTransaction.d.ts +12 -0
- package/dist/esm/unsignedTransaction.d.ts.map +1 -0
- package/dist/esm/unsignedTransaction.js +15 -0
- package/dist/esm/unsignedTransaction.js.map +1 -0
- package/dist/esm/utils.d.ts +15 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +202 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Address, UniversalAddress } from "@wormhole-foundation/sdk-connect";
|
|
2
|
+
import { AnySuiAddress } from "./types";
|
|
3
|
+
export declare const SuiZeroAddress = "0x";
|
|
4
|
+
export declare const isValidSuiType: (str: string) => boolean;
|
|
5
|
+
export declare const trimSuiType: (type: string) => string;
|
|
6
|
+
export declare function zpadSuiAddress(address: string): string;
|
|
7
|
+
export declare const normalizeSuiType: (type: string) => string;
|
|
8
|
+
export declare const getCoinTypeFromPackageId: (packageId: string) => string;
|
|
9
|
+
export declare const getPackageIdFromType: (type: string) => string;
|
|
10
|
+
export declare const getTableKeyType: (tableType: string) => string;
|
|
11
|
+
export declare class SuiAddress implements Address {
|
|
12
|
+
static readonly byteSize = 32;
|
|
13
|
+
static readonly platform: "Sui";
|
|
14
|
+
readonly address: Uint8Array;
|
|
15
|
+
readonly module: string | undefined;
|
|
16
|
+
constructor(address: AnySuiAddress);
|
|
17
|
+
unwrap(): string;
|
|
18
|
+
toString(): string;
|
|
19
|
+
toNative(): this;
|
|
20
|
+
toUint8Array(): Uint8Array;
|
|
21
|
+
toUniversalAddress(): UniversalAddress;
|
|
22
|
+
getPackageId(): string;
|
|
23
|
+
getCoinType(): string;
|
|
24
|
+
static instanceof(address: any): address is SuiAddress;
|
|
25
|
+
equals(other: SuiAddress | UniversalAddress): boolean;
|
|
26
|
+
}
|
|
27
|
+
declare module "@wormhole-foundation/sdk-connect" {
|
|
28
|
+
namespace WormholeRegistry {
|
|
29
|
+
interface PlatformToNativeAddressMapping {
|
|
30
|
+
Sui: SuiAddress;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAGP,gBAAgB,EACjB,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAa,aAAa,EAAE,MAAM,SAAS,CAAC;AAEnD,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,QAAyB;IAGjD,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;IAIrB,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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiAddress = exports.getTableKeyType = exports.getPackageIdFromType = exports.getCoinTypeFromPackageId = exports.normalizeSuiType = exports.zpadSuiAddress = exports.trimSuiType = exports.isValidSuiType = exports.SuiZeroAddress = void 0;
|
|
4
|
+
const utils_1 = require("@mysten/sui.js/utils");
|
|
5
|
+
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const platform_1 = require("./platform");
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
exports.SuiZeroAddress = "0x";
|
|
10
|
+
const isValidSuiType = (str) => /^(0x)?[0-9a-fA-F]+::\w+::\w+$/.test(str);
|
|
11
|
+
exports.isValidSuiType = isValidSuiType;
|
|
12
|
+
// Removes leading 0s from the address
|
|
13
|
+
const trimSuiType = (type) => type.replace(/(0x)(0*)/g, "0x");
|
|
14
|
+
exports.trimSuiType = trimSuiType;
|
|
15
|
+
// Adds leading 0s to the address to make it 32 bytes long
|
|
16
|
+
function zpadSuiAddress(address) {
|
|
17
|
+
address = address.startsWith("0x") ? address.slice(2) : address;
|
|
18
|
+
address = address.length % 2 === 0 ? address : "0" + address;
|
|
19
|
+
const zpadded = address.length === 64
|
|
20
|
+
? address
|
|
21
|
+
: sdk_connect_1.encoding.hex.encode(sdk_connect_1.encoding.bytes.zpad(sdk_connect_1.encoding.hex.decode(address), 32));
|
|
22
|
+
return `0x${zpadded}`;
|
|
23
|
+
}
|
|
24
|
+
exports.zpadSuiAddress = zpadSuiAddress;
|
|
25
|
+
const normalizeSuiType = (type) => {
|
|
26
|
+
const tokens = type.split(constants_1.SUI_SEPARATOR);
|
|
27
|
+
if (tokens.length !== 3)
|
|
28
|
+
throw new Error(`Invalid Sui type: ${type}`);
|
|
29
|
+
return [(0, utils_1.normalizeSuiAddress)(tokens[0]), tokens[1], tokens[2]].join(constants_1.SUI_SEPARATOR);
|
|
30
|
+
};
|
|
31
|
+
exports.normalizeSuiType = normalizeSuiType;
|
|
32
|
+
const getCoinTypeFromPackageId = (packageId) => {
|
|
33
|
+
return new SuiAddress(packageId).getCoinType();
|
|
34
|
+
};
|
|
35
|
+
exports.getCoinTypeFromPackageId = getCoinTypeFromPackageId;
|
|
36
|
+
const getPackageIdFromType = (type) => {
|
|
37
|
+
return new SuiAddress(type).getPackageId();
|
|
38
|
+
};
|
|
39
|
+
exports.getPackageIdFromType = getPackageIdFromType;
|
|
40
|
+
const getTableKeyType = (tableType) => {
|
|
41
|
+
const match = (0, exports.trimSuiType)(tableType).match(/0x2::table::Table<(.*)>/);
|
|
42
|
+
if (!match)
|
|
43
|
+
throw new Error(`Invalid table type: ${tableType}`);
|
|
44
|
+
if (match.length < 2)
|
|
45
|
+
throw new Error(`Invalid table type: ${tableType}`);
|
|
46
|
+
const [keyType] = match[1].split(",");
|
|
47
|
+
if (!keyType || !(0, exports.isValidSuiType)(keyType))
|
|
48
|
+
throw new Error(`Invalid key type: ${keyType}`);
|
|
49
|
+
return keyType;
|
|
50
|
+
};
|
|
51
|
+
exports.getTableKeyType = getTableKeyType;
|
|
52
|
+
class SuiAddress {
|
|
53
|
+
static byteSize = 32;
|
|
54
|
+
static platform = platform_1.SuiPlatform._platform;
|
|
55
|
+
// Full 32 bytes of Address
|
|
56
|
+
address;
|
|
57
|
+
// Optional module and contract name
|
|
58
|
+
module;
|
|
59
|
+
constructor(address) {
|
|
60
|
+
if (SuiAddress.instanceof(address)) {
|
|
61
|
+
this.address = address.address;
|
|
62
|
+
this.module = address.module;
|
|
63
|
+
}
|
|
64
|
+
else if (sdk_connect_1.UniversalAddress.instanceof(address)) {
|
|
65
|
+
this.address = address.toUint8Array();
|
|
66
|
+
}
|
|
67
|
+
else if (typeof address === "string") {
|
|
68
|
+
// If we've got an address of the form `0x1234...::module::...` then
|
|
69
|
+
// stuff anything after the first `::` into the module field
|
|
70
|
+
// and continue processing the address
|
|
71
|
+
if ((0, exports.isValidSuiType)(address)) {
|
|
72
|
+
const chunks = address.split(constants_1.SUI_SEPARATOR);
|
|
73
|
+
this.module = chunks.slice(1).join(constants_1.SUI_SEPARATOR);
|
|
74
|
+
address = chunks[0];
|
|
75
|
+
}
|
|
76
|
+
address = zpadSuiAddress(address);
|
|
77
|
+
if (!sdk_connect_1.encoding.hex.valid(address))
|
|
78
|
+
throw new Error("Invalid Sui address: " + address);
|
|
79
|
+
this.address = sdk_connect_1.encoding.hex.decode(address);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.address = address;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
unwrap() {
|
|
86
|
+
const packageId = this.getPackageId();
|
|
87
|
+
const module = this.module ? constants_1.SUI_SEPARATOR + this.module : "";
|
|
88
|
+
return `${packageId}${module}`;
|
|
89
|
+
}
|
|
90
|
+
toString() {
|
|
91
|
+
return this.unwrap();
|
|
92
|
+
}
|
|
93
|
+
toNative() {
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
toUint8Array() {
|
|
97
|
+
return this.address;
|
|
98
|
+
}
|
|
99
|
+
toUniversalAddress() {
|
|
100
|
+
return new sdk_connect_1.UniversalAddress(this.toUint8Array());
|
|
101
|
+
}
|
|
102
|
+
getPackageId() {
|
|
103
|
+
return zpadSuiAddress(sdk_connect_1.encoding.hex.encode(this.address));
|
|
104
|
+
}
|
|
105
|
+
getCoinType() {
|
|
106
|
+
return [this.getPackageId(), "coin", "COIN"].join(constants_1.SUI_SEPARATOR);
|
|
107
|
+
}
|
|
108
|
+
static instanceof(address) {
|
|
109
|
+
return address.constructor.platform === SuiAddress.platform;
|
|
110
|
+
}
|
|
111
|
+
equals(other) {
|
|
112
|
+
if (SuiAddress.instanceof(other)) {
|
|
113
|
+
return other.unwrap() === this.unwrap();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return this.toUniversalAddress().equals(other);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.SuiAddress = SuiAddress;
|
|
121
|
+
(0, sdk_connect_1.registerNative)(types_1._platform, SuiAddress);
|
|
122
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Chain, ChainContext, Network } from "@wormhole-foundation/sdk-connect";
|
|
2
|
+
import { SuiChains } from "./types";
|
|
3
|
+
export declare class SuiChain<N extends Network = Network, C extends Chain = SuiChains> extends ChainContext<N, C> {
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,qBAAa,QAAQ,CACnB,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,SAAS,KAAK,GAAG,SAAS,CAC3B,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiChain = void 0;
|
|
4
|
+
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
5
|
+
class SuiChain extends sdk_connect_1.ChainContext {
|
|
6
|
+
}
|
|
7
|
+
exports.SuiChain = SuiChain;
|
|
8
|
+
//# sourceMappingURL=chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain.ts"],"names":[],"mappings":";;;AAAA,kEAAgF;AAGhF,MAAa,QAGX,SAAQ,0BAAkB;CAAG;AAH/B,4BAG+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,QAAQ,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,IAAI,CAAC;AACrB,QAAA,QAAQ,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./address"), exports);
|
|
18
|
+
__exportStar(require("./unsignedTransaction"), exports);
|
|
19
|
+
__exportStar(require("./platform"), exports);
|
|
20
|
+
__exportStar(require("./types"), exports);
|
|
21
|
+
__exportStar(require("./chain"), exports);
|
|
22
|
+
__exportStar(require("./signer"), exports);
|
|
23
|
+
__exportStar(require("./utils"), exports);
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,wDAAsC;AACtC,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Balances, Chain, ChainsConfig, Network, PlatformContext, SignedTx, StaticPlatformMethods, TokenId, TxHash } from "@wormhole-foundation/sdk-connect";
|
|
2
|
+
import { SuiClient } from "@mysten/sui.js/client";
|
|
3
|
+
import { SuiChain } from "./chain";
|
|
4
|
+
import { AnySuiAddress, SuiChains, SuiPlatformType } from "./types";
|
|
5
|
+
/**
|
|
6
|
+
* @category Sui
|
|
7
|
+
*/
|
|
8
|
+
export declare class SuiPlatform<N extends Network> extends PlatformContext<N, SuiPlatformType> implements StaticPlatformMethods<SuiPlatformType, typeof SuiPlatform> {
|
|
9
|
+
static _platform: SuiPlatformType;
|
|
10
|
+
constructor(network: N, _config?: ChainsConfig<N, SuiPlatformType>);
|
|
11
|
+
getRpc<C extends SuiChains>(chain: C): SuiClient;
|
|
12
|
+
getChain<C extends SuiChains>(chain: C): SuiChain<N, C>;
|
|
13
|
+
static nativeTokenId<N extends Network, C extends SuiChains>(network: N, chain: C): TokenId<C>;
|
|
14
|
+
static isNativeTokenId<N extends Network, C extends SuiChains>(network: N, chain: C, tokenId: TokenId): boolean;
|
|
15
|
+
static isSupportedChain(chain: Chain): boolean;
|
|
16
|
+
static getDecimals(chain: Chain, rpc: SuiClient, token: AnySuiAddress): Promise<number>;
|
|
17
|
+
static getBalance(chain: Chain, rpc: SuiClient, walletAddr: string, token: AnySuiAddress): Promise<bigint | null>;
|
|
18
|
+
static getBalances(chain: Chain, rpc: SuiClient, walletAddr: string, tokens: AnySuiAddress[]): Promise<Balances>;
|
|
19
|
+
static sendWait(chain: Chain, rpc: SuiClient, stxns: SignedTx[]): Promise<TxHash[]>;
|
|
20
|
+
static getLatestBlock(rpc: SuiClient): Promise<number>;
|
|
21
|
+
static getLatestFinalizedBlock(rpc: SuiClient): Promise<number>;
|
|
22
|
+
static chainFromChainId(chainId: string): [Network, SuiChains];
|
|
23
|
+
static chainFromRpc(rpc: SuiClient): Promise<[Network, SuiChains]>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,eAAe,EACf,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EAOP,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAa,MAAM,SAAS,CAAC;AAG/E;;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,EAAE,eAAe,CAAa;gBAElC,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;IAKhD,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,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;WAiBhF,UAAU,CACrB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAeZ,WAAW,CACtB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EAAE,GACtB,OAAO,CAAC,QAAQ,CAAC;WAWP,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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiPlatform = void 0;
|
|
4
|
+
const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
|
|
5
|
+
const client_1 = require("@mysten/sui.js/client");
|
|
6
|
+
const address_1 = require("./address");
|
|
7
|
+
const chain_1 = require("./chain");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
11
|
+
/**
|
|
12
|
+
* @category Sui
|
|
13
|
+
*/
|
|
14
|
+
class SuiPlatform extends sdk_connect_1.PlatformContext {
|
|
15
|
+
static _platform = types_1._platform;
|
|
16
|
+
constructor(network, _config) {
|
|
17
|
+
super(network, _config ?? (0, sdk_connect_1.networkPlatformConfigs)(network, SuiPlatform._platform));
|
|
18
|
+
}
|
|
19
|
+
getRpc(chain) {
|
|
20
|
+
if (chain in this.config)
|
|
21
|
+
return new client_1.SuiClient({ url: this.config[chain].rpc });
|
|
22
|
+
throw new Error("No configuration available for chain: " + chain);
|
|
23
|
+
}
|
|
24
|
+
getChain(chain) {
|
|
25
|
+
if (chain in this.config)
|
|
26
|
+
return new chain_1.SuiChain(chain, this);
|
|
27
|
+
throw new Error("No configuration available for chain: " + chain);
|
|
28
|
+
}
|
|
29
|
+
static nativeTokenId(network, chain) {
|
|
30
|
+
if (!SuiPlatform.isSupportedChain(chain))
|
|
31
|
+
throw new Error(`invalid chain for ${types_1._platform}: ${chain}`);
|
|
32
|
+
return sdk_connect_1.Wormhole.tokenId(chain, constants_1.SUI_COIN);
|
|
33
|
+
}
|
|
34
|
+
static isNativeTokenId(network, chain, tokenId) {
|
|
35
|
+
if (!SuiPlatform.isSupportedChain(chain))
|
|
36
|
+
return false;
|
|
37
|
+
if (tokenId.chain !== chain)
|
|
38
|
+
return false;
|
|
39
|
+
const native = this.nativeTokenId(network, chain);
|
|
40
|
+
return native === tokenId;
|
|
41
|
+
}
|
|
42
|
+
static isSupportedChain(chain) {
|
|
43
|
+
const platform = (0, sdk_connect_1.chainToPlatform)(chain);
|
|
44
|
+
return platform === SuiPlatform._platform;
|
|
45
|
+
}
|
|
46
|
+
static async getDecimals(chain, rpc, token) {
|
|
47
|
+
if ((0, sdk_connect_1.isNative)(token))
|
|
48
|
+
return sdk_connect_1.decimals.nativeDecimals(SuiPlatform._platform);
|
|
49
|
+
const parsedAddress = new address_1.SuiAddress(token);
|
|
50
|
+
try {
|
|
51
|
+
const fields = await (0, utils_1.getObjectFields)(rpc, parsedAddress.toString());
|
|
52
|
+
if (fields && "decimals" in fields)
|
|
53
|
+
return fields["decimals"];
|
|
54
|
+
}
|
|
55
|
+
catch { }
|
|
56
|
+
const metadata = await rpc.getCoinMetadata({ coinType: parsedAddress.getCoinType() });
|
|
57
|
+
if (metadata === null)
|
|
58
|
+
throw new Error(`Can't fetch decimals for token ${parsedAddress.toString()}`);
|
|
59
|
+
return metadata.decimals;
|
|
60
|
+
}
|
|
61
|
+
static async getBalance(chain, rpc, walletAddr, token) {
|
|
62
|
+
if ((0, sdk_connect_1.isNative)(token)) {
|
|
63
|
+
const { totalBalance } = await rpc.getBalance({
|
|
64
|
+
owner: walletAddr,
|
|
65
|
+
});
|
|
66
|
+
return BigInt(totalBalance);
|
|
67
|
+
}
|
|
68
|
+
const { totalBalance } = await rpc.getBalance({
|
|
69
|
+
owner: walletAddr,
|
|
70
|
+
coinType: token.toString(),
|
|
71
|
+
});
|
|
72
|
+
return BigInt(totalBalance);
|
|
73
|
+
}
|
|
74
|
+
static async getBalances(chain, rpc, walletAddr, tokens) {
|
|
75
|
+
const balancesArr = await Promise.all(tokens.map(async (token) => {
|
|
76
|
+
const balance = await this.getBalance(chain, rpc, walletAddr, token);
|
|
77
|
+
const address = (0, sdk_connect_1.isNative)(token) ? "native" : new address_1.SuiAddress(token).toString();
|
|
78
|
+
return { [address]: balance };
|
|
79
|
+
}));
|
|
80
|
+
return balancesArr.reduce((obj, item) => Object.assign(obj, item), {});
|
|
81
|
+
}
|
|
82
|
+
static async sendWait(chain, rpc, stxns) {
|
|
83
|
+
const txhashes = [];
|
|
84
|
+
for (const stxn of stxns) {
|
|
85
|
+
const pendingTx = await rpc.executeTransactionBlock(stxn);
|
|
86
|
+
await rpc.waitForTransactionBlock({ digest: pendingTx.digest });
|
|
87
|
+
txhashes.push(pendingTx.digest);
|
|
88
|
+
}
|
|
89
|
+
return txhashes;
|
|
90
|
+
}
|
|
91
|
+
static async getLatestBlock(rpc) {
|
|
92
|
+
return Number(await rpc.getLatestCheckpointSequenceNumber());
|
|
93
|
+
}
|
|
94
|
+
static async getLatestFinalizedBlock(rpc) {
|
|
95
|
+
return this.getLatestBlock(rpc);
|
|
96
|
+
}
|
|
97
|
+
static chainFromChainId(chainId) {
|
|
98
|
+
const networkChainPair = sdk_connect_1.nativeChainIds.platformNativeChainIdToNetworkChain(SuiPlatform._platform, chainId);
|
|
99
|
+
if (networkChainPair === undefined)
|
|
100
|
+
throw new Error(`Unknown native chain id ${chainId}`);
|
|
101
|
+
const [network, chain] = networkChainPair;
|
|
102
|
+
return [network, chain];
|
|
103
|
+
}
|
|
104
|
+
static async chainFromRpc(rpc) {
|
|
105
|
+
const result = await rpc.call("sui_getChainIdentifier", []);
|
|
106
|
+
return this.chainFromChainId(result);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.SuiPlatform = SuiPlatform;
|
|
110
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui.js/client";
|
|
2
|
+
import { Ed25519Keypair } from "@mysten/sui.js/keypairs/ed25519";
|
|
3
|
+
import { Network, SignAndSendSigner, Signer, TxHash, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
|
|
4
|
+
import { SuiChains } from "./types";
|
|
5
|
+
export declare function getSuiSigner(rpc: SuiClient, privateKey: string): Promise<Signer>;
|
|
6
|
+
export declare class SuiSigner<N extends Network, C extends SuiChains> implements SignAndSendSigner<N, C> {
|
|
7
|
+
private _chain;
|
|
8
|
+
private _client;
|
|
9
|
+
private _signer;
|
|
10
|
+
constructor(_chain: C, _client: SuiClient, _signer: Ed25519Keypair);
|
|
11
|
+
chain(): C;
|
|
12
|
+
address(): string;
|
|
13
|
+
signAndSend(txns: UnsignedTransaction[]): Promise<TxHash[]>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,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;gBAFP,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,cAAc;IAGjC,KAAK,IAAI,CAAC;IAIV,OAAO,IAAI,MAAM;IAIX,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAelE"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiSigner = exports.getSuiSigner = void 0;
|
|
4
|
+
const ed25519_1 = require("@mysten/sui.js/keypairs/ed25519");
|
|
5
|
+
const platform_1 = require("./platform");
|
|
6
|
+
async function getSuiSigner(rpc, privateKey) {
|
|
7
|
+
const [, chain] = await platform_1.SuiPlatform.chainFromRpc(rpc);
|
|
8
|
+
return new SuiSigner(chain, rpc, ed25519_1.Ed25519Keypair.deriveKeypair(privateKey, "m/44'/784'/0'/0'/0'"));
|
|
9
|
+
}
|
|
10
|
+
exports.getSuiSigner = getSuiSigner;
|
|
11
|
+
// SuiSigner implements SignOnlySender
|
|
12
|
+
class SuiSigner {
|
|
13
|
+
_chain;
|
|
14
|
+
_client;
|
|
15
|
+
_signer;
|
|
16
|
+
constructor(_chain, _client, _signer) {
|
|
17
|
+
this._chain = _chain;
|
|
18
|
+
this._client = _client;
|
|
19
|
+
this._signer = _signer;
|
|
20
|
+
}
|
|
21
|
+
chain() {
|
|
22
|
+
return this._chain;
|
|
23
|
+
}
|
|
24
|
+
address() {
|
|
25
|
+
return this._signer.toSuiAddress();
|
|
26
|
+
}
|
|
27
|
+
async signAndSend(txns) {
|
|
28
|
+
const txids = [];
|
|
29
|
+
for (const tx of txns) {
|
|
30
|
+
const { description, transaction } = tx;
|
|
31
|
+
console.log(`Signing ${description} for ${this.address()}`);
|
|
32
|
+
const result = await this._client.signAndExecuteTransactionBlock({
|
|
33
|
+
transactionBlock: transaction,
|
|
34
|
+
signer: this._signer,
|
|
35
|
+
});
|
|
36
|
+
txids.push(result.digest);
|
|
37
|
+
}
|
|
38
|
+
return txids;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.SuiSigner = SuiSigner;
|
|
42
|
+
//# sourceMappingURL=signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":";;;AACA,6DAAiE;AAQjE,yCAAyC;AAIlC,KAAK,UAAU,YAAY,CAAC,GAAc,EAAE,UAAkB;IACnE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,sBAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,wBAAc,CAAC,aAAa,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACpG,CAAC;AAHD,oCAGC;AAED,sCAAsC;AACtC,MAAa,SAAS;IAEV;IACA;IACA;IAHV,YACU,MAAS,EACT,OAAkB,EAClB,OAAuB;QAFvB,WAAM,GAAN,MAAM,CAAG;QACT,YAAO,GAAP,OAAO,CAAW;QAClB,YAAO,GAAP,OAAO,CAAgB;IAC9B,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;YACrB,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAkC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,QAAQ,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC;gBAC/D,gBAAgB,EAAE,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA9BD,8BA8BC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MoveValue, SuiObjectResponse } from "@mysten/sui.js/client";
|
|
2
|
+
import { PlatformToChains, UniversalOrNative } from "@wormhole-foundation/sdk-connect";
|
|
3
|
+
export declare const _platform: "Sui";
|
|
4
|
+
export type SuiPlatformType = typeof _platform;
|
|
5
|
+
export type SuiChains = PlatformToChains<SuiPlatformType>;
|
|
6
|
+
export type UniversalOrSui = UniversalOrNative<SuiChains>;
|
|
7
|
+
export type AnySuiAddress = UniversalOrSui | string | Uint8Array;
|
|
8
|
+
export type SuiBuildOutput = {
|
|
9
|
+
modules: string[];
|
|
10
|
+
dependencies: string[];
|
|
11
|
+
};
|
|
12
|
+
export declare const getFieldsFromObjectResponse: (object: SuiObjectResponse) => import("@mysten/sui.js/client").MoveStruct | null;
|
|
13
|
+
export declare const isSameType: (a: string, b: string) => boolean;
|
|
14
|
+
export declare const isSuiCreateEvent: <T extends import("@mysten/sui.js/client").SuiObjectChange, K extends Extract<T, {
|
|
15
|
+
type: "created";
|
|
16
|
+
}>>(event: T) => event is K;
|
|
17
|
+
export declare const isSuiPublishEvent: <T extends import("@mysten/sui.js/client").SuiObjectChange, K extends Extract<T, {
|
|
18
|
+
type: "published";
|
|
19
|
+
}>>(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
|
+
};
|
|
27
|
+
export declare function isMoveStructObject(value: any): value is {
|
|
28
|
+
[key: string]: MoveValue;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAA+B,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGvF,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,sDAGpE,CAAC;AAEF,eAAO,MAAM,UAAU,MAAO,MAAM,KAAK,MAAM,YAM9C,CAAC;AAGF,eAAO,MAAM,gBAAgB;UAEE,SAAS;2BAGE,CAAC;AAE3C,eAAO,MAAM,iBAAiB;UAEC,WAAW;2BAGE,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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMoveStructObject = exports.isMoveStructStruct = exports.isMoveStructArray = exports.isSuiPublishEvent = exports.isSuiCreateEvent = exports.isSameType = exports.getFieldsFromObjectResponse = exports._platform = void 0;
|
|
4
|
+
const address_1 = require("./address");
|
|
5
|
+
exports._platform = "Sui";
|
|
6
|
+
const getFieldsFromObjectResponse = (object) => {
|
|
7
|
+
const content = object.data?.content;
|
|
8
|
+
return content && content.dataType === "moveObject" ? content.fields : null;
|
|
9
|
+
};
|
|
10
|
+
exports.getFieldsFromObjectResponse = getFieldsFromObjectResponse;
|
|
11
|
+
const isSameType = (a, b) => {
|
|
12
|
+
try {
|
|
13
|
+
return (0, address_1.normalizeSuiType)(a) === (0, address_1.normalizeSuiType)(b);
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.isSameType = isSameType;
|
|
20
|
+
// Event typeguard helpers
|
|
21
|
+
const isSuiCreateEvent = (event) => event?.type === "created";
|
|
22
|
+
exports.isSuiCreateEvent = isSuiCreateEvent;
|
|
23
|
+
const isSuiPublishEvent = (event) => event?.type === "published";
|
|
24
|
+
exports.isSuiPublishEvent = isSuiPublishEvent;
|
|
25
|
+
//
|
|
26
|
+
// MoveStruct typeguard helpers
|
|
27
|
+
//
|
|
28
|
+
function isMoveStructArray(value) {
|
|
29
|
+
return Array.isArray(value);
|
|
30
|
+
}
|
|
31
|
+
exports.isMoveStructArray = isMoveStructArray;
|
|
32
|
+
function isMoveStructStruct(value) {
|
|
33
|
+
return !Array.isArray(value) && typeof value === "object" && "fields" in value && "type" in value;
|
|
34
|
+
}
|
|
35
|
+
exports.isMoveStructStruct = isMoveStructStruct;
|
|
36
|
+
function isMoveStructObject(value) {
|
|
37
|
+
return typeof value === "object" && !isMoveStructArray(value) && !isMoveStructStruct(value);
|
|
38
|
+
}
|
|
39
|
+
exports.isMoveStructObject = isMoveStructObject;
|
|
40
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,uCAA6C;AAEhC,QAAA,SAAS,GAAU,KAAK,CAAC;AAY/B,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;AAHW,QAAA,2BAA2B,+BAGtC;AAEK,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;IACjD,IAAI;QACF,OAAO,IAAA,0BAAgB,EAAC,CAAC,CAAC,KAAK,IAAA,0BAAgB,EAAC,CAAC,CAAC,CAAC;KACpD;IAAC,MAAM;QACN,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB;AAEF,0BAA0B;AACnB,MAAM,gBAAgB,GAAG,CAI9B,KAAQ,EACI,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC;AAL9B,QAAA,gBAAgB,oBAKc;AAEpC,MAAM,iBAAiB,GAAG,CAI/B,KAAQ,EACI,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC;AALhC,QAAA,iBAAiB,qBAKe;AAE7C,EAAE;AACF,+BAA+B;AAC/B,EAAE;AACF,SAAgB,iBAAiB,CAAC,KAAU;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,SAAgB,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;AAJD,gDAIC;AACD,SAAgB,kBAAkB,CAAC,KAAU;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC9F,CAAC;AAFD,gDAEC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TransactionBlock } from "@mysten/sui.js/transactions";
|
|
2
|
+
import { Network, UnsignedTransaction } from "@wormhole-foundation/sdk-connect";
|
|
3
|
+
import { SuiChains } from "./types";
|
|
4
|
+
export declare class SuiUnsignedTransaction<N extends Network, C extends SuiChains> implements UnsignedTransaction<N, C> {
|
|
5
|
+
readonly transaction: TransactionBlock;
|
|
6
|
+
readonly network: N;
|
|
7
|
+
readonly chain: C;
|
|
8
|
+
readonly description: string;
|
|
9
|
+
readonly parallelizable: boolean;
|
|
10
|
+
constructor(transaction: TransactionBlock, network: N, chain: C, description: string, parallelizable?: boolean);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=unsignedTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsignedTransaction.d.ts","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,qBAAa,sBAAsB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACxE,YAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAGlC,QAAQ,CAAC,WAAW,EAAE,gBAAgB;IACtC,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,gBAAgB,EAC7B,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,OAAe;CAE3C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiUnsignedTransaction = void 0;
|
|
4
|
+
class SuiUnsignedTransaction {
|
|
5
|
+
transaction;
|
|
6
|
+
network;
|
|
7
|
+
chain;
|
|
8
|
+
description;
|
|
9
|
+
parallelizable;
|
|
10
|
+
constructor(transaction, network, chain, description, parallelizable = false) {
|
|
11
|
+
this.transaction = transaction;
|
|
12
|
+
this.network = network;
|
|
13
|
+
this.chain = chain;
|
|
14
|
+
this.description = description;
|
|
15
|
+
this.parallelizable = parallelizable;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.SuiUnsignedTransaction = SuiUnsignedTransaction;
|
|
19
|
+
//# sourceMappingURL=unsignedTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsignedTransaction.js","sourceRoot":"","sources":["../../src/unsignedTransaction.ts"],"names":[],"mappings":";;;AAIA,MAAa,sBAAsB;IAItB;IACA;IACA;IACA;IACA;IALX,YACW,WAA6B,EAC7B,OAAU,EACV,KAAQ,EACR,WAAmB,EACnB,iBAA0B,KAAK;QAJ/B,gBAAW,GAAX,WAAW,CAAkB;QAC7B,YAAO,GAAP,OAAO,CAAG;QACV,UAAK,GAAL,KAAK,CAAG;QACR,gBAAW,GAAX,WAAW,CAAQ;QACnB,mBAAc,GAAd,cAAc,CAAiB;IACvC,CAAC;CACL;AAVD,wDAUC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SuiClient } from "@mysten/sui.js/client";
|
|
2
|
+
import { TransactionBlock } from "@mysten/sui.js/transactions";
|
|
3
|
+
import { SuiBuildOutput } from "./types";
|
|
4
|
+
export declare const UPGRADE_CAP_TYPE = "0x2::package::UpgradeCap";
|
|
5
|
+
export declare const uint8ArrayToBCS: (arr: Uint8Array) => Uint8Array;
|
|
6
|
+
export declare const getOriginalPackageId: (provider: SuiClient, stateObjectId: string) => Promise<string>;
|
|
7
|
+
export declare const getObjectFields: (provider: SuiClient, objectId: string) => Promise<Record<string, any> | null>;
|
|
8
|
+
export declare function getPackageId(provider: SuiClient, objectId: string): Promise<string>;
|
|
9
|
+
export declare const getOldestEmitterCapObjectId: (provider: SuiClient, coreBridgePackageId: string, owner: string) => Promise<string | null>;
|
|
10
|
+
export declare const getOwnedObjectId: (provider: SuiClient, owner: string, type: string) => Promise<string | null>;
|
|
11
|
+
export declare const getOwnedObjectIdPaginated: (provider: SuiClient, owner: string, type: string, cursor?: string) => Promise<string | null>;
|
|
12
|
+
export declare const getUpgradeCapObjectId: (provider: SuiClient, owner: string, packageId: string) => Promise<string | null>;
|
|
13
|
+
export declare const publishPackage: (buildOutput: SuiBuildOutput, signerAddress: string) => Promise<TransactionBlock>;
|
|
14
|
+
export declare const newEmitterCap: (coreBridgePackageId: string, coreBridgeStateObjectId: string, owner: string) => TransactionBlock;
|
|
15
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAI/D,OAAO,EACL,cAAc,EAKf,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,gBAAgB,6BAA6B,CAAC;AAG3D,eAAO,MAAM,eAAe,QAAS,UAAU,eAC4B,CAAC;AAM5E,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,wBAAsB,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BzF;AAED,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,gBAAgB,CAS1B,CAAC;AAEF,eAAO,MAAM,aAAa,wBACH,MAAM,2BACF,MAAM,SACxB,MAAM,KACZ,gBAQF,CAAC"}
|