@mysten/sui 1.9.0 → 1.11.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/CHANGELOG.md +29 -0
- package/dist/cjs/bcs/bcs.js +14 -14
- package/dist/cjs/bcs/bcs.js.map +2 -2
- package/dist/cjs/client/client.js +6 -6
- package/dist/cjs/client/client.js.map +2 -2
- package/dist/cjs/client/types/generated.d.ts +1 -2
- package/dist/cjs/client/types/generated.js.map +1 -1
- package/dist/cjs/cryptography/keypair.js +2 -2
- package/dist/cjs/cryptography/keypair.js.map +2 -2
- package/dist/cjs/cryptography/mnemonics.js +1 -1
- package/dist/cjs/cryptography/mnemonics.js.map +1 -1
- package/dist/cjs/cryptography/publickey.js +2 -2
- package/dist/cjs/cryptography/publickey.js.map +2 -2
- package/dist/cjs/cryptography/signature.js +2 -2
- package/dist/cjs/cryptography/signature.js.map +2 -2
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js +1 -1
- package/dist/cjs/keypairs/ed25519/ed25519-hd-key.js.map +1 -1
- package/dist/cjs/keypairs/ed25519/keypair.d.ts +2 -2
- package/dist/cjs/keypairs/ed25519/keypair.js +8 -1
- package/dist/cjs/keypairs/ed25519/keypair.js.map +2 -2
- package/dist/cjs/keypairs/ed25519/publickey.js +1 -1
- package/dist/cjs/keypairs/ed25519/publickey.js.map +2 -2
- package/dist/cjs/keypairs/secp256k1/keypair.d.ts +2 -2
- package/dist/cjs/keypairs/secp256k1/keypair.js +8 -1
- package/dist/cjs/keypairs/secp256k1/keypair.js.map +2 -2
- package/dist/cjs/keypairs/secp256k1/publickey.js +1 -1
- package/dist/cjs/keypairs/secp256k1/publickey.js.map +2 -2
- package/dist/cjs/keypairs/secp256r1/keypair.d.ts +2 -2
- package/dist/cjs/keypairs/secp256r1/keypair.js +8 -1
- package/dist/cjs/keypairs/secp256r1/keypair.js.map +2 -2
- package/dist/cjs/keypairs/secp256r1/publickey.js +1 -1
- package/dist/cjs/keypairs/secp256r1/publickey.js.map +2 -2
- package/dist/cjs/multisig/publickey.js +2 -2
- package/dist/cjs/multisig/publickey.js.map +2 -2
- package/dist/cjs/multisig/signer.js +2 -2
- package/dist/cjs/multisig/signer.js.map +2 -2
- package/dist/cjs/transactions/Commands.js +2 -2
- package/dist/cjs/transactions/Commands.js.map +2 -2
- package/dist/cjs/transactions/Inputs.js +1 -1
- package/dist/cjs/transactions/Inputs.js.map +2 -2
- package/dist/cjs/transactions/Transaction.js +2 -2
- package/dist/cjs/transactions/Transaction.js.map +2 -2
- package/dist/cjs/transactions/TransactionData.js +1 -1
- package/dist/cjs/transactions/TransactionData.js.map +2 -2
- package/dist/cjs/transactions/data/v1.js +6 -6
- package/dist/cjs/transactions/data/v1.js.map +2 -2
- package/dist/cjs/transactions/executor/parallel.js +1 -1
- package/dist/cjs/transactions/executor/parallel.js.map +2 -2
- package/dist/cjs/transactions/executor/serial.js +1 -1
- package/dist/cjs/transactions/executor/serial.js.map +2 -2
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.d.ts +3 -3
- package/dist/cjs/transactions/plugins/NamedPackagesPlugin.js.map +1 -1
- package/dist/cjs/transactions/plugins/utils.js +26 -7
- package/dist/cjs/transactions/plugins/utils.js.map +2 -2
- package/dist/cjs/utils/index.d.ts +1 -1
- package/dist/cjs/utils/index.js +7 -1
- package/dist/cjs/utils/index.js.map +2 -2
- package/dist/cjs/utils/move-registry.js +12 -3
- package/dist/cjs/utils/move-registry.js.map +2 -2
- package/dist/cjs/utils/sui-types.js +1 -1
- package/dist/cjs/utils/sui-types.js.map +2 -2
- package/dist/cjs/verify/verify.js +1 -1
- package/dist/cjs/verify/verify.js.map +2 -2
- package/dist/cjs/version.d.ts +2 -2
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/zklogin/publickey.js +5 -5
- package/dist/cjs/zklogin/publickey.js.map +2 -2
- package/dist/cjs/zklogin/signature.js +3 -3
- package/dist/cjs/zklogin/signature.js.map +2 -2
- package/dist/esm/bcs/bcs.js +15 -15
- package/dist/esm/bcs/bcs.js.map +2 -2
- package/dist/esm/client/client.js +7 -7
- package/dist/esm/client/client.js.map +2 -2
- package/dist/esm/client/types/generated.d.ts +1 -2
- package/dist/esm/cryptography/keypair.js +3 -3
- package/dist/esm/cryptography/keypair.js.map +2 -2
- package/dist/esm/cryptography/mnemonics.js +2 -2
- package/dist/esm/cryptography/mnemonics.js.map +1 -1
- package/dist/esm/cryptography/publickey.js +3 -3
- package/dist/esm/cryptography/publickey.js.map +2 -2
- package/dist/esm/cryptography/signature.js +3 -3
- package/dist/esm/cryptography/signature.js.map +2 -2
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js +2 -2
- package/dist/esm/keypairs/ed25519/ed25519-hd-key.js.map +1 -1
- package/dist/esm/keypairs/ed25519/keypair.d.ts +2 -2
- package/dist/esm/keypairs/ed25519/keypair.js +14 -2
- package/dist/esm/keypairs/ed25519/keypair.js.map +2 -2
- package/dist/esm/keypairs/ed25519/publickey.js +2 -2
- package/dist/esm/keypairs/ed25519/publickey.js.map +2 -2
- package/dist/esm/keypairs/secp256k1/keypair.d.ts +2 -2
- package/dist/esm/keypairs/secp256k1/keypair.js +9 -2
- package/dist/esm/keypairs/secp256k1/keypair.js.map +2 -2
- package/dist/esm/keypairs/secp256k1/publickey.js +2 -2
- package/dist/esm/keypairs/secp256k1/publickey.js.map +2 -2
- package/dist/esm/keypairs/secp256r1/keypair.d.ts +2 -2
- package/dist/esm/keypairs/secp256r1/keypair.js +9 -2
- package/dist/esm/keypairs/secp256r1/keypair.js.map +2 -2
- package/dist/esm/keypairs/secp256r1/publickey.js +2 -2
- package/dist/esm/keypairs/secp256r1/publickey.js.map +2 -2
- package/dist/esm/multisig/publickey.js +3 -3
- package/dist/esm/multisig/publickey.js.map +2 -2
- package/dist/esm/multisig/signer.js +3 -3
- package/dist/esm/multisig/signer.js.map +2 -2
- package/dist/esm/transactions/Commands.js +3 -3
- package/dist/esm/transactions/Commands.js.map +2 -2
- package/dist/esm/transactions/Inputs.js +2 -2
- package/dist/esm/transactions/Inputs.js.map +2 -2
- package/dist/esm/transactions/Transaction.js +3 -3
- package/dist/esm/transactions/Transaction.js.map +2 -2
- package/dist/esm/transactions/TransactionData.js +2 -2
- package/dist/esm/transactions/TransactionData.js.map +2 -2
- package/dist/esm/transactions/data/v1.js +7 -7
- package/dist/esm/transactions/data/v1.js.map +2 -2
- package/dist/esm/transactions/executor/parallel.js +2 -2
- package/dist/esm/transactions/executor/parallel.js.map +2 -2
- package/dist/esm/transactions/executor/serial.js +2 -2
- package/dist/esm/transactions/executor/serial.js.map +2 -2
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.d.ts +3 -3
- package/dist/esm/transactions/plugins/NamedPackagesPlugin.js.map +1 -1
- package/dist/esm/transactions/plugins/utils.js +26 -7
- package/dist/esm/transactions/plugins/utils.js.map +2 -2
- package/dist/esm/utils/index.d.ts +1 -1
- package/dist/esm/utils/index.js +19 -2
- package/dist/esm/utils/index.js.map +2 -2
- package/dist/esm/utils/move-registry.js +12 -3
- package/dist/esm/utils/move-registry.js.map +2 -2
- package/dist/esm/utils/sui-types.js +2 -2
- package/dist/esm/utils/sui-types.js.map +2 -2
- package/dist/esm/verify/verify.js +2 -2
- package/dist/esm/verify/verify.js.map +2 -2
- package/dist/esm/version.d.ts +2 -2
- package/dist/esm/version.js +2 -2
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/zklogin/publickey.js +6 -6
- package/dist/esm/zklogin/publickey.js.map +2 -2
- package/dist/esm/zklogin/signature.js +4 -4
- package/dist/esm/zklogin/signature.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/bcs/bcs.ts +15 -15
- package/src/client/client.ts +7 -7
- package/src/client/types/generated.ts +1 -2
- package/src/cryptography/keypair.ts +3 -3
- package/src/cryptography/mnemonics.ts +2 -2
- package/src/cryptography/publickey.ts +3 -3
- package/src/cryptography/signature.ts +3 -3
- package/src/keypairs/ed25519/ed25519-hd-key.ts +2 -2
- package/src/keypairs/ed25519/keypair.ts +18 -3
- package/src/keypairs/ed25519/publickey.ts +2 -2
- package/src/keypairs/secp256k1/keypair.ts +13 -3
- package/src/keypairs/secp256k1/publickey.ts +2 -2
- package/src/keypairs/secp256r1/keypair.ts +13 -3
- package/src/keypairs/secp256r1/publickey.ts +2 -2
- package/src/multisig/publickey.ts +3 -3
- package/src/multisig/signer.ts +3 -3
- package/src/transactions/Commands.ts +3 -3
- package/src/transactions/Inputs.ts +2 -2
- package/src/transactions/Transaction.ts +3 -3
- package/src/transactions/TransactionData.ts +2 -2
- package/src/transactions/__tests__/Transaction.test.ts +2 -2
- package/src/transactions/__tests__/bcs.test.ts +2 -2
- package/src/transactions/data/v1.ts +7 -7
- package/src/transactions/executor/parallel.ts +2 -2
- package/src/transactions/executor/serial.ts +2 -2
- package/src/transactions/plugins/NamedPackagesPlugin.ts +3 -3
- package/src/transactions/plugins/utils.ts +33 -7
- package/src/utils/index.ts +12 -1
- package/src/utils/move-registry.ts +24 -5
- package/src/utils/sui-types.ts +2 -2
- package/src/verify/verify.ts +2 -2
- package/src/version.ts +2 -2
- package/src/zklogin/publickey.ts +6 -6
- package/src/zklogin/signature.ts +5 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# @mysten/sui.js
|
|
2
2
|
|
|
3
|
+
## 1.11.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 489f421: Updated hex, base64, and base58 utility names for better consistency
|
|
8
|
+
|
|
9
|
+
All existing methods will continue to work, but the following methods have been deprecated and
|
|
10
|
+
replaced with methods with improved names:
|
|
11
|
+
|
|
12
|
+
- `toHEX` -> `toHEX`
|
|
13
|
+
- `fromHEX` -> `fromHex`
|
|
14
|
+
- `toB64` -> `toBase64`
|
|
15
|
+
- `fromB64` -> `fromBase64`
|
|
16
|
+
- `toB58` -> `toBase58`
|
|
17
|
+
- `fromB58` -> `fromBase58`
|
|
18
|
+
|
|
19
|
+
- 489f421: support Bech32 secrets in the Keypair.fromSecretKey methods
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Updated dependencies [489f421]
|
|
24
|
+
- @mysten/bcs@1.1.0
|
|
25
|
+
|
|
26
|
+
## 1.10.0
|
|
27
|
+
|
|
28
|
+
### Minor Changes
|
|
29
|
+
|
|
30
|
+
- 830b8d8: Introduce new naming scheme for named packages plugin
|
|
31
|
+
|
|
3
32
|
## 1.9.0
|
|
4
33
|
|
|
5
34
|
### Minor Changes
|
package/dist/cjs/bcs/bcs.js
CHANGED
|
@@ -70,20 +70,20 @@ function optionEnum(type) {
|
|
|
70
70
|
}
|
|
71
71
|
const Address = import_bcs.bcs.bytes(import_sui_types.SUI_ADDRESS_LENGTH).transform({
|
|
72
72
|
validate: (val) => {
|
|
73
|
-
const address = typeof val === "string" ? val : (0, import_bcs.
|
|
73
|
+
const address = typeof val === "string" ? val : (0, import_bcs.toHex)(val);
|
|
74
74
|
if (!address || !(0, import_sui_types.isValidSuiAddress)((0, import_sui_types.normalizeSuiAddress)(address))) {
|
|
75
75
|
throw new Error(`Invalid Sui address ${address}`);
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
|
-
input: (val) => typeof val === "string" ? (0, import_bcs.
|
|
79
|
-
output: (val) => (0, import_sui_types.normalizeSuiAddress)((0, import_bcs.
|
|
78
|
+
input: (val) => typeof val === "string" ? (0, import_bcs.fromHex)((0, import_sui_types.normalizeSuiAddress)(val)) : val,
|
|
79
|
+
output: (val) => (0, import_sui_types.normalizeSuiAddress)((0, import_bcs.toHex)(val))
|
|
80
80
|
});
|
|
81
81
|
const ObjectDigest = import_bcs.bcs.vector(import_bcs.bcs.u8()).transform({
|
|
82
82
|
name: "ObjectDigest",
|
|
83
|
-
input: (value) => (0, import_bcs.
|
|
84
|
-
output: (value) => (0, import_bcs.
|
|
83
|
+
input: (value) => (0, import_bcs.fromBase58)(value),
|
|
84
|
+
output: (value) => (0, import_bcs.toBase58)(new Uint8Array(value)),
|
|
85
85
|
validate: (value) => {
|
|
86
|
-
if ((0, import_bcs.
|
|
86
|
+
if ((0, import_bcs.fromBase58)(value).length !== 32) {
|
|
87
87
|
throw new Error("ObjectDigest must be 32 bytes");
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -106,8 +106,8 @@ const ObjectArg = import_bcs.bcs.enum("ObjectArg", {
|
|
|
106
106
|
const CallArg = import_bcs.bcs.enum("CallArg", {
|
|
107
107
|
Pure: import_bcs.bcs.struct("Pure", {
|
|
108
108
|
bytes: import_bcs.bcs.vector(import_bcs.bcs.u8()).transform({
|
|
109
|
-
input: (val) => typeof val === "string" ? (0, import_bcs.
|
|
110
|
-
output: (val) => (0, import_bcs.
|
|
109
|
+
input: (val) => typeof val === "string" ? (0, import_bcs.fromBase64)(val) : val,
|
|
110
|
+
output: (val) => (0, import_bcs.toBase64)(new Uint8Array(val))
|
|
111
111
|
})
|
|
112
112
|
}),
|
|
113
113
|
Object: ObjectArg
|
|
@@ -176,8 +176,8 @@ const Command = import_bcs.bcs.enum("Command", {
|
|
|
176
176
|
Publish: import_bcs.bcs.struct("Publish", {
|
|
177
177
|
modules: import_bcs.bcs.vector(
|
|
178
178
|
import_bcs.bcs.vector(import_bcs.bcs.u8()).transform({
|
|
179
|
-
input: (val) => typeof val === "string" ? (0, import_bcs.
|
|
180
|
-
output: (val) => (0, import_bcs.
|
|
179
|
+
input: (val) => typeof val === "string" ? (0, import_bcs.fromBase64)(val) : val,
|
|
180
|
+
output: (val) => (0, import_bcs.toBase64)(new Uint8Array(val))
|
|
181
181
|
})
|
|
182
182
|
),
|
|
183
183
|
dependencies: import_bcs.bcs.vector(Address)
|
|
@@ -201,8 +201,8 @@ const Command = import_bcs.bcs.enum("Command", {
|
|
|
201
201
|
Upgrade: import_bcs.bcs.struct("Upgrade", {
|
|
202
202
|
modules: import_bcs.bcs.vector(
|
|
203
203
|
import_bcs.bcs.vector(import_bcs.bcs.u8()).transform({
|
|
204
|
-
input: (val) => typeof val === "string" ? (0, import_bcs.
|
|
205
|
-
output: (val) => (0, import_bcs.
|
|
204
|
+
input: (val) => typeof val === "string" ? (0, import_bcs.fromBase64)(val) : val,
|
|
205
|
+
output: (val) => (0, import_bcs.toBase64)(new Uint8Array(val))
|
|
206
206
|
})
|
|
207
207
|
),
|
|
208
208
|
dependencies: import_bcs.bcs.vector(Address),
|
|
@@ -294,8 +294,8 @@ const MultiSig = import_bcs.bcs.struct("MultiSig", {
|
|
|
294
294
|
multisig_pk: MultiSigPublicKey
|
|
295
295
|
});
|
|
296
296
|
const base64String = import_bcs.bcs.vector(import_bcs.bcs.u8()).transform({
|
|
297
|
-
input: (val) => typeof val === "string" ? (0, import_bcs.
|
|
298
|
-
output: (val) => (0, import_bcs.
|
|
297
|
+
input: (val) => typeof val === "string" ? (0, import_bcs.fromBase64)(val) : val,
|
|
298
|
+
output: (val) => (0, import_bcs.toBase64)(new Uint8Array(val))
|
|
299
299
|
});
|
|
300
300
|
const SenderSignedTransaction = import_bcs.bcs.struct("SenderSignedTransaction", {
|
|
301
301
|
intentMessage: IntentMessage(TransactionData),
|
package/dist/cjs/bcs/bcs.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/bcs/bcs.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { BcsType, BcsTypeOptions } from '@mysten/bcs';\nimport { bcs,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { BcsType, BcsTypeOptions } from '@mysten/bcs';\nimport { bcs, fromBase58, fromBase64, fromHex, toBase58, toBase64, toHex } from '@mysten/bcs';\n\nimport { isValidSuiAddress, normalizeSuiAddress, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport { TypeTagSerializer } from './type-tag-serializer.js';\nimport type { TypeTag as TypeTagType } from './types.js';\n\nfunction unsafe_u64(options?: BcsTypeOptions<number>) {\n\treturn bcs\n\t\t.u64({\n\t\t\tname: 'unsafe_u64',\n\t\t\t...(options as object),\n\t\t})\n\t\t.transform({\n\t\t\tinput: (val: number | string) => val,\n\t\t\toutput: (val) => Number(val),\n\t\t});\n}\n\nfunction optionEnum<T extends BcsType<any, any>>(type: T) {\n\treturn bcs.enum('Option', {\n\t\tNone: null,\n\t\tSome: type,\n\t});\n}\n\nexport const Address = bcs.bytes(SUI_ADDRESS_LENGTH).transform({\n\tvalidate: (val) => {\n\t\tconst address = typeof val === 'string' ? val : toHex(val);\n\t\tif (!address || !isValidSuiAddress(normalizeSuiAddress(address))) {\n\t\t\tthrow new Error(`Invalid Sui address ${address}`);\n\t\t}\n\t},\n\tinput: (val: string | Uint8Array) =>\n\t\ttypeof val === 'string' ? fromHex(normalizeSuiAddress(val)) : val,\n\toutput: (val) => normalizeSuiAddress(toHex(val)),\n});\n\nexport const ObjectDigest = bcs.vector(bcs.u8()).transform({\n\tname: 'ObjectDigest',\n\tinput: (value: string) => fromBase58(value),\n\toutput: (value) => toBase58(new Uint8Array(value)),\n\tvalidate: (value) => {\n\t\tif (fromBase58(value).length !== 32) {\n\t\t\tthrow new Error('ObjectDigest must be 32 bytes');\n\t\t}\n\t},\n});\n\nexport const SuiObjectRef = bcs.struct('SuiObjectRef', {\n\tobjectId: Address,\n\tversion: bcs.u64(),\n\tdigest: ObjectDigest,\n});\n\nexport const SharedObjectRef = bcs.struct('SharedObjectRef', {\n\tobjectId: Address,\n\tinitialSharedVersion: bcs.u64(),\n\tmutable: bcs.bool(),\n});\n\nexport const ObjectArg = bcs.enum('ObjectArg', {\n\tImmOrOwnedObject: SuiObjectRef,\n\tSharedObject: SharedObjectRef,\n\tReceiving: SuiObjectRef,\n});\n\nexport const CallArg = bcs.enum('CallArg', {\n\tPure: bcs.struct('Pure', {\n\t\tbytes: bcs.vector(bcs.u8()).transform({\n\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t}),\n\t}),\n\tObject: ObjectArg,\n});\n\nconst InnerTypeTag: BcsType<TypeTagType, TypeTagType> = bcs.enum('TypeTag', {\n\tbool: null,\n\tu8: null,\n\tu64: null,\n\tu128: null,\n\taddress: null,\n\tsigner: null,\n\tvector: bcs.lazy(() => InnerTypeTag),\n\tstruct: bcs.lazy(() => StructTag),\n\tu16: null,\n\tu32: null,\n\tu256: null,\n}) as BcsType<TypeTagType>;\n\nexport const TypeTag = InnerTypeTag.transform({\n\tinput: (typeTag: string | TypeTagType) =>\n\t\ttypeof typeTag === 'string' ? TypeTagSerializer.parseFromStr(typeTag, true) : typeTag,\n\toutput: (typeTag: TypeTagType) => TypeTagSerializer.tagToString(typeTag),\n});\n\nexport const Argument = bcs.enum('Argument', {\n\tGasCoin: null,\n\tInput: bcs.u16(),\n\tResult: bcs.u16(),\n\tNestedResult: bcs.tuple([bcs.u16(), bcs.u16()]),\n});\n\nexport const ProgrammableMoveCall = bcs.struct('ProgrammableMoveCall', {\n\tpackage: Address,\n\tmodule: bcs.string(),\n\tfunction: bcs.string(),\n\ttypeArguments: bcs.vector(TypeTag),\n\targuments: bcs.vector(Argument),\n});\n\nexport const Command = bcs.enum('Command', {\n\t/**\n\t * A Move Call - any public Move function can be called via\n\t * this transaction. The results can be used that instant to pass\n\t * into the next transaction.\n\t */\n\tMoveCall: ProgrammableMoveCall,\n\t/**\n\t * Transfer vector of objects to a receiver.\n\t */\n\tTransferObjects: bcs.struct('TransferObjects', {\n\t\tobjects: bcs.vector(Argument),\n\t\taddress: Argument,\n\t}),\n\t// /**\n\t// * Split `amount` from a `coin`.\n\t// */\n\tSplitCoins: bcs.struct('SplitCoins', {\n\t\tcoin: Argument,\n\t\tamounts: bcs.vector(Argument),\n\t}),\n\t// /**\n\t// * Merge Vector of Coins (`sources`) into a `destination`.\n\t// */\n\tMergeCoins: bcs.struct('MergeCoins', {\n\t\tdestination: Argument,\n\t\tsources: bcs.vector(Argument),\n\t}),\n\t// /**\n\t// * Publish a Move module.\n\t// */\n\tPublish: bcs.struct('Publish', {\n\t\tmodules: bcs.vector(\n\t\t\tbcs.vector(bcs.u8()).transform({\n\t\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t\t}),\n\t\t),\n\t\tdependencies: bcs.vector(Address),\n\t}),\n\t// /**\n\t// * Build a vector of objects using the input arguments.\n\t// * It is impossible to export construct a `vector<T: key>` otherwise,\n\t// * so this call serves a utility function.\n\t// */\n\tMakeMoveVec: bcs.struct('MakeMoveVec', {\n\t\ttype: optionEnum(TypeTag).transform({\n\t\t\tinput: (val: string | null) =>\n\t\t\t\tval === null\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tNone: true,\n\t\t\t\t\t\t}\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tSome: val,\n\t\t\t\t\t\t},\n\t\t\toutput: (val) => val.Some ?? null,\n\t\t}),\n\t\telements: bcs.vector(Argument),\n\t}),\n\tUpgrade: bcs.struct('Upgrade', {\n\t\tmodules: bcs.vector(\n\t\t\tbcs.vector(bcs.u8()).transform({\n\t\t\t\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\t\t\t\toutput: (val) => toBase64(new Uint8Array(val)),\n\t\t\t}),\n\t\t),\n\t\tdependencies: bcs.vector(Address),\n\t\tpackage: Address,\n\t\tticket: Argument,\n\t}),\n});\n\nexport const ProgrammableTransaction = bcs.struct('ProgrammableTransaction', {\n\tinputs: bcs.vector(CallArg),\n\tcommands: bcs.vector(Command),\n});\n\nexport const TransactionKind = bcs.enum('TransactionKind', {\n\tProgrammableTransaction: ProgrammableTransaction,\n\tChangeEpoch: null,\n\tGenesis: null,\n\tConsensusCommitPrologue: null,\n});\n\nexport const TransactionExpiration = bcs.enum('TransactionExpiration', {\n\tNone: null,\n\tEpoch: unsafe_u64(),\n});\n\nexport const StructTag = bcs.struct('StructTag', {\n\taddress: Address,\n\tmodule: bcs.string(),\n\tname: bcs.string(),\n\ttypeParams: bcs.vector(InnerTypeTag),\n});\n\nexport const GasData = bcs.struct('GasData', {\n\tpayment: bcs.vector(SuiObjectRef),\n\towner: Address,\n\tprice: bcs.u64(),\n\tbudget: bcs.u64(),\n});\n\nexport const TransactionDataV1 = bcs.struct('TransactionDataV1', {\n\tkind: TransactionKind,\n\tsender: Address,\n\tgasData: GasData,\n\texpiration: TransactionExpiration,\n});\n\nexport const TransactionData = bcs.enum('TransactionData', {\n\tV1: TransactionDataV1,\n});\n\nexport const IntentScope = bcs.enum('IntentScope', {\n\tTransactionData: null,\n\tTransactionEffects: null,\n\tCheckpointSummary: null,\n\tPersonalMessage: null,\n});\n\nexport const IntentVersion = bcs.enum('IntentVersion', {\n\tV0: null,\n});\n\nexport const AppId = bcs.enum('AppId', {\n\tSui: null,\n});\n\nexport const Intent = bcs.struct('Intent', {\n\tscope: IntentScope,\n\tversion: IntentVersion,\n\tappId: AppId,\n});\n\nexport function IntentMessage<T extends BcsType<any>>(T: T) {\n\treturn bcs.struct(`IntentMessage<${T.name}>`, {\n\t\tintent: Intent,\n\t\tvalue: T,\n\t});\n}\n\nexport const CompressedSignature = bcs.enum('CompressedSignature', {\n\tED25519: bcs.fixedArray(64, bcs.u8()),\n\tSecp256k1: bcs.fixedArray(64, bcs.u8()),\n\tSecp256r1: bcs.fixedArray(64, bcs.u8()),\n\tZkLogin: bcs.vector(bcs.u8()),\n});\n\nexport const PublicKey = bcs.enum('PublicKey', {\n\tED25519: bcs.fixedArray(32, bcs.u8()),\n\tSecp256k1: bcs.fixedArray(33, bcs.u8()),\n\tSecp256r1: bcs.fixedArray(33, bcs.u8()),\n\tZkLogin: bcs.vector(bcs.u8()),\n});\n\nexport const MultiSigPkMap = bcs.struct('MultiSigPkMap', {\n\tpubKey: PublicKey,\n\tweight: bcs.u8(),\n});\n\nexport const MultiSigPublicKey = bcs.struct('MultiSigPublicKey', {\n\tpk_map: bcs.vector(MultiSigPkMap),\n\tthreshold: bcs.u16(),\n});\n\nexport const MultiSig = bcs.struct('MultiSig', {\n\tsigs: bcs.vector(CompressedSignature),\n\tbitmap: bcs.u16(),\n\tmultisig_pk: MultiSigPublicKey,\n});\n\nexport const base64String = bcs.vector(bcs.u8()).transform({\n\tinput: (val: string | Uint8Array) => (typeof val === 'string' ? fromBase64(val) : val),\n\toutput: (val) => toBase64(new Uint8Array(val)),\n});\n\nexport const SenderSignedTransaction = bcs.struct('SenderSignedTransaction', {\n\tintentMessage: IntentMessage(TransactionData),\n\ttxSignatures: bcs.vector(base64String),\n});\n\nexport const SenderSignedData = bcs.vector(SenderSignedTransaction, {\n\tname: 'SenderSignedData',\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -273,7 +273,7 @@ class SuiClient {
|
|
|
273
273
|
const result = await this.transport.request({
|
|
274
274
|
method: "sui_executeTransactionBlock",
|
|
275
275
|
params: [
|
|
276
|
-
typeof transactionBlock === "string" ? transactionBlock : (0, import_bcs.
|
|
276
|
+
typeof transactionBlock === "string" ? transactionBlock : (0, import_bcs.toBase64)(transactionBlock),
|
|
277
277
|
Array.isArray(signature) ? signature : [signature],
|
|
278
278
|
options
|
|
279
279
|
]
|
|
@@ -403,7 +403,7 @@ class SuiClient {
|
|
|
403
403
|
let devInspectTxBytes;
|
|
404
404
|
if ((0, import_transactions.isTransaction)(input.transactionBlock)) {
|
|
405
405
|
input.transactionBlock.setSenderIfNotSet(input.sender);
|
|
406
|
-
devInspectTxBytes = (0, import_bcs.
|
|
406
|
+
devInspectTxBytes = (0, import_bcs.toBase64)(
|
|
407
407
|
await input.transactionBlock.build({
|
|
408
408
|
client: this,
|
|
409
409
|
onlyTransactionKind: true
|
|
@@ -412,7 +412,7 @@ class SuiClient {
|
|
|
412
412
|
} else if (typeof input.transactionBlock === "string") {
|
|
413
413
|
devInspectTxBytes = input.transactionBlock;
|
|
414
414
|
} else if (input.transactionBlock instanceof Uint8Array) {
|
|
415
|
-
devInspectTxBytes = (0, import_bcs.
|
|
415
|
+
devInspectTxBytes = (0, import_bcs.toBase64)(input.transactionBlock);
|
|
416
416
|
} else {
|
|
417
417
|
throw new Error("Unknown transaction block format.");
|
|
418
418
|
}
|
|
@@ -428,7 +428,7 @@ class SuiClient {
|
|
|
428
428
|
return await this.transport.request({
|
|
429
429
|
method: "sui_dryRunTransactionBlock",
|
|
430
430
|
params: [
|
|
431
|
-
typeof input.transactionBlock === "string" ? input.transactionBlock : (0, import_bcs.
|
|
431
|
+
typeof input.transactionBlock === "string" ? input.transactionBlock : (0, import_bcs.toBase64)(input.transactionBlock)
|
|
432
432
|
]
|
|
433
433
|
});
|
|
434
434
|
}
|
|
@@ -535,8 +535,8 @@ class SuiClient {
|
|
|
535
535
|
// TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.
|
|
536
536
|
async getChainIdentifier() {
|
|
537
537
|
const checkpoint = await this.getCheckpoint({ id: "0" });
|
|
538
|
-
const bytes = (0, import_bcs.
|
|
539
|
-
return (0, import_bcs.
|
|
538
|
+
const bytes = (0, import_bcs.fromBase58)(checkpoint.digest);
|
|
539
|
+
return (0, import_bcs.toHex)(bytes.slice(0, 4));
|
|
540
540
|
}
|
|
541
541
|
async resolveNameServiceAddress(input) {
|
|
542
542
|
return await this.transport.request({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/client/client.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromB58, toB64, toHEX } from '@mysten/bcs';\n\nimport type { Signer } from '../cryptography/index.js';\nimport type { Transaction } from '../transactions/index.js';\nimport { isTransaction } from '../transactions/index.js';\nimport {\n\tisValidSuiAddress,\n\tisValidSuiObjectId,\n\tisValidTransactionDigest,\n\tnormalizeSuiAddress,\n\tnormalizeSuiObjectId,\n} from '../utils/sui-types.js';\nimport { normalizeSuiNSName } from '../utils/suins.js';\nimport { SuiHTTPTransport } from './http-transport.js';\nimport type { SuiTransport } from './http-transport.js';\nimport type {\n\tAddressMetrics,\n\tAllEpochsAddressMetrics,\n\tCheckpoint,\n\tCheckpointPage,\n\tCoinBalance,\n\tCoinMetadata,\n\tCoinSupply,\n\tCommitteeInfo,\n\tDelegatedStake,\n\tDevInspectResults,\n\tDevInspectTransactionBlockParams,\n\tDryRunTransactionBlockParams,\n\tDryRunTransactionBlockResponse,\n\tDynamicFieldPage,\n\tEpochInfo,\n\tEpochMetricsPage,\n\tEpochPage,\n\tExecuteTransactionBlockParams,\n\tGetAllBalancesParams,\n\tGetAllCoinsParams,\n\tGetBalanceParams,\n\tGetCheckpointParams,\n\tGetCheckpointsParams,\n\tGetCoinMetadataParams,\n\tGetCoinsParams,\n\tGetCommitteeInfoParams,\n\tGetDynamicFieldObjectParams,\n\tGetDynamicFieldsParams,\n\tGetMoveFunctionArgTypesParams,\n\tGetNormalizedMoveFunctionParams,\n\tGetNormalizedMoveModuleParams,\n\tGetNormalizedMoveModulesByPackageParams,\n\tGetNormalizedMoveStructParams,\n\tGetObjectParams,\n\tGetOwnedObjectsParams,\n\tGetProtocolConfigParams,\n\tGetStakesByIdsParams,\n\tGetStakesParams,\n\tGetTotalSupplyParams,\n\tGetTransactionBlockParams,\n\tMoveCallMetrics,\n\tMultiGetObjectsParams,\n\tMultiGetTransactionBlocksParams,\n\tNetworkMetrics,\n\tObjectRead,\n\tOrder,\n\tPaginatedCoins,\n\tPaginatedEvents,\n\tPaginatedObjectsResponse,\n\tPaginatedTransactionResponse,\n\tProtocolConfig,\n\tQueryEventsParams,\n\tQueryTransactionBlocksParams,\n\tResolvedNameServiceNames,\n\tResolveNameServiceAddressParams,\n\tResolveNameServiceNamesParams,\n\tSubscribeEventParams,\n\tSubscribeTransactionParams,\n\tSuiEvent,\n\tSuiMoveFunctionArgType,\n\tSuiMoveNormalizedFunction,\n\tSuiMoveNormalizedModule,\n\tSuiMoveNormalizedModules,\n\tSuiMoveNormalizedStruct,\n\tSuiObjectResponse,\n\tSuiObjectResponseQuery,\n\tSuiSystemStateSummary,\n\tSuiTransactionBlockResponse,\n\tSuiTransactionBlockResponseQuery,\n\tTransactionEffects,\n\tTryGetPastObjectParams,\n\tUnsubscribe,\n\tValidatorsApy,\n} from './types/index.js';\n\nexport interface PaginationArguments<Cursor> {\n\t/** Optional paging cursor */\n\tcursor?: Cursor;\n\t/** Maximum item returned per page */\n\tlimit?: number | null;\n}\n\nexport interface OrderArguments {\n\torder?: Order | null;\n}\n\n/**\n * Configuration options for the SuiClient\n * You must provide either a `url` or a `transport`\n */\nexport type SuiClientOptions = NetworkOrTransport;\n\ntype NetworkOrTransport =\n\t| {\n\t\t\turl: string;\n\t\t\ttransport?: never;\n\t }\n\t| {\n\t\t\ttransport: SuiTransport;\n\t\t\turl?: never;\n\t };\n\nconst SUI_CLIENT_BRAND = Symbol.for('@mysten/SuiClient') as never;\n\nexport function isSuiClient(client: unknown): client is SuiClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport class SuiClient {\n\tprotected transport: SuiTransport;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Establish a connection to a Sui RPC endpoint\n\t *\n\t * @param options configuration options for the API Client\n\t */\n\tconstructor(options: SuiClientOptions) {\n\t\tthis.transport = options.transport ?? new SuiHTTPTransport({ url: options.url });\n\t}\n\n\tasync getRpcApiVersion(): Promise<string | undefined> {\n\t\tconst resp = await this.transport.request<{ info: { version: string } }>({\n\t\t\tmethod: 'rpc.discover',\n\t\t\tparams: [],\n\t\t});\n\n\t\treturn resp.info.version;\n\t}\n\n\t/**\n\t * Get all Coin<`coin_type`> objects owned by an address.\n\t */\n\tasync getCoins(input: GetCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoins',\n\t\t\tparams: [input.owner, input.coinType, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get all Coin objects owned by an address.\n\t */\n\tasync getAllCoins(input: GetAllCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllCoins',\n\t\t\tparams: [input.owner, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for one coin type, owned by the address owner.\n\t */\n\tasync getBalance(input: GetBalanceParams): Promise<CoinBalance> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getBalance',\n\t\t\tparams: [input.owner, input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for all coin types, owned by the address owner.\n\t */\n\tasync getAllBalances(input: GetAllBalancesParams): Promise<CoinBalance[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getAllBalances', params: [input.owner] });\n\t}\n\n\t/**\n\t * Fetch CoinMetadata for a given coin type\n\t */\n\tasync getCoinMetadata(input: GetCoinMetadataParams): Promise<CoinMetadata | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoinMetadata',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Fetch total supply for a coin\n\t */\n\tasync getTotalSupply(input: GetTotalSupplyParams): Promise<CoinSupply> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getTotalSupply',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Invoke any RPC method\n\t * @param method the method to be invoked\n\t * @param args the arguments to be passed to the RPC request\n\t */\n\tasync call<T = unknown>(method: string, params: unknown[]): Promise<T> {\n\t\treturn await this.transport.request({ method, params });\n\t}\n\n\t/**\n\t * Get Move function argument types like read, write and full access\n\t */\n\tasync getMoveFunctionArgTypes(\n\t\tinput: GetMoveFunctionArgTypesParams,\n\t): Promise<SuiMoveFunctionArgType[]> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getMoveFunctionArgTypes',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a map from module name to\n\t * structured representations of Move modules\n\t */\n\tasync getNormalizedMoveModulesByPackage(\n\t\tinput: GetNormalizedMoveModulesByPackageParams,\n\t): Promise<SuiMoveNormalizedModules> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModulesByPackage',\n\t\t\tparams: [input.package],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move module\n\t */\n\tasync getNormalizedMoveModule(\n\t\tinput: GetNormalizedMoveModuleParams,\n\t): Promise<SuiMoveNormalizedModule> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModule',\n\t\t\tparams: [input.package, input.module],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move function\n\t */\n\tasync getNormalizedMoveFunction(\n\t\tinput: GetNormalizedMoveFunctionParams,\n\t): Promise<SuiMoveNormalizedFunction> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveFunction',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move struct\n\t */\n\tasync getNormalizedMoveStruct(\n\t\tinput: GetNormalizedMoveStructParams,\n\t): Promise<SuiMoveNormalizedStruct> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveStruct',\n\t\t\tparams: [input.package, input.module, input.struct],\n\t\t});\n\t}\n\n\t/**\n\t * Get all objects owned by an address\n\t */\n\tasync getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getOwnedObjects',\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiObjectResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Get details about an object\n\t */\n\tasync getObject(input: GetObjectParams): Promise<SuiObjectResponse> {\n\t\tif (!input.id || !isValidSuiObjectId(normalizeSuiObjectId(input.id))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getObject',\n\t\t\tparams: [input.id, input.options],\n\t\t});\n\t}\n\n\tasync tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_tryGetPastObject',\n\t\t\tparams: [input.id, input.version, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t */\n\tasync multiGetObjects(input: MultiGetObjectsParams): Promise<SuiObjectResponse[]> {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Object id ${id}`);\n\t\t\t}\n\t\t});\n\t\tconst hasDuplicates = input.ids.length !== new Set(input.ids).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetObjects',\n\t\t\tparams: [input.ids, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Get transaction blocks for a given query criteria\n\t */\n\tasync queryTransactionBlocks(\n\t\tinput: QueryTransactionBlocksParams,\n\t): Promise<PaginatedTransactionResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryTransactionBlocks',\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiTransactionBlockResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\tasync getTransactionBlock(\n\t\tinput: GetTransactionBlockParams,\n\t): Promise<SuiTransactionBlockResponse> {\n\t\tif (!isValidTransactionDigest(input.digest)) {\n\t\t\tthrow new Error('Invalid Transaction digest');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getTransactionBlock',\n\t\t\tparams: [input.digest, input.options],\n\t\t});\n\t}\n\n\tasync multiGetTransactionBlocks(\n\t\tinput: MultiGetTransactionBlocksParams,\n\t): Promise<SuiTransactionBlockResponse[]> {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) {\n\t\t\t\tthrow new Error(`Invalid Transaction digest ${d}`);\n\t\t\t}\n\t\t});\n\n\t\tconst hasDuplicates = input.digests.length !== new Set(input.digests).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetTransactionBlocks',\n\t\t\tparams: [input.digests, input.options],\n\t\t});\n\t}\n\n\tasync executeTransactionBlock({\n\t\ttransactionBlock,\n\t\tsignature,\n\t\toptions,\n\t\trequestType,\n\t}: ExecuteTransactionBlockParams): Promise<SuiTransactionBlockResponse> {\n\t\tconst result: SuiTransactionBlockResponse = await this.transport.request({\n\t\t\tmethod: 'sui_executeTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof transactionBlock === 'string' ? transactionBlock : toB64(transactionBlock),\n\t\t\t\tArray.isArray(signature) ? signature : [signature],\n\t\t\t\toptions,\n\t\t\t],\n\t\t});\n\n\t\tif (requestType === 'WaitForLocalExecution') {\n\t\t\ttry {\n\t\t\t\tawait this.waitForTransaction({\n\t\t\t\t\tdigest: result.digest,\n\t\t\t\t});\n\t\t\t} catch (_) {\n\t\t\t\t// Ignore error while waiting for transaction\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tsigner,\n\t\t...input\n\t}: {\n\t\ttransaction: Uint8Array | Transaction;\n\t\tsigner: Signer;\n\t} & Omit<\n\t\tExecuteTransactionBlockParams,\n\t\t'transactionBlock' | 'signature'\n\t>): Promise<SuiTransactionBlockResponse> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input,\n\t\t});\n\t}\n\n\t/**\n\t * Get total number of transactions\n\t */\n\n\tasync getTotalTransactionBlocks(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'sui_getTotalTransactionBlocks',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Getting the reference gas price for the network\n\t */\n\tasync getReferenceGasPrice(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'suix_getReferenceGasPrice',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Return the delegated stakes for an address\n\t */\n\tasync getStakes(input: GetStakesParams): Promise<DelegatedStake[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getStakes', params: [input.owner] });\n\t}\n\n\t/**\n\t * Return the delegated stakes queried by id.\n\t */\n\tasync getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]> {\n\t\tinput.stakedSuiIds.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Stake id ${id}`);\n\t\t\t}\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getStakesByIds',\n\t\t\tparams: [input.stakedSuiIds],\n\t\t});\n\t}\n\n\t/**\n\t * Return the latest system state content.\n\t */\n\tasync getLatestSuiSystemState(): Promise<SuiSystemStateSummary> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestSuiSystemState', params: [] });\n\t}\n\n\t/**\n\t * Get events for a given query criteria\n\t */\n\tasync queryEvents(input: QueryEventsParams): Promise<PaginatedEvents> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryEvents',\n\t\t\tparams: [\n\t\t\t\tinput.query,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Subscribe to get notifications whenever an event matching the filter occurs\n\t *\n\t * @deprecated\n\t */\n\tasync subscribeEvent(\n\t\tinput: SubscribeEventParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: SuiEvent) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeEvent',\n\t\t\tunsubscribe: 'suix_unsubscribeEvent',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\tasync subscribeTransaction(\n\t\tinput: SubscribeTransactionParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: TransactionEffects) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeTransaction',\n\t\t\tunsubscribe: 'suix_unsubscribeTransaction',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\t/**\n\t * Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t * transaction (or Move call) with any arguments. Detailed results are\n\t * provided, including both the transaction effects and any return values.\n\t */\n\tasync devInspectTransactionBlock(\n\t\tinput: DevInspectTransactionBlockParams,\n\t): Promise<DevInspectResults> {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toB64(\n\t\t\t\tawait input.transactionBlock.build({\n\t\t\t\t\tclient: this,\n\t\t\t\t\tonlyTransactionKind: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (typeof input.transactionBlock === 'string') {\n\t\t\tdevInspectTxBytes = input.transactionBlock;\n\t\t} else if (input.transactionBlock instanceof Uint8Array) {\n\t\t\tdevInspectTxBytes = toB64(input.transactionBlock);\n\t\t} else {\n\t\t\tthrow new Error('Unknown transaction block format.');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_devInspectTransactionBlock',\n\t\t\tparams: [input.sender, devInspectTxBytes, input.gasPrice?.toString(), input.epoch],\n\t\t});\n\t}\n\n\t/**\n\t * Dry run a transaction block and return the result.\n\t */\n\tasync dryRunTransactionBlock(\n\t\tinput: DryRunTransactionBlockParams,\n\t): Promise<DryRunTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_dryRunTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toB64(input.transactionBlock),\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Return the list of dynamic field objects owned by an object\n\t */\n\tasync getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage> {\n\t\tif (!input.parentId || !isValidSuiObjectId(normalizeSuiObjectId(input.parentId))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFields',\n\t\t\tparams: [input.parentId, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Return the dynamic field object information for a specified object\n\t */\n\tasync getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<SuiObjectResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFieldObject',\n\t\t\tparams: [input.parentId, input.name],\n\t\t});\n\t}\n\n\t/**\n\t * Get the sequence number of the latest checkpoint that has been executed\n\t */\n\tasync getLatestCheckpointSequenceNumber(): Promise<string> {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: 'sui_getLatestCheckpointSequenceNumber',\n\t\t\tparams: [],\n\t\t});\n\t\treturn String(resp);\n\t}\n\n\t/**\n\t * Returns information about a given checkpoint\n\t */\n\tasync getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint> {\n\t\treturn await this.transport.request({ method: 'sui_getCheckpoint', params: [input.id] });\n\t}\n\n\t/**\n\t * Returns historical checkpoints paginated\n\t */\n\tasync getCheckpoints(\n\t\tinput: PaginationArguments<CheckpointPage['nextCursor']> & GetCheckpointsParams,\n\t): Promise<CheckpointPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getCheckpoints',\n\t\t\tparams: [input.cursor, input?.limit, input.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCommitteeInfo(input?: GetCommitteeInfoParams): Promise<CommitteeInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCommitteeInfo',\n\t\t\tparams: [input?.epoch],\n\t\t});\n\t}\n\n\tasync getNetworkMetrics(): Promise<NetworkMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getNetworkMetrics', params: [] });\n\t}\n\n\tasync getAddressMetrics(): Promise<AddressMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestAddressMetrics', params: [] });\n\t}\n\n\tasync getEpochMetrics(\n\t\tinput?: { descendingOrder?: boolean } & PaginationArguments<EpochMetricsPage['nextCursor']>,\n\t): Promise<EpochMetricsPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochMetrics',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\tasync getAllEpochAddressMetrics(input?: {\n\t\tdescendingOrder?: boolean;\n\t}): Promise<AllEpochsAddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllEpochAddressMetrics',\n\t\t\tparams: [input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getEpochs(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t} & PaginationArguments<EpochPage['nextCursor']>,\n\t): Promise<EpochPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochs',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of top move calls by usage\n\t */\n\tasync getMoveCallMetrics(): Promise<MoveCallMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getMoveCallMetrics', params: [] });\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCurrentEpoch(): Promise<EpochInfo> {\n\t\treturn await this.transport.request({ method: 'suix_getCurrentEpoch', params: [] });\n\t}\n\n\t/**\n\t * Return the Validators APYs\n\t */\n\tasync getValidatorsApy(): Promise<ValidatorsApy> {\n\t\treturn await this.transport.request({ method: 'suix_getValidatorsApy', params: [] });\n\t}\n\n\t// TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.\n\tasync getChainIdentifier(): Promise<string> {\n\t\tconst checkpoint = await this.getCheckpoint({ id: '0' });\n\t\tconst bytes = fromB58(checkpoint.digest);\n\t\treturn toHEX(bytes.slice(0, 4));\n\t}\n\n\tasync resolveNameServiceAddress(input: ResolveNameServiceAddressParams): Promise<string | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_resolveNameServiceAddress',\n\t\t\tparams: [input.name],\n\t\t});\n\t}\n\n\tasync resolveNameServiceNames({\n\t\tformat = 'dot',\n\t\t...input\n\t}: ResolveNameServiceNamesParams & {\n\t\tformat?: 'at' | 'dot';\n\t}): Promise<ResolvedNameServiceNames> {\n\t\tconst { nextCursor, hasNextPage, data }: ResolvedNameServiceNames =\n\t\t\tawait this.transport.request({\n\t\t\t\tmethod: 'suix_resolveNameServiceNames',\n\t\t\t\tparams: [input.address, input.cursor, input.limit],\n\t\t\t});\n\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeSuiNSName(name, format)),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(input?: GetProtocolConfigParams): Promise<ProtocolConfig> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getProtocolConfig',\n\t\t\tparams: [input?.version],\n\t\t});\n\t}\n\n\t/**\n\t * Wait for a transaction block result to be available over the API.\n\t * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t * be available via the API.\n\t * This currently polls the `getTransactionBlock` API to check for the transaction.\n\t */\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\tpollInterval = 2 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for a transaction block. Defaults to one minute. */\n\t\ttimeout?: number;\n\t\t/** The amount of time to wait between checks for the transaction block. Defaults to 2 seconds. */\n\t\tpollInterval?: number;\n\t} & Parameters<SuiClient['getTransactionBlock']>[0]): Promise<SuiTransactionBlockResponse> {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener('abort', () => reject(timeoutSignal.reason));\n\t\t});\n\n\t\ttimeoutPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch (e) {\n\t\t\t\t// Wait for either the next poll interval, or the timeout.\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, pollInterval)),\n\t\t\t\t\ttimeoutPromise,\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\ttimeoutSignal.throwIfAborted();\n\n\t\t// This should never happen, because the above case should always throw, but just adding it in the event that something goes horribly wrong.\n\t\tthrow new Error('Unexpected error while waiting for transaction block.');\n\t}\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromBase58, toBase64, toHex } from '@mysten/bcs';\n\nimport type { Signer } from '../cryptography/index.js';\nimport type { Transaction } from '../transactions/index.js';\nimport { isTransaction } from '../transactions/index.js';\nimport {\n\tisValidSuiAddress,\n\tisValidSuiObjectId,\n\tisValidTransactionDigest,\n\tnormalizeSuiAddress,\n\tnormalizeSuiObjectId,\n} from '../utils/sui-types.js';\nimport { normalizeSuiNSName } from '../utils/suins.js';\nimport { SuiHTTPTransport } from './http-transport.js';\nimport type { SuiTransport } from './http-transport.js';\nimport type {\n\tAddressMetrics,\n\tAllEpochsAddressMetrics,\n\tCheckpoint,\n\tCheckpointPage,\n\tCoinBalance,\n\tCoinMetadata,\n\tCoinSupply,\n\tCommitteeInfo,\n\tDelegatedStake,\n\tDevInspectResults,\n\tDevInspectTransactionBlockParams,\n\tDryRunTransactionBlockParams,\n\tDryRunTransactionBlockResponse,\n\tDynamicFieldPage,\n\tEpochInfo,\n\tEpochMetricsPage,\n\tEpochPage,\n\tExecuteTransactionBlockParams,\n\tGetAllBalancesParams,\n\tGetAllCoinsParams,\n\tGetBalanceParams,\n\tGetCheckpointParams,\n\tGetCheckpointsParams,\n\tGetCoinMetadataParams,\n\tGetCoinsParams,\n\tGetCommitteeInfoParams,\n\tGetDynamicFieldObjectParams,\n\tGetDynamicFieldsParams,\n\tGetMoveFunctionArgTypesParams,\n\tGetNormalizedMoveFunctionParams,\n\tGetNormalizedMoveModuleParams,\n\tGetNormalizedMoveModulesByPackageParams,\n\tGetNormalizedMoveStructParams,\n\tGetObjectParams,\n\tGetOwnedObjectsParams,\n\tGetProtocolConfigParams,\n\tGetStakesByIdsParams,\n\tGetStakesParams,\n\tGetTotalSupplyParams,\n\tGetTransactionBlockParams,\n\tMoveCallMetrics,\n\tMultiGetObjectsParams,\n\tMultiGetTransactionBlocksParams,\n\tNetworkMetrics,\n\tObjectRead,\n\tOrder,\n\tPaginatedCoins,\n\tPaginatedEvents,\n\tPaginatedObjectsResponse,\n\tPaginatedTransactionResponse,\n\tProtocolConfig,\n\tQueryEventsParams,\n\tQueryTransactionBlocksParams,\n\tResolvedNameServiceNames,\n\tResolveNameServiceAddressParams,\n\tResolveNameServiceNamesParams,\n\tSubscribeEventParams,\n\tSubscribeTransactionParams,\n\tSuiEvent,\n\tSuiMoveFunctionArgType,\n\tSuiMoveNormalizedFunction,\n\tSuiMoveNormalizedModule,\n\tSuiMoveNormalizedModules,\n\tSuiMoveNormalizedStruct,\n\tSuiObjectResponse,\n\tSuiObjectResponseQuery,\n\tSuiSystemStateSummary,\n\tSuiTransactionBlockResponse,\n\tSuiTransactionBlockResponseQuery,\n\tTransactionEffects,\n\tTryGetPastObjectParams,\n\tUnsubscribe,\n\tValidatorsApy,\n} from './types/index.js';\n\nexport interface PaginationArguments<Cursor> {\n\t/** Optional paging cursor */\n\tcursor?: Cursor;\n\t/** Maximum item returned per page */\n\tlimit?: number | null;\n}\n\nexport interface OrderArguments {\n\torder?: Order | null;\n}\n\n/**\n * Configuration options for the SuiClient\n * You must provide either a `url` or a `transport`\n */\nexport type SuiClientOptions = NetworkOrTransport;\n\ntype NetworkOrTransport =\n\t| {\n\t\t\turl: string;\n\t\t\ttransport?: never;\n\t }\n\t| {\n\t\t\ttransport: SuiTransport;\n\t\t\turl?: never;\n\t };\n\nconst SUI_CLIENT_BRAND = Symbol.for('@mysten/SuiClient') as never;\n\nexport function isSuiClient(client: unknown): client is SuiClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport class SuiClient {\n\tprotected transport: SuiTransport;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\t/**\n\t * Establish a connection to a Sui RPC endpoint\n\t *\n\t * @param options configuration options for the API Client\n\t */\n\tconstructor(options: SuiClientOptions) {\n\t\tthis.transport = options.transport ?? new SuiHTTPTransport({ url: options.url });\n\t}\n\n\tasync getRpcApiVersion(): Promise<string | undefined> {\n\t\tconst resp = await this.transport.request<{ info: { version: string } }>({\n\t\t\tmethod: 'rpc.discover',\n\t\t\tparams: [],\n\t\t});\n\n\t\treturn resp.info.version;\n\t}\n\n\t/**\n\t * Get all Coin<`coin_type`> objects owned by an address.\n\t */\n\tasync getCoins(input: GetCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoins',\n\t\t\tparams: [input.owner, input.coinType, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get all Coin objects owned by an address.\n\t */\n\tasync getAllCoins(input: GetAllCoinsParams): Promise<PaginatedCoins> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllCoins',\n\t\t\tparams: [input.owner, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for one coin type, owned by the address owner.\n\t */\n\tasync getBalance(input: GetBalanceParams): Promise<CoinBalance> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getBalance',\n\t\t\tparams: [input.owner, input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Get the total coin balance for all coin types, owned by the address owner.\n\t */\n\tasync getAllBalances(input: GetAllBalancesParams): Promise<CoinBalance[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getAllBalances', params: [input.owner] });\n\t}\n\n\t/**\n\t * Fetch CoinMetadata for a given coin type\n\t */\n\tasync getCoinMetadata(input: GetCoinMetadataParams): Promise<CoinMetadata | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCoinMetadata',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Fetch total supply for a coin\n\t */\n\tasync getTotalSupply(input: GetTotalSupplyParams): Promise<CoinSupply> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getTotalSupply',\n\t\t\tparams: [input.coinType],\n\t\t});\n\t}\n\n\t/**\n\t * Invoke any RPC method\n\t * @param method the method to be invoked\n\t * @param args the arguments to be passed to the RPC request\n\t */\n\tasync call<T = unknown>(method: string, params: unknown[]): Promise<T> {\n\t\treturn await this.transport.request({ method, params });\n\t}\n\n\t/**\n\t * Get Move function argument types like read, write and full access\n\t */\n\tasync getMoveFunctionArgTypes(\n\t\tinput: GetMoveFunctionArgTypesParams,\n\t): Promise<SuiMoveFunctionArgType[]> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getMoveFunctionArgTypes',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a map from module name to\n\t * structured representations of Move modules\n\t */\n\tasync getNormalizedMoveModulesByPackage(\n\t\tinput: GetNormalizedMoveModulesByPackageParams,\n\t): Promise<SuiMoveNormalizedModules> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModulesByPackage',\n\t\t\tparams: [input.package],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move module\n\t */\n\tasync getNormalizedMoveModule(\n\t\tinput: GetNormalizedMoveModuleParams,\n\t): Promise<SuiMoveNormalizedModule> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveModule',\n\t\t\tparams: [input.package, input.module],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move function\n\t */\n\tasync getNormalizedMoveFunction(\n\t\tinput: GetNormalizedMoveFunctionParams,\n\t): Promise<SuiMoveNormalizedFunction> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveFunction',\n\t\t\tparams: [input.package, input.module, input.function],\n\t\t});\n\t}\n\n\t/**\n\t * Get a structured representation of Move struct\n\t */\n\tasync getNormalizedMoveStruct(\n\t\tinput: GetNormalizedMoveStructParams,\n\t): Promise<SuiMoveNormalizedStruct> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getNormalizedMoveStruct',\n\t\t\tparams: [input.package, input.module, input.struct],\n\t\t});\n\t}\n\n\t/**\n\t * Get all objects owned by an address\n\t */\n\tasync getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getOwnedObjects',\n\t\t\tparams: [\n\t\t\t\tinput.owner,\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiObjectResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Get details about an object\n\t */\n\tasync getObject(input: GetObjectParams): Promise<SuiObjectResponse> {\n\t\tif (!input.id || !isValidSuiObjectId(normalizeSuiObjectId(input.id))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getObject',\n\t\t\tparams: [input.id, input.options],\n\t\t});\n\t}\n\n\tasync tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_tryGetPastObject',\n\t\t\tparams: [input.id, input.version, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Batch get details about a list of objects. If any of the object ids are duplicates the call will fail\n\t */\n\tasync multiGetObjects(input: MultiGetObjectsParams): Promise<SuiObjectResponse[]> {\n\t\tinput.ids.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Object id ${id}`);\n\t\t\t}\n\t\t});\n\t\tconst hasDuplicates = input.ids.length !== new Set(input.ids).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate object ids in batch call ${input.ids}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetObjects',\n\t\t\tparams: [input.ids, input.options],\n\t\t});\n\t}\n\n\t/**\n\t * Get transaction blocks for a given query criteria\n\t */\n\tasync queryTransactionBlocks(\n\t\tinput: QueryTransactionBlocksParams,\n\t): Promise<PaginatedTransactionResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryTransactionBlocks',\n\t\t\tparams: [\n\t\t\t\t{\n\t\t\t\t\tfilter: input.filter,\n\t\t\t\t\toptions: input.options,\n\t\t\t\t} as SuiTransactionBlockResponseQuery,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\tasync getTransactionBlock(\n\t\tinput: GetTransactionBlockParams,\n\t): Promise<SuiTransactionBlockResponse> {\n\t\tif (!isValidTransactionDigest(input.digest)) {\n\t\t\tthrow new Error('Invalid Transaction digest');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getTransactionBlock',\n\t\t\tparams: [input.digest, input.options],\n\t\t});\n\t}\n\n\tasync multiGetTransactionBlocks(\n\t\tinput: MultiGetTransactionBlocksParams,\n\t): Promise<SuiTransactionBlockResponse[]> {\n\t\tinput.digests.forEach((d) => {\n\t\t\tif (!isValidTransactionDigest(d)) {\n\t\t\t\tthrow new Error(`Invalid Transaction digest ${d}`);\n\t\t\t}\n\t\t});\n\n\t\tconst hasDuplicates = input.digests.length !== new Set(input.digests).size;\n\t\tif (hasDuplicates) {\n\t\t\tthrow new Error(`Duplicate digests in batch call ${input.digests}`);\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_multiGetTransactionBlocks',\n\t\t\tparams: [input.digests, input.options],\n\t\t});\n\t}\n\n\tasync executeTransactionBlock({\n\t\ttransactionBlock,\n\t\tsignature,\n\t\toptions,\n\t\trequestType,\n\t}: ExecuteTransactionBlockParams): Promise<SuiTransactionBlockResponse> {\n\t\tconst result: SuiTransactionBlockResponse = await this.transport.request({\n\t\t\tmethod: 'sui_executeTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof transactionBlock === 'string' ? transactionBlock : toBase64(transactionBlock),\n\t\t\t\tArray.isArray(signature) ? signature : [signature],\n\t\t\t\toptions,\n\t\t\t],\n\t\t});\n\n\t\tif (requestType === 'WaitForLocalExecution') {\n\t\t\ttry {\n\t\t\t\tawait this.waitForTransaction({\n\t\t\t\t\tdigest: result.digest,\n\t\t\t\t});\n\t\t\t} catch (_) {\n\t\t\t\t// Ignore error while waiting for transaction\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tasync signAndExecuteTransaction({\n\t\ttransaction,\n\t\tsigner,\n\t\t...input\n\t}: {\n\t\ttransaction: Uint8Array | Transaction;\n\t\tsigner: Signer;\n\t} & Omit<\n\t\tExecuteTransactionBlockParams,\n\t\t'transactionBlock' | 'signature'\n\t>): Promise<SuiTransactionBlockResponse> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature, bytes } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransactionBlock({\n\t\t\ttransactionBlock: bytes,\n\t\t\tsignature,\n\t\t\t...input,\n\t\t});\n\t}\n\n\t/**\n\t * Get total number of transactions\n\t */\n\n\tasync getTotalTransactionBlocks(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'sui_getTotalTransactionBlocks',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Getting the reference gas price for the network\n\t */\n\tasync getReferenceGasPrice(): Promise<bigint> {\n\t\tconst resp = await this.transport.request<string>({\n\t\t\tmethod: 'suix_getReferenceGasPrice',\n\t\t\tparams: [],\n\t\t});\n\t\treturn BigInt(resp);\n\t}\n\n\t/**\n\t * Return the delegated stakes for an address\n\t */\n\tasync getStakes(input: GetStakesParams): Promise<DelegatedStake[]> {\n\t\tif (!input.owner || !isValidSuiAddress(normalizeSuiAddress(input.owner))) {\n\t\t\tthrow new Error('Invalid Sui address');\n\t\t}\n\t\treturn await this.transport.request({ method: 'suix_getStakes', params: [input.owner] });\n\t}\n\n\t/**\n\t * Return the delegated stakes queried by id.\n\t */\n\tasync getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]> {\n\t\tinput.stakedSuiIds.forEach((id) => {\n\t\t\tif (!id || !isValidSuiObjectId(normalizeSuiObjectId(id))) {\n\t\t\t\tthrow new Error(`Invalid Sui Stake id ${id}`);\n\t\t\t}\n\t\t});\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getStakesByIds',\n\t\t\tparams: [input.stakedSuiIds],\n\t\t});\n\t}\n\n\t/**\n\t * Return the latest system state content.\n\t */\n\tasync getLatestSuiSystemState(): Promise<SuiSystemStateSummary> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestSuiSystemState', params: [] });\n\t}\n\n\t/**\n\t * Get events for a given query criteria\n\t */\n\tasync queryEvents(input: QueryEventsParams): Promise<PaginatedEvents> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_queryEvents',\n\t\t\tparams: [\n\t\t\t\tinput.query,\n\t\t\t\tinput.cursor,\n\t\t\t\tinput.limit,\n\t\t\t\t(input.order || 'descending') === 'descending',\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Subscribe to get notifications whenever an event matching the filter occurs\n\t *\n\t * @deprecated\n\t */\n\tasync subscribeEvent(\n\t\tinput: SubscribeEventParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: SuiEvent) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeEvent',\n\t\t\tunsubscribe: 'suix_unsubscribeEvent',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\tasync subscribeTransaction(\n\t\tinput: SubscribeTransactionParams & {\n\t\t\t/** function to run when we receive a notification of a new event matching the filter */\n\t\t\tonMessage: (event: TransactionEffects) => void;\n\t\t},\n\t): Promise<Unsubscribe> {\n\t\treturn this.transport.subscribe({\n\t\t\tmethod: 'suix_subscribeTransaction',\n\t\t\tunsubscribe: 'suix_unsubscribeTransaction',\n\t\t\tparams: [input.filter],\n\t\t\tonMessage: input.onMessage,\n\t\t});\n\t}\n\n\t/**\n\t * Runs the transaction block in dev-inspect mode. Which allows for nearly any\n\t * transaction (or Move call) with any arguments. Detailed results are\n\t * provided, including both the transaction effects and any return values.\n\t */\n\tasync devInspectTransactionBlock(\n\t\tinput: DevInspectTransactionBlockParams,\n\t): Promise<DevInspectResults> {\n\t\tlet devInspectTxBytes;\n\t\tif (isTransaction(input.transactionBlock)) {\n\t\t\tinput.transactionBlock.setSenderIfNotSet(input.sender);\n\t\t\tdevInspectTxBytes = toBase64(\n\t\t\t\tawait input.transactionBlock.build({\n\t\t\t\t\tclient: this,\n\t\t\t\t\tonlyTransactionKind: true,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else if (typeof input.transactionBlock === 'string') {\n\t\t\tdevInspectTxBytes = input.transactionBlock;\n\t\t} else if (input.transactionBlock instanceof Uint8Array) {\n\t\t\tdevInspectTxBytes = toBase64(input.transactionBlock);\n\t\t} else {\n\t\t\tthrow new Error('Unknown transaction block format.');\n\t\t}\n\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_devInspectTransactionBlock',\n\t\t\tparams: [input.sender, devInspectTxBytes, input.gasPrice?.toString(), input.epoch],\n\t\t});\n\t}\n\n\t/**\n\t * Dry run a transaction block and return the result.\n\t */\n\tasync dryRunTransactionBlock(\n\t\tinput: DryRunTransactionBlockParams,\n\t): Promise<DryRunTransactionBlockResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_dryRunTransactionBlock',\n\t\t\tparams: [\n\t\t\t\ttypeof input.transactionBlock === 'string'\n\t\t\t\t\t? input.transactionBlock\n\t\t\t\t\t: toBase64(input.transactionBlock),\n\t\t\t],\n\t\t});\n\t}\n\n\t/**\n\t * Return the list of dynamic field objects owned by an object\n\t */\n\tasync getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage> {\n\t\tif (!input.parentId || !isValidSuiObjectId(normalizeSuiObjectId(input.parentId))) {\n\t\t\tthrow new Error('Invalid Sui Object id');\n\t\t}\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFields',\n\t\t\tparams: [input.parentId, input.cursor, input.limit],\n\t\t});\n\t}\n\n\t/**\n\t * Return the dynamic field object information for a specified object\n\t */\n\tasync getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<SuiObjectResponse> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getDynamicFieldObject',\n\t\t\tparams: [input.parentId, input.name],\n\t\t});\n\t}\n\n\t/**\n\t * Get the sequence number of the latest checkpoint that has been executed\n\t */\n\tasync getLatestCheckpointSequenceNumber(): Promise<string> {\n\t\tconst resp = await this.transport.request({\n\t\t\tmethod: 'sui_getLatestCheckpointSequenceNumber',\n\t\t\tparams: [],\n\t\t});\n\t\treturn String(resp);\n\t}\n\n\t/**\n\t * Returns information about a given checkpoint\n\t */\n\tasync getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint> {\n\t\treturn await this.transport.request({ method: 'sui_getCheckpoint', params: [input.id] });\n\t}\n\n\t/**\n\t * Returns historical checkpoints paginated\n\t */\n\tasync getCheckpoints(\n\t\tinput: PaginationArguments<CheckpointPage['nextCursor']> & GetCheckpointsParams,\n\t): Promise<CheckpointPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getCheckpoints',\n\t\t\tparams: [input.cursor, input?.limit, input.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCommitteeInfo(input?: GetCommitteeInfoParams): Promise<CommitteeInfo> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getCommitteeInfo',\n\t\t\tparams: [input?.epoch],\n\t\t});\n\t}\n\n\tasync getNetworkMetrics(): Promise<NetworkMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getNetworkMetrics', params: [] });\n\t}\n\n\tasync getAddressMetrics(): Promise<AddressMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getLatestAddressMetrics', params: [] });\n\t}\n\n\tasync getEpochMetrics(\n\t\tinput?: { descendingOrder?: boolean } & PaginationArguments<EpochMetricsPage['nextCursor']>,\n\t): Promise<EpochMetricsPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochMetrics',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\tasync getAllEpochAddressMetrics(input?: {\n\t\tdescendingOrder?: boolean;\n\t}): Promise<AllEpochsAddressMetrics> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getAllEpochAddressMetrics',\n\t\t\tparams: [input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getEpochs(\n\t\tinput?: {\n\t\t\tdescendingOrder?: boolean;\n\t\t} & PaginationArguments<EpochPage['nextCursor']>,\n\t): Promise<EpochPage> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_getEpochs',\n\t\t\tparams: [input?.cursor, input?.limit, input?.descendingOrder],\n\t\t});\n\t}\n\n\t/**\n\t * Returns list of top move calls by usage\n\t */\n\tasync getMoveCallMetrics(): Promise<MoveCallMetrics> {\n\t\treturn await this.transport.request({ method: 'suix_getMoveCallMetrics', params: [] });\n\t}\n\n\t/**\n\t * Return the committee information for the asked epoch\n\t */\n\tasync getCurrentEpoch(): Promise<EpochInfo> {\n\t\treturn await this.transport.request({ method: 'suix_getCurrentEpoch', params: [] });\n\t}\n\n\t/**\n\t * Return the Validators APYs\n\t */\n\tasync getValidatorsApy(): Promise<ValidatorsApy> {\n\t\treturn await this.transport.request({ method: 'suix_getValidatorsApy', params: [] });\n\t}\n\n\t// TODO: Migrate this to `sui_getChainIdentifier` once it is widely available.\n\tasync getChainIdentifier(): Promise<string> {\n\t\tconst checkpoint = await this.getCheckpoint({ id: '0' });\n\t\tconst bytes = fromBase58(checkpoint.digest);\n\t\treturn toHex(bytes.slice(0, 4));\n\t}\n\n\tasync resolveNameServiceAddress(input: ResolveNameServiceAddressParams): Promise<string | null> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'suix_resolveNameServiceAddress',\n\t\t\tparams: [input.name],\n\t\t});\n\t}\n\n\tasync resolveNameServiceNames({\n\t\tformat = 'dot',\n\t\t...input\n\t}: ResolveNameServiceNamesParams & {\n\t\tformat?: 'at' | 'dot';\n\t}): Promise<ResolvedNameServiceNames> {\n\t\tconst { nextCursor, hasNextPage, data }: ResolvedNameServiceNames =\n\t\t\tawait this.transport.request({\n\t\t\t\tmethod: 'suix_resolveNameServiceNames',\n\t\t\t\tparams: [input.address, input.cursor, input.limit],\n\t\t\t});\n\n\t\treturn {\n\t\t\thasNextPage,\n\t\t\tnextCursor,\n\t\t\tdata: data.map((name) => normalizeSuiNSName(name, format)),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(input?: GetProtocolConfigParams): Promise<ProtocolConfig> {\n\t\treturn await this.transport.request({\n\t\t\tmethod: 'sui_getProtocolConfig',\n\t\t\tparams: [input?.version],\n\t\t});\n\t}\n\n\t/**\n\t * Wait for a transaction block result to be available over the API.\n\t * This can be used in conjunction with `executeTransactionBlock` to wait for the transaction to\n\t * be available via the API.\n\t * This currently polls the `getTransactionBlock` API to check for the transaction.\n\t */\n\tasync waitForTransaction({\n\t\tsignal,\n\t\ttimeout = 60 * 1000,\n\t\tpollInterval = 2 * 1000,\n\t\t...input\n\t}: {\n\t\t/** An optional abort signal that can be used to cancel */\n\t\tsignal?: AbortSignal;\n\t\t/** The amount of time to wait for a transaction block. Defaults to one minute. */\n\t\ttimeout?: number;\n\t\t/** The amount of time to wait between checks for the transaction block. Defaults to 2 seconds. */\n\t\tpollInterval?: number;\n\t} & Parameters<SuiClient['getTransactionBlock']>[0]): Promise<SuiTransactionBlockResponse> {\n\t\tconst timeoutSignal = AbortSignal.timeout(timeout);\n\t\tconst timeoutPromise = new Promise((_, reject) => {\n\t\t\ttimeoutSignal.addEventListener('abort', () => reject(timeoutSignal.reason));\n\t\t});\n\n\t\ttimeoutPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (!timeoutSignal.aborted) {\n\t\t\tsignal?.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransactionBlock(input);\n\t\t\t} catch (e) {\n\t\t\t\t// Wait for either the next poll interval, or the timeout.\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, pollInterval)),\n\t\t\t\t\ttimeoutPromise,\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\n\t\ttimeoutSignal.throwIfAborted();\n\n\t\t// This should never happen, because the above case should always throw, but just adding it in the event that something goes horribly wrong.\n\t\tthrow new Error('Unexpected error while waiting for transaction block.');\n\t}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -269,8 +269,7 @@ export type SuiEventFilter =
|
|
|
269
269
|
Or: [SuiEventFilter, SuiEventFilter];
|
|
270
270
|
};
|
|
271
271
|
/**
|
|
272
|
-
* Unique ID of a Sui Event, the ID is a combination of
|
|
273
|
-
* local to this particular fullnode and will be different from other fullnode.
|
|
272
|
+
* Unique ID of a Sui Event, the ID is a combination of transaction digest and event seq number.
|
|
274
273
|
*/
|
|
275
274
|
export interface EventId {
|
|
276
275
|
eventSeq: string;
|