wowok 2.2.5 → 2.2.7
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/bcs/bcs.d.ts +1 -1
- package/dist/cjs/bcs/bcs.js +1 -1
- package/dist/cjs/bcs/effects.d.ts +4 -4
- package/dist/cjs/bcs/effects.js +1 -1
- package/dist/cjs/bcs/index.d.ts +2 -2
- package/dist/cjs/bcs/index.js +1 -1
- package/dist/cjs/bcs/type-tag-serializer.js +1 -1
- package/dist/cjs/bcs/types.d.ts +4 -4
- package/dist/cjs/client/index.d.ts +4 -4
- package/dist/cjs/client/index.js +1 -1
- package/dist/cjs/cryptography/keypair.d.ts +2 -2
- package/dist/cjs/cryptography/publickey.js +1 -1
- package/dist/cjs/experimental/client.d.ts +4 -4
- package/dist/cjs/experimental/core.d.ts +17 -17
- package/dist/cjs/experimental/core.js +1 -1
- package/dist/cjs/experimental/errors.d.ts +2 -2
- package/dist/cjs/experimental/errors.js +1 -1
- package/dist/cjs/experimental/index.d.ts +2 -2
- package/dist/cjs/experimental/transports/utils.d.ts +3 -3
- package/dist/cjs/experimental/types.d.ts +3 -3
- package/dist/cjs/faucet/faucet.d.ts +3 -3
- package/dist/cjs/faucet/faucet.js +1 -1
- package/dist/cjs/faucet/index.d.ts +1 -1
- package/dist/cjs/faucet/index.js +1 -1
- package/dist/cjs/grpc/client.d.ts +7 -7
- package/dist/cjs/grpc/client.js +1 -1
- package/dist/cjs/grpc/core.d.ts +15 -15
- package/dist/cjs/grpc/core.js +1 -1
- package/dist/cjs/grpc/index.d.ts +2 -2
- package/dist/cjs/grpc/index.js +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/jsonRpc/client.d.ts +24 -24
- package/dist/cjs/jsonRpc/client.js +1 -1
- package/dist/cjs/jsonRpc/core.d.ts +20 -20
- package/dist/cjs/jsonRpc/core.js +1 -1
- package/dist/cjs/jsonRpc/errors.d.ts +3 -3
- package/dist/cjs/jsonRpc/errors.js +1 -1
- package/dist/cjs/jsonRpc/http-transport.js +1 -1
- package/dist/cjs/jsonRpc/index.d.ts +2 -2
- package/dist/cjs/jsonRpc/index.js +1 -1
- package/dist/cjs/jsonRpc/json-rpc-resolver.d.ts +2 -2
- package/dist/cjs/jsonRpc/types/chain.d.ts +4 -4
- package/dist/cjs/jsonRpc/types/changes.d.ts +7 -7
- package/dist/cjs/jsonRpc/types/generated.d.ts +63 -63
- package/dist/cjs/jsonRpc/types/params.d.ts +13 -13
- package/dist/cjs/multisig/publickey.js +1 -1
- package/dist/cjs/transactions/Commands.js +1 -1
- package/dist/cjs/transactions/Inputs.js +1 -1
- package/dist/cjs/transactions/ObjectCache.js +1 -1
- package/dist/cjs/transactions/Transaction.js +1 -1
- package/dist/cjs/transactions/TransactionData.js +1 -1
- package/dist/cjs/transactions/__tests__/bcs.test.js +1 -1
- package/dist/cjs/transactions/data/internal.d.ts +1 -1
- package/dist/cjs/transactions/data/internal.js +1 -1
- package/dist/cjs/transactions/data/v2.js +1 -1
- package/dist/cjs/transactions/executor/caching.d.ts +4 -4
- package/dist/cjs/transactions/executor/parallel.d.ts +4 -4
- package/dist/cjs/transactions/executor/parallel.js +1 -1
- package/dist/cjs/transactions/executor/serial.d.ts +4 -4
- package/dist/cjs/transactions/intents/CoinWithBalance.d.ts +2 -2
- package/dist/cjs/transactions/intents/CoinWithBalance.js +1 -1
- package/dist/cjs/transactions/serializer.d.ts +2 -2
- package/dist/cjs/transactions/serializer.js +1 -1
- package/dist/cjs/transactions/utils.d.ts +4 -4
- package/dist/cjs/transactions/utils.js +1 -1
- package/dist/cjs/utils/constants.d.ts +0 -6
- package/dist/cjs/utils/constants.js +1 -1
- package/dist/cjs/utils/index.d.ts +1 -1
- package/dist/cjs/utils/index.js +1 -1
- package/dist/cjs/verify/index.d.ts +1 -1
- package/dist/cjs/verify/index.js +1 -1
- package/dist/cjs/verify/verify.d.ts +1 -1
- package/dist/cjs/verify/verify.js +1 -1
- package/dist/cjs/w/call/allocation.js +1 -1
- package/dist/cjs/w/call/arbitration.js +1 -1
- package/dist/cjs/w/call/base.d.ts +6 -6
- package/dist/cjs/w/call/base.js +1 -1
- package/dist/cjs/w/call/contact.js +1 -1
- package/dist/cjs/w/call/demand.js +1 -1
- package/dist/cjs/w/call/entity.js +1 -1
- package/dist/cjs/w/call/guard-ins.js +1 -1
- package/dist/cjs/w/call/guard.js +1 -1
- package/dist/cjs/w/call/passport.d.ts +2 -2
- package/dist/cjs/w/call/passport.js +1 -1
- package/dist/cjs/w/common.d.ts +7 -2
- package/dist/cjs/w/common.js +1 -1
- package/dist/cjs/w/local/account.d.ts +3 -3
- package/dist/cjs/w/local/account.js +1 -1
- package/dist/cjs/w/local/index.d.ts +2 -2
- package/dist/cjs/w/local/index.js +1 -1
- package/dist/cjs/w/local/local.js +1 -1
- package/dist/cjs/w/local/token.js +1 -1
- package/dist/cjs/w/messenger/messenger.js +1 -1
- package/dist/cjs/w/query/event.js +1 -1
- package/dist/cjs/w/query/object.js +1 -1
- package/dist/cjs/w/query/received.js +1 -1
- package/dist/cjs/w/util.js +1 -1
- package/dist/esm/bcs/bcs.d.ts +1 -1
- package/dist/esm/bcs/bcs.js +1 -1
- package/dist/esm/bcs/effects.d.ts +4 -4
- package/dist/esm/bcs/effects.js +1 -1
- package/dist/esm/bcs/index.d.ts +2 -2
- package/dist/esm/bcs/index.js +1 -1
- package/dist/esm/bcs/type-tag-serializer.js +1 -1
- package/dist/esm/bcs/types.d.ts +4 -4
- package/dist/esm/client/index.d.ts +4 -4
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/cryptography/keypair.d.ts +2 -2
- package/dist/esm/cryptography/publickey.js +1 -1
- package/dist/esm/experimental/client.d.ts +4 -4
- package/dist/esm/experimental/core.d.ts +17 -17
- package/dist/esm/experimental/core.js +1 -1
- package/dist/esm/experimental/errors.d.ts +2 -2
- package/dist/esm/experimental/errors.js +1 -1
- package/dist/esm/experimental/index.d.ts +2 -2
- package/dist/esm/experimental/transports/utils.d.ts +3 -3
- package/dist/esm/experimental/types.d.ts +3 -3
- package/dist/esm/faucet/faucet.d.ts +3 -3
- package/dist/esm/faucet/faucet.js +1 -1
- package/dist/esm/faucet/index.d.ts +1 -1
- package/dist/esm/faucet/index.js +1 -1
- package/dist/esm/grpc/client.d.ts +7 -7
- package/dist/esm/grpc/client.js +1 -1
- package/dist/esm/grpc/core.d.ts +15 -15
- package/dist/esm/grpc/core.js +1 -1
- package/dist/esm/grpc/index.d.ts +2 -2
- package/dist/esm/grpc/index.js +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +1 -1
- package/dist/esm/jsonRpc/client.d.ts +24 -24
- package/dist/esm/jsonRpc/client.js +1 -1
- package/dist/esm/jsonRpc/core.d.ts +20 -20
- package/dist/esm/jsonRpc/core.js +1 -1
- package/dist/esm/jsonRpc/errors.d.ts +3 -3
- package/dist/esm/jsonRpc/errors.js +1 -1
- package/dist/esm/jsonRpc/http-transport.js +1 -1
- package/dist/esm/jsonRpc/index.d.ts +2 -2
- package/dist/esm/jsonRpc/index.js +1 -1
- package/dist/esm/jsonRpc/json-rpc-resolver.d.ts +2 -2
- package/dist/esm/jsonRpc/types/chain.d.ts +4 -4
- package/dist/esm/jsonRpc/types/changes.d.ts +7 -7
- package/dist/esm/jsonRpc/types/generated.d.ts +63 -63
- package/dist/esm/jsonRpc/types/params.d.ts +13 -13
- package/dist/esm/multisig/publickey.js +1 -1
- package/dist/esm/transactions/Commands.js +1 -1
- package/dist/esm/transactions/Inputs.js +1 -1
- package/dist/esm/transactions/ObjectCache.js +1 -1
- package/dist/esm/transactions/Transaction.js +1 -1
- package/dist/esm/transactions/TransactionData.js +1 -1
- package/dist/esm/transactions/__tests__/bcs.test.js +1 -1
- package/dist/esm/transactions/data/internal.d.ts +1 -1
- package/dist/esm/transactions/data/internal.js +1 -1
- package/dist/esm/transactions/data/v2.js +1 -1
- package/dist/esm/transactions/executor/caching.d.ts +4 -4
- package/dist/esm/transactions/executor/parallel.d.ts +4 -4
- package/dist/esm/transactions/executor/parallel.js +1 -1
- package/dist/esm/transactions/executor/serial.d.ts +4 -4
- package/dist/esm/transactions/intents/CoinWithBalance.d.ts +2 -2
- package/dist/esm/transactions/intents/CoinWithBalance.js +1 -1
- package/dist/esm/transactions/serializer.d.ts +2 -2
- package/dist/esm/transactions/serializer.js +1 -1
- package/dist/esm/transactions/utils.d.ts +4 -4
- package/dist/esm/transactions/utils.js +1 -1
- package/dist/esm/utils/constants.d.ts +0 -6
- package/dist/esm/utils/constants.js +1 -1
- package/dist/esm/utils/index.d.ts +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/verify/index.d.ts +1 -1
- package/dist/esm/verify/index.js +1 -1
- package/dist/esm/verify/verify.d.ts +1 -1
- package/dist/esm/verify/verify.js +1 -1
- package/dist/esm/w/call/allocation.js +1 -1
- package/dist/esm/w/call/arbitration.js +1 -1
- package/dist/esm/w/call/base.d.ts +6 -6
- package/dist/esm/w/call/base.js +1 -1
- package/dist/esm/w/call/contact.js +1 -1
- package/dist/esm/w/call/demand.js +1 -1
- package/dist/esm/w/call/entity.js +1 -1
- package/dist/esm/w/call/guard-ins.js +1 -1
- package/dist/esm/w/call/guard.js +1 -1
- package/dist/esm/w/call/passport.d.ts +2 -2
- package/dist/esm/w/call/passport.js +1 -1
- package/dist/esm/w/common.d.ts +7 -2
- package/dist/esm/w/common.js +1 -1
- package/dist/esm/w/local/account.d.ts +3 -3
- package/dist/esm/w/local/account.js +1 -1
- package/dist/esm/w/local/index.d.ts +2 -2
- package/dist/esm/w/local/index.js +1 -1
- package/dist/esm/w/local/local.js +1 -1
- package/dist/esm/w/local/token.js +1 -1
- package/dist/esm/w/messenger/messenger.js +1 -1
- package/dist/esm/w/query/event.js +1 -1
- package/dist/esm/w/query/object.js +1 -1
- package/dist/esm/w/query/received.js +1 -1
- package/dist/esm/w/util.js +1 -1
- package/package.json +4 -3
- /package/dist/cjs/utils/{sui-types.d.ts → wow-types.d.ts} +0 -0
- /package/dist/cjs/utils/{sui-types.js → wow-types.js} +0 -0
- /package/dist/esm/utils/{sui-types.d.ts → wow-types.d.ts} +0 -0
- /package/dist/esm/utils/{sui-types.js → wow-types.js} +0 -0
package/dist/esm/client/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{JsonRpcHTTPTransport as
|
|
1
|
+
export{JsonRpcHTTPTransport as WowHTTPTransport}from'../jsonRpc/http-transport.js';export{getFullnodeUrl,ENTRYPOINT}from'./network.js';export{isWowJsonRpcClient as isWowClient,WowJsonRpcClient as WowClient}from'../jsonRpc/client.js';export{WowHTTPStatusError,WowHTTPTransportError,JsonRpcError}from'../jsonRpc/errors.js';
|
|
@@ -2,7 +2,7 @@ import type { IntentScope } from "./intent.js";
|
|
|
2
2
|
import type { PublicKey } from "./publickey.js";
|
|
3
3
|
import type { SignatureScheme } from "./signature-scheme.js";
|
|
4
4
|
import type { Transaction } from "../transactions/Transaction.js";
|
|
5
|
-
import type { ClientWithCoreApi,
|
|
5
|
+
import type { ClientWithCoreApi, Experimental_WowClientTypes } from "../experimental/index.js";
|
|
6
6
|
export declare const FALCON512_PRIVATE_KEY_SIZE = 1281;
|
|
7
7
|
export declare const PRIVATE_KEY_SIZE = 1281;
|
|
8
8
|
export declare const W_PRIVATE_KEY_PREFIX = "wowprivkey";
|
|
@@ -26,7 +26,7 @@ export declare abstract class Signer {
|
|
|
26
26
|
bytes: string;
|
|
27
27
|
signature: string;
|
|
28
28
|
}>;
|
|
29
|
-
signAndExecuteTransaction({ transaction, client, }: SignAndExecuteOptions): Promise<Omit<
|
|
29
|
+
signAndExecuteTransaction({ transaction, client, }: SignAndExecuteOptions): Promise<Omit<Experimental_WowClientTypes.TransactionResponse, "balanceChanges">>;
|
|
30
30
|
toWowAddress(): string;
|
|
31
31
|
toWAddress(): string;
|
|
32
32
|
abstract getKeyScheme(): SignatureScheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fromBase64,toBase64}from'../_deps/bcs/index.js';import{blake2b}from'@noble/hashes/blake2b';import{bytesToHex}from'@noble/hashes/utils';import{bcs}from'../bcs/index.js';import{normalizeWowAddress,WOW_ADDRESS_LENGTH}from'../utils/
|
|
1
|
+
import{fromBase64,toBase64}from'../_deps/bcs/index.js';import{blake2b}from'@noble/hashes/blake2b';import{bytesToHex}from'@noble/hashes/utils';import{bcs}from'../bcs/index.js';import{normalizeWowAddress,WOW_ADDRESS_LENGTH}from'../utils/wow-types.js';import{messageWithIntent}from'./intent.js';import{SIGNATURE_FLAG_TO_SCHEME,SIGNATURE_SCHEME_TO_SIZE}from'./signature-scheme.js';export function bytesEqual(c,d){if(c===d)return!![];if(c['length']!==d['length'])return![];for(let e=0x0;e<c['length'];e++){if(c[e]!==d[e])return![];}return!![];}export class PublicKey{['equals'](a){return bytesEqual(this['toRawBytes'](),a['toRawBytes']());}['toBase64'](){return toBase64(this['toRawBytes']());}['toString'](){throw new Error('`toString`\x20is\x20not\x20implemented\x20on\x20public\x20keys.\x20Use\x20`toBase64()`\x20or\x20`toRawBytes()`\x20instead.');}['toWPublicKey'](){const a=this['toWBytes']();return toBase64(a);}['verifyWithIntent'](a,b,c){const d=messageWithIntent(c,a),e=blake2b(d,{'dkLen':0x20});return this['verify'](e,b);}['verifyPersonalMessage'](a,b){return this['verifyWithIntent'](bcs['byteVector']()['serialize'](a)['toBytes'](),b,'PersonalMessage');}['verifyTransaction'](a,b){return this['verifyWithIntent'](a,b,'TransactionData');}['verifyAddress'](a){return this['toWAddress']()===a;}['toWBytes'](){const a=this['toRawBytes'](),b=new Uint8Array(a['length']+0x1);return b['set']([this['flag']()]),b['set'](a,0x1),b;}['toWAddress'](){return normalizeWowAddress(bytesToHex(blake2b(this['toWBytes'](),{'dkLen':0x20}))['slice'](0x0,WOW_ADDRESS_LENGTH*0x2));}}export function parseSerializedKeypairSignature(a){const b=fromBase64(a),c=SIGNATURE_FLAG_TO_SCHEME[b[0x0]];switch(c){case'MultiSig':case'Falcon512':const d=SIGNATURE_SCHEME_TO_SIZE[c],e=b['slice'](0x1,b['length']-d),f=b['slice'](0x1+e['length']);return{'serializedSignature':a,'signatureScheme':c,'signature':e,'publicKey':f,'bytes':b};default:throw new Error('Unsupported\x20signature\x20scheme');}}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Simplify, UnionToIntersection } from "../_deps/utils/index.js";
|
|
2
2
|
import { ClientCache } from "./cache.js";
|
|
3
3
|
import type { Experimental_CoreClient } from "./core.js";
|
|
4
|
-
import type { ClientWithExtensions,
|
|
4
|
+
import type { ClientWithExtensions, Experimental_WowClientTypes, WowClientRegistration } from "./types.js";
|
|
5
5
|
export declare abstract class Experimental_BaseClient {
|
|
6
|
-
network:
|
|
6
|
+
network: Experimental_WowClientTypes.Network;
|
|
7
7
|
cache: ClientCache;
|
|
8
8
|
base: Experimental_BaseClient;
|
|
9
|
-
constructor({ network, base, cache, }:
|
|
9
|
+
constructor({ network, base, cache, }: Experimental_WowClientTypes.WowClientOptions);
|
|
10
10
|
abstract core: Experimental_CoreClient;
|
|
11
|
-
$extend<const Registrations extends
|
|
11
|
+
$extend<const Registrations extends WowClientRegistration<this>[]>(...registrations: Registrations): ClientWithExtensions<Simplify<UnionToIntersection<{ [K in keyof Registrations]: Registrations[K] extends WowClientRegistration<this, infer Name extends string, infer Extension> ? { [K2 in Name]: Extension; } : never; }[number]>>, this>;
|
|
12
12
|
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import type { TransactionPlugin } from "../transactions/index.js";
|
|
2
2
|
import { Experimental_BaseClient } from "./client.js";
|
|
3
|
-
import type { ClientWithExtensions,
|
|
3
|
+
import type { ClientWithExtensions, Experimental_WowClientTypes } from "./types.js";
|
|
4
4
|
export type ClientWithCoreApi = ClientWithExtensions<{
|
|
5
5
|
core: Experimental_CoreClient;
|
|
6
6
|
}>;
|
|
7
|
-
export interface Experimental_CoreClientOptions extends
|
|
7
|
+
export interface Experimental_CoreClientOptions extends Experimental_WowClientTypes.WowClientOptions {
|
|
8
8
|
base: Experimental_BaseClient;
|
|
9
9
|
}
|
|
10
|
-
export declare abstract class Experimental_CoreClient extends Experimental_BaseClient implements
|
|
10
|
+
export declare abstract class Experimental_CoreClient extends Experimental_BaseClient implements Experimental_WowClientTypes.TransportMethods {
|
|
11
11
|
core: this;
|
|
12
12
|
constructor(options: Experimental_CoreClientOptions);
|
|
13
|
-
abstract getObjects(options:
|
|
14
|
-
getObject(options:
|
|
15
|
-
abstract getCoins(options:
|
|
16
|
-
abstract getOwnedObjects(options:
|
|
17
|
-
abstract getBalance(options:
|
|
18
|
-
abstract getAllBalances(options:
|
|
19
|
-
abstract getTransaction(options:
|
|
20
|
-
abstract executeTransaction(options:
|
|
21
|
-
abstract dryRunTransaction(options:
|
|
22
|
-
abstract getReferenceGasPrice(options?:
|
|
23
|
-
abstract getDynamicFields(options:
|
|
13
|
+
abstract getObjects(options: Experimental_WowClientTypes.GetObjectsOptions): Promise<Experimental_WowClientTypes.GetObjectsResponse>;
|
|
14
|
+
getObject(options: Experimental_WowClientTypes.GetObjectOptions): Promise<Experimental_WowClientTypes.GetObjectResponse>;
|
|
15
|
+
abstract getCoins(options: Experimental_WowClientTypes.GetCoinsOptions): Promise<Experimental_WowClientTypes.GetCoinsResponse>;
|
|
16
|
+
abstract getOwnedObjects(options: Experimental_WowClientTypes.GetOwnedObjectsOptions): Promise<Experimental_WowClientTypes.GetOwnedObjectsResponse>;
|
|
17
|
+
abstract getBalance(options: Experimental_WowClientTypes.GetBalanceOptions): Promise<Experimental_WowClientTypes.GetBalanceResponse>;
|
|
18
|
+
abstract getAllBalances(options: Experimental_WowClientTypes.GetAllBalancesOptions): Promise<Experimental_WowClientTypes.GetAllBalancesResponse>;
|
|
19
|
+
abstract getTransaction(options: Experimental_WowClientTypes.GetTransactionOptions): Promise<Experimental_WowClientTypes.GetTransactionResponse>;
|
|
20
|
+
abstract executeTransaction(options: Experimental_WowClientTypes.ExecuteTransactionOptions): Promise<Experimental_WowClientTypes.ExecuteTransactionResponse>;
|
|
21
|
+
abstract dryRunTransaction(options: Experimental_WowClientTypes.DryRunTransactionOptions): Promise<Experimental_WowClientTypes.DryRunTransactionResponse>;
|
|
22
|
+
abstract getReferenceGasPrice(options?: Experimental_WowClientTypes.GetReferenceGasPriceOptions): Promise<Experimental_WowClientTypes.GetReferenceGasPriceResponse>;
|
|
23
|
+
abstract getDynamicFields(options: Experimental_WowClientTypes.GetDynamicFieldsOptions): Promise<Experimental_WowClientTypes.GetDynamicFieldsResponse>;
|
|
24
24
|
abstract resolveTransactionPlugin(): TransactionPlugin;
|
|
25
|
-
abstract getMoveFunction(options:
|
|
26
|
-
getDynamicField(options:
|
|
25
|
+
abstract getMoveFunction(options: Experimental_WowClientTypes.GetMoveFunctionOptions): Promise<Experimental_WowClientTypes.GetMoveFunctionResponse>;
|
|
26
|
+
getDynamicField(options: Experimental_WowClientTypes.GetDynamicFieldOptions): Promise<Experimental_WowClientTypes.GetDynamicFieldResponse>;
|
|
27
27
|
waitForTransaction({ signal, timeout, ...input }: {
|
|
28
28
|
signal?: AbortSignal;
|
|
29
29
|
timeout?: number;
|
|
30
|
-
} &
|
|
30
|
+
} & Experimental_WowClientTypes.GetTransactionOptions): Promise<Experimental_WowClientTypes.GetTransactionResponse>;
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{TypeTagSerializer}from'../bcs/type-tag-serializer.js';import{deriveDynamicFieldID}from'../utils/dynamic-fields.js';import{normalizeStructTag,parseStructTag,WOW_ADDRESS_LENGTH}from'../utils/
|
|
1
|
+
import{TypeTagSerializer}from'../bcs/type-tag-serializer.js';import{deriveDynamicFieldID}from'../utils/dynamic-fields.js';import{normalizeStructTag,parseStructTag,WOW_ADDRESS_LENGTH}from'../utils/wow-types.js';import{Experimental_BaseClient}from'./client.js';export class Experimental_CoreClient extends Experimental_BaseClient{['core']=this;constructor(a){super(a);}async['getObject'](a){const {objectId:b}=a,{objects:[c]}=await this['getObjects']({'objectIds':[b],'signal':a['signal']});if(c instanceof Error)throw c;return{'object':c};}async['getDynamicField'](a){const b=TypeTagSerializer['parseFromStr'](a['name']['type']),c=deriveDynamicFieldID(a['parentId'],b,a['name']['bcs']),{objects:[d]}=await this['getObjects']({'objectIds':[c],'signal':a['signal']});if(d instanceof Error)throw d;const e=parseStructTag(d['type']),f=await d['content'];return{'dynamicField':{'id':d['id'],'digest':d['digest'],'version':d['version'],'type':d['type'],'previousTransaction':d['previousTransaction'],'name':{'type':typeof e['typeParams'][0x0]==='string'?e['typeParams'][0x0]:normalizeStructTag(e['typeParams'][0x0]),'bcs':a['name']['bcs']},'value':{'type':typeof e['typeParams'][0x1]==='string'?e['typeParams'][0x1]:normalizeStructTag(e['typeParams'][0x1]),'bcs':f['slice'](WOW_ADDRESS_LENGTH+a['name']['bcs']['length'])}}};}async['waitForTransaction']({signal:a,timeout:timeout=0x3c*0x3e8,...b}){const c=a?AbortSignal['any']([AbortSignal['timeout'](timeout),a]):AbortSignal['timeout'](timeout),d=new Promise((e,f)=>{c['addEventListener']('abort',()=>f(c['reason']));});d['catch'](()=>{});while(!![]){c['throwIfAborted']();try{return await this['getTransaction']({...b,'signal':c});}catch{await Promise['race']([new Promise(e=>setTimeout(e,0x7d0)),d]);}}}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ObjectResponseError } from "../client/index.js";
|
|
2
|
-
export declare class
|
|
2
|
+
export declare class WowClientError extends Error {
|
|
3
3
|
}
|
|
4
|
-
export declare class ObjectError extends
|
|
4
|
+
export declare class ObjectError extends WowClientError {
|
|
5
5
|
code: string;
|
|
6
6
|
constructor(code: string, message: string);
|
|
7
7
|
static fromResponse(response: ObjectResponseError, objectId?: string): ObjectError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export class
|
|
1
|
+
export class WowClientError extends Error{}export class ObjectError extends WowClientError{['code'];constructor(a,b){super(b),this['code']=a;}static['fromResponse'](a,b){switch(a['code']){case'notExists':return new ObjectError(a['code'],'Object\x20'+a['object_id']+'\x20does\x20not\x20exist');case'dynamicFieldNotFound':return new ObjectError(a['code'],'Dynamic\x20field\x20not\x20found\x20for\x20object\x20'+a['parent_object_id']);case'deleted':return new ObjectError(a['code'],'Object\x20'+a['object_id']+'\x20has\x20been\x20deleted');case'displayError':return new ObjectError(a['code'],'Display\x20error:\x20'+a['error']);case'unknown':default:return new ObjectError(a['code'],'Unknown\x20error\x20while\x20loading\x20object'+(b?'\x20'+b:''));}}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Experimental_BaseClient } from "./client.js";
|
|
2
2
|
import type { ClientWithCoreApi, Experimental_CoreClientOptions } from "./core.js";
|
|
3
3
|
import { Experimental_CoreClient } from "./core.js";
|
|
4
|
-
import type { ClientWithExtensions,
|
|
4
|
+
import type { ClientWithExtensions, Experimental_WowClientTypes, WowClientRegistration } from "./types.js";
|
|
5
5
|
export { parseTransactionBcs, parseTransactionEffectsBcs, } from "./transports/utils.js";
|
|
6
|
-
export { Experimental_BaseClient, Experimental_CoreClient, type Experimental_CoreClientOptions, type ClientWithExtensions, type
|
|
6
|
+
export { Experimental_BaseClient, Experimental_CoreClient, type Experimental_CoreClientOptions, type ClientWithExtensions, type Experimental_WowClientTypes, type WowClientRegistration, type ClientWithCoreApi, };
|
|
7
7
|
export { ClientCache, type ClientCacheOptions } from "./cache.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function parseTransactionBcs(bytes: Uint8Array):
|
|
3
|
-
export declare function parseTransactionEffectsBcs(effects: Uint8Array):
|
|
1
|
+
import type { Experimental_WowClientTypes } from "../types.js";
|
|
2
|
+
export declare function parseTransactionBcs(bytes: Uint8Array): Experimental_WowClientTypes.TransactionResponse["transaction"];
|
|
3
|
+
export declare function parseTransactionEffectsBcs(effects: Uint8Array): Experimental_WowClientTypes.TransactionEffects;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { SerializedTransactionDataV2, TransactionPlugin } from "../transactions/index.js";
|
|
2
2
|
import type { ClientCache } from "./cache.js";
|
|
3
3
|
import type { Experimental_BaseClient } from "./client.js";
|
|
4
|
-
export type
|
|
4
|
+
export type WowClientRegistration<T extends Experimental_BaseClient = Experimental_BaseClient, Name extends string = string, Extension = unknown> = {
|
|
5
5
|
readonly name: Name;
|
|
6
6
|
readonly register: (client: T) => Extension;
|
|
7
7
|
};
|
|
8
8
|
export type ClientWithExtensions<T, Base extends Experimental_BaseClient = Experimental_BaseClient> = Base & T;
|
|
9
|
-
export declare namespace
|
|
9
|
+
export declare namespace Experimental_WowClientTypes {
|
|
10
10
|
type Network = "mainnet" | "testnet" | "devnet" | "localnet" | (string & {});
|
|
11
|
-
interface
|
|
11
|
+
interface WowClientOptions {
|
|
12
12
|
network: Network;
|
|
13
13
|
base?: Experimental_BaseClient;
|
|
14
14
|
cache?: ClientCache;
|
|
@@ -33,17 +33,17 @@ type FaucetFailure = {
|
|
|
33
33
|
internal: string;
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
|
-
export declare function
|
|
36
|
+
export declare function requestWowFromFaucetV0(input: {
|
|
37
37
|
host: string;
|
|
38
38
|
recipient: string;
|
|
39
39
|
headers?: HeadersInit;
|
|
40
40
|
}): Promise<FaucetResponse>;
|
|
41
|
-
export declare function
|
|
41
|
+
export declare function requestWowFromFaucetV1(input: {
|
|
42
42
|
host: string;
|
|
43
43
|
recipient: string;
|
|
44
44
|
headers?: HeadersInit;
|
|
45
45
|
}): Promise<BatchFaucetResponse>;
|
|
46
|
-
export declare function
|
|
46
|
+
export declare function requestWowFromFaucetV2(input: {
|
|
47
47
|
host: string;
|
|
48
48
|
recipient: string;
|
|
49
49
|
headers?: HeadersInit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export class FaucetRateLimitError extends Error{}async function faucetRequest({host:a,path:b,body:c,headers:d,method:f}){const g=new URL(b,a)['toString'](),h={'Content-Type':'application/json'};d&&Object['assign'](h,d);const i=await fetch(g,{'method':f,'body':c?JSON['stringify'](c):undefined,'headers':h});if(i['status']===0x1ad)throw new FaucetRateLimitError('Too\x20many\x20requests\x20from\x20this\x20client\x20have\x20been\x20sent\x20to\x20the\x20faucet.\x20Please\x20retry\x20later');try{const j=await i['json']();return j;}catch(k){throw new Error('Encountered\x20error\x20when\x20parsing\x20response\x20from\x20faucet,\x20error:\x20'+k+',\x20status\x20'+i['status']+',\x20response\x20'+i);}}export async function
|
|
1
|
+
export class FaucetRateLimitError extends Error{}async function faucetRequest({host:a,path:b,body:c,headers:d,method:f}){const g=new URL(b,a)['toString'](),h={'Content-Type':'application/json'};d&&Object['assign'](h,d);const i=await fetch(g,{'method':f,'body':c?JSON['stringify'](c):undefined,'headers':h});if(i['status']===0x1ad)throw new FaucetRateLimitError('Too\x20many\x20requests\x20from\x20this\x20client\x20have\x20been\x20sent\x20to\x20the\x20faucet.\x20Please\x20retry\x20later');try{const j=await i['json']();return j;}catch(k){throw new Error('Encountered\x20error\x20when\x20parsing\x20response\x20from\x20faucet,\x20error:\x20'+k+',\x20status\x20'+i['status']+',\x20response\x20'+i);}}export async function requestWowFromFaucetV0(a){const b=await faucetRequest({'host':a['host'],'path':'/gas','body':{'FixedAmountRequest':{'recipient':a['recipient']}},'headers':a['headers'],'method':'POST'});if(b['error'])throw new Error('Faucet\x20request\x20failed:\x20'+b['error']);return b;}export async function requestWowFromFaucetV1(a){const b=await faucetRequest({'host':a['host'],'path':'/v1/gas','body':{'FixedAmountRequest':{'recipient':a['recipient']}},'headers':a['headers'],'method':'POST'});if(b['error'])throw new Error('Faucet\x20request\x20failed:\x20'+b['error']);return b;}export async function requestWowFromFaucetV2(a){const b=await faucetRequest({'host':a['host'],'path':'/v2/gas','body':{'FixedAmountRequest':{'recipient':a['recipient']}},'headers':a['headers'],'method':'POST'});if(b['status']!=='Success')throw new Error('Faucet\x20request\x20failed:\x20'+b['status']['Failure']['internal']);return b;}export async function getFaucetRequestStatus(a){const b=await faucetRequest({'host':a['host'],'path':'/v1/status/'+a['taskId'],'headers':a['headers'],'method':'GET'});if(b['error'])throw new Error('Faucet\x20request\x20failed:\x20'+b['error']);return b;}export function getFaucetHost(a){switch(a){case'testnet':return'https://faucet.testnet.wowok.net';case'localnet':return'http://127.0.0.1:9123';default:throw new Error('Unknown\x20network:\x20'+a);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { requestWowFromFaucetV0, requestWowFromFaucetV1, requestWowFromFaucetV2, getFaucetRequestStatus, getFaucetHost, FaucetRateLimitError, } from "./faucet.js";
|
package/dist/esm/faucet/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{requestWowFromFaucetV0,requestWowFromFaucetV1,requestWowFromFaucetV2,getFaucetRequestStatus,getFaucetHost,FaucetRateLimitError}from'./faucet.js';
|
|
@@ -7,17 +7,17 @@ import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
|
|
|
7
7
|
import { StateServiceClient } from "./proto/sui/rpc/v2/state_service.client.js";
|
|
8
8
|
import { SubscriptionServiceClient } from "./proto/sui/rpc/v2/subscription_service.client.js";
|
|
9
9
|
import { GrpcCoreClient } from "./core.js";
|
|
10
|
-
import type {
|
|
10
|
+
import type { Experimental_WowClientTypes } from "../experimental/index.js";
|
|
11
11
|
import { Experimental_BaseClient } from "../experimental/index.js";
|
|
12
|
-
interface
|
|
12
|
+
interface WowGrpcTransportOptions extends GrpcWebOptions {
|
|
13
13
|
transport?: never;
|
|
14
14
|
}
|
|
15
|
-
export type
|
|
16
|
-
network:
|
|
15
|
+
export type WowGrpcClientOptions = {
|
|
16
|
+
network: Experimental_WowClientTypes.Network;
|
|
17
17
|
} & ({
|
|
18
18
|
transport: RpcTransport;
|
|
19
|
-
} |
|
|
20
|
-
export declare class
|
|
19
|
+
} | WowGrpcTransportOptions);
|
|
20
|
+
export declare class WowGrpcClient extends Experimental_BaseClient {
|
|
21
21
|
core: GrpcCoreClient;
|
|
22
22
|
transactionExecutionService: TransactionExecutionServiceClient;
|
|
23
23
|
ledgerService: LedgerServiceClient;
|
|
@@ -25,6 +25,6 @@ export declare class SuiGrpcClient extends Experimental_BaseClient {
|
|
|
25
25
|
subscriptionService: SubscriptionServiceClient;
|
|
26
26
|
movePackageService: MovePackageServiceClient;
|
|
27
27
|
signatureVerificationService: SignatureVerificationServiceClient;
|
|
28
|
-
constructor(options:
|
|
28
|
+
constructor(options: WowGrpcClientOptions);
|
|
29
29
|
}
|
|
30
30
|
export {};
|
package/dist/esm/grpc/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{GrpcWebFetchTransport}from'@protobuf-ts/grpcweb-transport';import{TransactionExecutionServiceClient}from'./proto/sui/rpc/v2/transaction_execution_service.client.js';import{LedgerServiceClient}from'./proto/sui/rpc/v2/ledger_service.client.js';import{MovePackageServiceClient}from'./proto/sui/rpc/v2/move_package_service.client.js';import{SignatureVerificationServiceClient}from'./proto/sui/rpc/v2/signature_verification_service.client.js';import{StateServiceClient}from'./proto/sui/rpc/v2/state_service.client.js';import{SubscriptionServiceClient}from'./proto/sui/rpc/v2/subscription_service.client.js';import{GrpcCoreClient}from'./core.js';import{Experimental_BaseClient}from'../experimental/index.js';export class
|
|
1
|
+
import{GrpcWebFetchTransport}from'@protobuf-ts/grpcweb-transport';import{TransactionExecutionServiceClient}from'./proto/sui/rpc/v2/transaction_execution_service.client.js';import{LedgerServiceClient}from'./proto/sui/rpc/v2/ledger_service.client.js';import{MovePackageServiceClient}from'./proto/sui/rpc/v2/move_package_service.client.js';import{SignatureVerificationServiceClient}from'./proto/sui/rpc/v2/signature_verification_service.client.js';import{StateServiceClient}from'./proto/sui/rpc/v2/state_service.client.js';import{SubscriptionServiceClient}from'./proto/sui/rpc/v2/subscription_service.client.js';import{GrpcCoreClient}from'./core.js';import{Experimental_BaseClient}from'../experimental/index.js';export class WowGrpcClient extends Experimental_BaseClient{['core'];['transactionExecutionService'];['ledgerService'];['stateService'];['subscriptionService'];['movePackageService'];['signatureVerificationService'];constructor(a){super({'network':a['network']});const b=a['transport']??new GrpcWebFetchTransport({'baseUrl':a['baseUrl'],'fetchInit':a['fetchInit']});this['transactionExecutionService']=new TransactionExecutionServiceClient(b),this['ledgerService']=new LedgerServiceClient(b),this['stateService']=new StateServiceClient(b),this['subscriptionService']=new SubscriptionServiceClient(b),this['movePackageService']=new MovePackageServiceClient(b),this['signatureVerificationService']=new SignatureVerificationServiceClient(b),this['core']=new GrpcCoreClient({'client':this,'base':this,'network':a['network']});}}
|
package/dist/esm/grpc/core.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import type { Experimental_CoreClientOptions,
|
|
1
|
+
import type { Experimental_CoreClientOptions, Experimental_WowClientTypes } from "../experimental/index.js";
|
|
2
2
|
import { Experimental_CoreClient } from "../experimental/index.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { WowGrpcClient } from "./client.js";
|
|
4
4
|
import type { TransactionEffects } from "./proto/sui/rpc/v2/effects.js";
|
|
5
5
|
import type { BuildTransactionOptions } from "../transactions/index.js";
|
|
6
6
|
import { TransactionDataBuilder } from "../transactions/index.js";
|
|
7
7
|
export interface GrpcCoreClientOptions extends Experimental_CoreClientOptions {
|
|
8
|
-
client:
|
|
8
|
+
client: WowGrpcClient;
|
|
9
9
|
}
|
|
10
10
|
export declare class GrpcCoreClient extends Experimental_CoreClient {
|
|
11
11
|
#private;
|
|
12
12
|
constructor({ client, ...options }: GrpcCoreClientOptions);
|
|
13
|
-
getObjects(options:
|
|
14
|
-
getOwnedObjects(options:
|
|
15
|
-
getCoins(options:
|
|
16
|
-
getBalance(options:
|
|
17
|
-
getAllBalances(options:
|
|
18
|
-
getTransaction(options:
|
|
19
|
-
executeTransaction(options:
|
|
20
|
-
dryRunTransaction(options:
|
|
21
|
-
getReferenceGasPrice(): Promise<
|
|
22
|
-
getDynamicFields(options:
|
|
23
|
-
getMoveFunction(options:
|
|
13
|
+
getObjects(options: Experimental_WowClientTypes.GetObjectsOptions): Promise<Experimental_WowClientTypes.GetObjectsResponse>;
|
|
14
|
+
getOwnedObjects(options: Experimental_WowClientTypes.GetOwnedObjectsOptions): Promise<Experimental_WowClientTypes.GetOwnedObjectsResponse>;
|
|
15
|
+
getCoins(options: Experimental_WowClientTypes.GetCoinsOptions): Promise<Experimental_WowClientTypes.GetCoinsResponse>;
|
|
16
|
+
getBalance(options: Experimental_WowClientTypes.GetBalanceOptions): Promise<Experimental_WowClientTypes.GetBalanceResponse>;
|
|
17
|
+
getAllBalances(options: Experimental_WowClientTypes.GetAllBalancesOptions): Promise<Experimental_WowClientTypes.GetAllBalancesResponse>;
|
|
18
|
+
getTransaction(options: Experimental_WowClientTypes.GetTransactionOptions): Promise<Experimental_WowClientTypes.GetTransactionResponse>;
|
|
19
|
+
executeTransaction(options: Experimental_WowClientTypes.ExecuteTransactionOptions): Promise<Experimental_WowClientTypes.ExecuteTransactionResponse>;
|
|
20
|
+
dryRunTransaction(options: Experimental_WowClientTypes.DryRunTransactionOptions): Promise<Experimental_WowClientTypes.DryRunTransactionResponse>;
|
|
21
|
+
getReferenceGasPrice(): Promise<Experimental_WowClientTypes.GetReferenceGasPriceResponse>;
|
|
22
|
+
getDynamicFields(options: Experimental_WowClientTypes.GetDynamicFieldsOptions): Promise<Experimental_WowClientTypes.GetDynamicFieldsResponse>;
|
|
23
|
+
getMoveFunction(options: Experimental_WowClientTypes.GetMoveFunctionOptions): Promise<Experimental_WowClientTypes.GetMoveFunctionResponse>;
|
|
24
24
|
resolveTransactionPlugin(): (_transactionData: TransactionDataBuilder, _options: BuildTransactionOptions, _next: () => Promise<void>) => Promise<never>;
|
|
25
25
|
}
|
|
26
26
|
export declare function parseTransactionEffects({ effects, }: {
|
|
27
27
|
effects: TransactionEffects | undefined;
|
|
28
|
-
}):
|
|
28
|
+
}): Experimental_WowClientTypes.TransactionEffects | null;
|
package/dist/esm/grpc/core.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Experimental_CoreClient}from'../experimental/index.js';import{Owner_OwnerKind}from'./proto/sui/rpc/v2/owner.js';import{chunk,fromBase64,toBase64}from'../_deps/utils/index.js';import{UnchangedConsensusObject_UnchangedConsensusObjectKind}from'./proto/sui/rpc/v2/effects.js';import{ChangedObject_IdOperation,ChangedObject_InputObjectState,ChangedObject_OutputObjectState}from'./proto/sui/rpc/v2/effects.js';import{TransactionDataBuilder}from'../transactions/index.js';import{bcs}from'../bcs/index.js';import{Ability,FunctionDescriptor_Visibility,OpenSignature_Reference,OpenSignatureBody_Type}from'./proto/sui/rpc/v2/move_package.js';export class GrpcCoreClient extends Experimental_CoreClient{#client;constructor({client:a,...b}){super(b),this.#client=a;}async['getObjects'](a){const b=chunk(a['objectIds'],0x32),c=[];for(const d of b){const e=await this.#client['ledgerService']['batchGetObjects']({'requests':d['map'](f=>({'objectId':f})),'readMask':{'paths':['owner','object_type','bcs','digest','version','object_id','previous_transaction']}});c['push'](...e['response']['objects']['map'](f=>{if(f['result']['oneofKind']==='error')return new Error(f['result']['error']['message']);if(f['result']['oneofKind']!=='object')return new Error('Unexpected\x20result\x20type');const g=f['result']['object'];return{'id':g['objectId'],'version':g['version']?.['toString'](),'digest':g['digest'],'content':Promise['resolve'](g['bcs']?.['value']),'owner':mapOwner(g['owner']),'type':g['objectType'],'previousTransaction':g['previousTransaction']??null};}));}return{'objects':c};}async['getOwnedObjects'](a){const b=await this.#client['stateService']['listOwnedObjects']({'owner':a['address'],'objectType':a['type'],'pageToken':a['cursor']?fromBase64(a['cursor']):undefined,'readMask':{'paths':['owner','object_type','bcs','digest','version','object_id','previous_transaction']}}),c=b['response']['objects']['map'](d=>({'id':d['objectId'],'version':d['version']?.['toString'](),'digest':d['digest'],get 'content'(){return d['bcs']?.['value']?Promise['resolve'](d['bcs']['value']):Promise['reject'](new Error('GRPC\x20does\x20not\x20return\x20object\x20contents\x20when\x20listing\x20owned\x20objects'));},'owner':mapOwner(d['owner']),'type':d['objectType'],'previousTransaction':d['previousTransaction']??null}));return{'objects':c,'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'hasNextPage':b['response']['nextPageToken']!==undefined};}async['getCoins'](a){const b=await this.#client['stateService']['listOwnedObjects']({'owner':a['address'],'objectType':'0x2::coin::Coin<'+a['coinType']+'>','pageToken':a['cursor']?fromBase64(a['cursor']):undefined,'readMask':{'paths':['owner','object_type','bcs','digest','version','object_id','balance','previous_transaction']}});return{'objects':b['response']['objects']['map'](c=>({'id':c['objectId'],'version':c['version']?.['toString'](),'digest':c['digest'],get 'content'(){return c['bcs']?.['value']?Promise['resolve'](c['bcs']['value']):Promise['reject'](new Error('GRPC\x20does\x20not\x20return\x20object\x20contents\x20when\x20listing\x20owned\x20objects'));},'owner':mapOwner(c['owner']),'type':c['objectType'],'balance':c['balance']?.['toString'](),'previousTransaction':c['previousTransaction']??null})),'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'hasNextPage':b['response']['nextPageToken']!==undefined};}async['getBalance'](a){const b=await this.#client['stateService']['getBalance']({'owner':a['address'],'coinType':a['coinType']});return{'balance':{'balance':b['response']['balance']?.['balance']?.['toString']()??'0','coinType':b['response']['balance']?.['coinType']??a['coinType']}};}async['getAllBalances'](a){const b=await this.#client['stateService']['listBalances']({'owner':a['address'],'pageToken':a['cursor']?fromBase64(a['cursor']):undefined,'pageSize':a['limit']});return{'hasNextPage':!!b['response']['nextPageToken'],'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'balances':b['response']['balances']['map'](c=>({'balance':c['balance']?.['toString']()??'0','coinType':c['coinType']}))};}async['getTransaction'](a){const {response:b}=await this.#client['ledgerService']['getTransaction']({'digest':a['digest'],'readMask':{'paths':['digest','transaction','effects','signatures','balance_changes']}});return{'transaction':parseTransaction(b['transaction'])};}async['executeTransaction'](a){const {response:b}=await this.#client['transactionExecutionService']['executeTransaction']({'transaction':{'bcs':{'value':a['transaction']}},'signatures':a['signatures']['map'](c=>({'bcs':{'value':fromBase64(c)},'signature':{'oneofKind':undefined}})),'readMask':{'paths':['transaction.digest','transaction.transaction','transaction.effects','transaction.signatures','transaction.balance_changes']}});return{'transaction':parseTransaction(b['transaction'])};}async['dryRunTransaction'](a){const {response:b}=await this.#client['transactionExecutionService']['simulateTransaction']({'transaction':{'bcs':{'value':a['transaction']}},'readMask':{'paths':['transaction.digest','transaction.transaction','transaction.effects','transaction.signatures','transaction.balance_changes']}});return{'transaction':parseTransaction(b['transaction'])};}async['getReferenceGasPrice'](){const a=await this.#client['ledgerService']['getEpoch']({});return{'referenceGasPrice':a['response']['epoch']?.['referenceGasPrice']?.['toString']()};}async['getDynamicFields'](a){const b=await this.#client['stateService']['listDynamicFields']({'parent':a['parentId'],'pageToken':a['cursor']?fromBase64(a['cursor']):undefined});return{'dynamicFields':b['response']['dynamicFields']['map'](c=>({'id':c['fieldId'],'name':{'type':c['name']?.['name'],'bcs':c['name']?.['value']},'type':c['fieldObject']?'0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<'+c['name']?.['name']+'>,0x2::object::ID>':'0x2::dynamic_field::Field<'+c['name']?.['value']+','+c['valueType']+'>'})),'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'hasNextPage':b['response']['nextPageToken']!==undefined};}async['getMoveFunction'](a){const {response:b}=await this.#client['movePackageService']['getFunction']({'packageId':a['packageId'],'moduleName':a['moduleName'],'name':a['name']});let c='unknown';switch(b['function']?.['visibility']){case FunctionDescriptor_Visibility['PUBLIC']:c='public';break;case FunctionDescriptor_Visibility['PRIVATE']:c='private';break;case FunctionDescriptor_Visibility['FRIEND']:c='friend';break;}return{'function':{'packageId':a['packageId'],'moduleName':a['moduleName'],'name':b['function']?.['name'],'visibility':c,'isEntry':b['function']?.['isEntry']??![],'typeParameters':b['function']?.['typeParameters']?.['map'](({constraints:d})=>({'isPhantom':![],'constraints':d['map'](e=>{switch(e){case Ability['COPY']:return'copy';case Ability['DROP']:return'drop';case Ability['STORE']:return'store';case Ability['KEY']:return'key';default:return'unknown';}})??[]}))??[],'parameters':b['function']?.['parameters']?.['map'](d=>parseNormalizedSuiMoveType(d))??[],'returns':b['function']?.['returns']?.['map'](d=>parseNormalizedSuiMoveType(d))??[]}};}['resolveTransactionPlugin'](){return async function a(b,c,d){throw new Error('Transaction\x20resolution\x20is\x20not\x20supported\x20with\x20the\x20GRPC\x20client');};}}function mapOwner(a){if(!a)return null;if(a['kind']===Owner_OwnerKind['IMMUTABLE'])return{'$kind':'Immutable','Immutable':!![]};if(a['kind']===Owner_OwnerKind['ADDRESS'])return{'AddressOwner':a['address'],'$kind':'AddressOwner'};if(a['kind']===Owner_OwnerKind['OBJECT'])return{'$kind':'ObjectOwner','ObjectOwner':a['address']};if(a['kind']===Owner_OwnerKind['SHARED']){if(a['address'])return{'$kind':'ConsensusAddressOwner','ConsensusAddressOwner':{'owner':a['address'],'startVersion':a['version']?.['toString']()}};return{'$kind':'Shared','Shared':{'initialSharedVersion':a['version']?.['toString']()}};}throw new Error('Unknown\x20owner\x20kind');}function mapIdOperation(a){if(a==null)return null;switch(a){case ChangedObject_IdOperation['CREATED']:return'Created';case ChangedObject_IdOperation['DELETED']:return'Deleted';case ChangedObject_IdOperation['NONE']:case ChangedObject_IdOperation['ID_OPERATION_UNKNOWN']:return'None';default:a;return'Unknown';}}function mapInputObjectState(a){if(a==null)return null;switch(a){case ChangedObject_InputObjectState['EXISTS']:return'Exists';case ChangedObject_InputObjectState['DOES_NOT_EXIST']:return'DoesNotExist';case ChangedObject_InputObjectState['UNKNOWN']:return'Unknown';default:a;return'Unknown';}}function mapOutputObjectState(a){if(a==null)return null;switch(a){case ChangedObject_OutputObjectState['OBJECT_WRITE']:return'ObjectWrite';case ChangedObject_OutputObjectState['PACKAGE_WRITE']:return'PackageWrite';case ChangedObject_OutputObjectState['DOES_NOT_EXIST']:return'DoesNotExist';case ChangedObject_OutputObjectState['UNKNOWN']:return'Unknown';default:a;return'Unknown';}}function mapUnchangedConsensusObjectKind(a){if(a==null)return null;switch(a){case UnchangedConsensusObject_UnchangedConsensusObjectKind['UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN']:return'Unknown';case UnchangedConsensusObject_UnchangedConsensusObjectKind['READ_ONLY_ROOT']:return'ReadOnlyRoot';case UnchangedConsensusObject_UnchangedConsensusObjectKind['MUTATE_CONSENSUS_STREAM_ENDED']:return'MutateConsensusStreamEnded';case UnchangedConsensusObject_UnchangedConsensusObjectKind['READ_CONSENSUS_STREAM_ENDED']:return'ReadConsensusStreamEnded';case UnchangedConsensusObject_UnchangedConsensusObjectKind['CANCELED']:return'Cancelled';case UnchangedConsensusObject_UnchangedConsensusObjectKind['PER_EPOCH_CONFIG']:return'PerEpochConfig';default:a;return'Unknown';}}export function parseTransactionEffects({effects:a}){if(!a)return null;const b=a['changedObjects']['map'](c=>{return{'id':c['objectId'],'inputState':mapInputObjectState(c['inputState']),'inputVersion':c['inputVersion']?.['toString']()??null,'inputDigest':c['inputDigest']??null,'inputOwner':mapOwner(c['inputOwner']),'outputState':mapOutputObjectState(c['outputState']),'outputVersion':c['outputVersion']?.['toString']()??null,'outputDigest':c['outputDigest']??null,'outputOwner':mapOwner(c['outputOwner']),'idOperation':mapIdOperation(c['idOperation'])};});return{'bcs':a['bcs']?.['value'],'digest':a['digest'],'version':0x2,'status':a['status']?.['success']?{'success':!![],'error':null}:{'success':![],'error':JSON['stringify'](a['status']?.['error'])},'gasUsed':{'computationCost':a['gasUsed']?.['computationCost']?.['toString'](),'storageCost':a['gasUsed']?.['storageCost']?.['toString'](),'storageRebate':a['gasUsed']?.['storageRebate']?.['toString'](),'nonRefundableStorageFee':a['gasUsed']?.['nonRefundableStorageFee']?.['toString']()},'transactionDigest':a['transactionDigest'],'gasObject':{'id':a['gasObject']?.['objectId'],'inputState':mapInputObjectState(a['gasObject']?.['inputState']),'inputVersion':a['gasObject']?.['inputVersion']?.['toString']()??null,'inputDigest':a['gasObject']?.['inputDigest']??null,'inputOwner':mapOwner(a['gasObject']?.['inputOwner']),'outputState':mapOutputObjectState(a['gasObject']?.['outputState']),'outputVersion':a['gasObject']?.['outputVersion']?.['toString']()??null,'outputDigest':a['gasObject']?.['outputDigest']??null,'outputOwner':mapOwner(a['gasObject']?.['outputOwner']),'idOperation':mapIdOperation(a['gasObject']?.['idOperation'])},'eventsDigest':a['eventsDigest']??null,'dependencies':a['dependencies'],'lamportVersion':a['lamportVersion']?.['toString']()??null,'changedObjects':b,'unchangedConsensusObjects':a['unchangedConsensusObjects']['map'](c=>{return{'kind':mapUnchangedConsensusObjectKind(c['kind']),'objectId':c['objectId'],'version':c['version']?.['toString']()??null,'digest':c['digest']??null};}),'auxiliaryDataDigest':a['auxiliaryDataDigest']??null};}function parseTransaction(a){const b=bcs['SenderSignedData']['parse'](a['transaction']?.['bcs']?.['value'])[0x0],c=bcs['TransactionData']['serialize'](b['intentMessage']['value'])['toBytes'](),d=TransactionDataBuilder['restore']({'version':0x2,'sender':b['intentMessage']['value']['V1']['sender'],'expiration':b['intentMessage']['value']['V1']['expiration'],'gasData':b['intentMessage']['value']['V1']['gasData'],'inputs':b['intentMessage']['value']['V1']['kind']['ProgrammableTransaction']['inputs'],'commands':b['intentMessage']['value']['V1']['kind']['ProgrammableTransaction']['commands']}),e={};a['objects']?.['objects']['forEach'](g=>{g['objectId']&&g['objectType']&&(e[g['objectId']]=g['objectType']);});const f=parseTransactionEffects({'effects':a['effects']});return{'digest':a['digest'],'epoch':a['effects']?.['epoch']?.['toString']()??null,'effects':f,'objectTypes':Promise['resolve'](e),'transaction':{'gasData':d['gasData'],'sender':d['sender'],'expiration':d['expiration'],'commands':d['commands'],'inputs':d['inputs'],'version':d['version'],'bcs':c},'signatures':b['txSignatures'],'balanceChanges':a['balanceChanges']?.['map'](g=>({'coinType':g['coinType'],'address':g['address'],'amount':g['amount']}))??[]};}function parseNormalizedSuiMoveType(a){let b=null;if(a['reference']===OpenSignature_Reference['IMMUTABLE'])b='immutable';else a['reference']===OpenSignature_Reference['MUTABLE']&&(b='mutable');return{'reference':b,'body':parseNormalizedSuiMoveTypeBody(a['body'])};}function parseNormalizedSuiMoveTypeBody(a){switch(a['type']){case OpenSignatureBody_Type['TYPE_UNKNOWN']:return{'$kind':'unknown'};case OpenSignatureBody_Type['ADDRESS']:return{'$kind':'address'};case OpenSignatureBody_Type['BOOL']:return{'$kind':'bool'};case OpenSignatureBody_Type['U8']:return{'$kind':'u8'};case OpenSignatureBody_Type['U16']:return{'$kind':'u16'};case OpenSignatureBody_Type['U32']:return{'$kind':'u32'};case OpenSignatureBody_Type['U64']:return{'$kind':'u64'};case OpenSignatureBody_Type['U128']:return{'$kind':'u128'};case OpenSignatureBody_Type['U256']:return{'$kind':'u256'};case OpenSignatureBody_Type['VECTOR']:return{'$kind':'vector','vector':parseNormalizedSuiMoveTypeBody(a['typeParameterInstantiation'][0x0])};case OpenSignatureBody_Type['DATATYPE']:return{'$kind':'datatype','datatype':{'typeName':a['typeName'],'typeParameters':a['typeParameterInstantiation']['map'](b=>parseNormalizedSuiMoveTypeBody(b))}};case OpenSignatureBody_Type['TYPE_PARAMETER']:return{'$kind':'typeParameter','index':a['typeParameter']};default:return{'$kind':'unknown'};}}
|
|
1
|
+
import{Experimental_CoreClient}from'../experimental/index.js';import{Owner_OwnerKind}from'./proto/sui/rpc/v2/owner.js';import{chunk,fromBase64,toBase64}from'../_deps/utils/index.js';import{UnchangedConsensusObject_UnchangedConsensusObjectKind}from'./proto/sui/rpc/v2/effects.js';import{ChangedObject_IdOperation,ChangedObject_InputObjectState,ChangedObject_OutputObjectState}from'./proto/sui/rpc/v2/effects.js';import{TransactionDataBuilder}from'../transactions/index.js';import{bcs}from'../bcs/index.js';import{Ability,FunctionDescriptor_Visibility,OpenSignature_Reference,OpenSignatureBody_Type}from'./proto/sui/rpc/v2/move_package.js';export class GrpcCoreClient extends Experimental_CoreClient{#client;constructor({client:a,...b}){super(b),this.#client=a;}async['getObjects'](a){const b=chunk(a['objectIds'],0x32),c=[];for(const d of b){const e=await this.#client['ledgerService']['batchGetObjects']({'requests':d['map'](f=>({'objectId':f})),'readMask':{'paths':['owner','object_type','bcs','digest','version','object_id','previous_transaction']}});c['push'](...e['response']['objects']['map'](f=>{if(f['result']['oneofKind']==='error')return new Error(f['result']['error']['message']);if(f['result']['oneofKind']!=='object')return new Error('Unexpected\x20result\x20type');const g=f['result']['object'];return{'id':g['objectId'],'version':g['version']?.['toString'](),'digest':g['digest'],'content':Promise['resolve'](g['bcs']?.['value']),'owner':mapOwner(g['owner']),'type':g['objectType'],'previousTransaction':g['previousTransaction']??null};}));}return{'objects':c};}async['getOwnedObjects'](a){const b=await this.#client['stateService']['listOwnedObjects']({'owner':a['address'],'objectType':a['type'],'pageToken':a['cursor']?fromBase64(a['cursor']):undefined,'readMask':{'paths':['owner','object_type','bcs','digest','version','object_id','previous_transaction']}}),c=b['response']['objects']['map'](d=>({'id':d['objectId'],'version':d['version']?.['toString'](),'digest':d['digest'],get 'content'(){return d['bcs']?.['value']?Promise['resolve'](d['bcs']['value']):Promise['reject'](new Error('GRPC\x20does\x20not\x20return\x20object\x20contents\x20when\x20listing\x20owned\x20objects'));},'owner':mapOwner(d['owner']),'type':d['objectType'],'previousTransaction':d['previousTransaction']??null}));return{'objects':c,'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'hasNextPage':b['response']['nextPageToken']!==undefined};}async['getCoins'](a){const b=await this.#client['stateService']['listOwnedObjects']({'owner':a['address'],'objectType':'0x2::coin::Coin<'+a['coinType']+'>','pageToken':a['cursor']?fromBase64(a['cursor']):undefined,'readMask':{'paths':['owner','object_type','bcs','digest','version','object_id','balance','previous_transaction']}});return{'objects':b['response']['objects']['map'](c=>({'id':c['objectId'],'version':c['version']?.['toString'](),'digest':c['digest'],get 'content'(){return c['bcs']?.['value']?Promise['resolve'](c['bcs']['value']):Promise['reject'](new Error('GRPC\x20does\x20not\x20return\x20object\x20contents\x20when\x20listing\x20owned\x20objects'));},'owner':mapOwner(c['owner']),'type':c['objectType'],'balance':c['balance']?.['toString'](),'previousTransaction':c['previousTransaction']??null})),'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'hasNextPage':b['response']['nextPageToken']!==undefined};}async['getBalance'](a){const b=await this.#client['stateService']['getBalance']({'owner':a['address'],'coinType':a['coinType']});return{'balance':{'balance':b['response']['balance']?.['balance']?.['toString']()??'0','coinType':b['response']['balance']?.['coinType']??a['coinType']}};}async['getAllBalances'](a){const b=await this.#client['stateService']['listBalances']({'owner':a['address'],'pageToken':a['cursor']?fromBase64(a['cursor']):undefined,'pageSize':a['limit']});return{'hasNextPage':!!b['response']['nextPageToken'],'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'balances':b['response']['balances']['map'](c=>({'balance':c['balance']?.['toString']()??'0','coinType':c['coinType']}))};}async['getTransaction'](a){const {response:b}=await this.#client['ledgerService']['getTransaction']({'digest':a['digest'],'readMask':{'paths':['digest','transaction','effects','signatures','balance_changes']}});return{'transaction':parseTransaction(b['transaction'])};}async['executeTransaction'](a){const {response:b}=await this.#client['transactionExecutionService']['executeTransaction']({'transaction':{'bcs':{'value':a['transaction']}},'signatures':a['signatures']['map'](c=>({'bcs':{'value':fromBase64(c)},'signature':{'oneofKind':undefined}})),'readMask':{'paths':['transaction.digest','transaction.transaction','transaction.effects','transaction.signatures','transaction.balance_changes']}});return{'transaction':parseTransaction(b['transaction'])};}async['dryRunTransaction'](a){const {response:b}=await this.#client['transactionExecutionService']['simulateTransaction']({'transaction':{'bcs':{'value':a['transaction']}},'readMask':{'paths':['transaction.digest','transaction.transaction','transaction.effects','transaction.signatures','transaction.balance_changes']}});return{'transaction':parseTransaction(b['transaction'])};}async['getReferenceGasPrice'](){const a=await this.#client['ledgerService']['getEpoch']({});return{'referenceGasPrice':a['response']['epoch']?.['referenceGasPrice']?.['toString']()};}async['getDynamicFields'](a){const b=await this.#client['stateService']['listDynamicFields']({'parent':a['parentId'],'pageToken':a['cursor']?fromBase64(a['cursor']):undefined});return{'dynamicFields':b['response']['dynamicFields']['map'](c=>({'id':c['fieldId'],'name':{'type':c['name']?.['name'],'bcs':c['name']?.['value']},'type':c['fieldObject']?'0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<'+c['name']?.['name']+'>,0x2::object::ID>':'0x2::dynamic_field::Field<'+c['name']?.['value']+','+c['valueType']+'>'})),'cursor':b['response']['nextPageToken']?toBase64(b['response']['nextPageToken']):null,'hasNextPage':b['response']['nextPageToken']!==undefined};}async['getMoveFunction'](a){const {response:b}=await this.#client['movePackageService']['getFunction']({'packageId':a['packageId'],'moduleName':a['moduleName'],'name':a['name']});let c='unknown';switch(b['function']?.['visibility']){case FunctionDescriptor_Visibility['PUBLIC']:c='public';break;case FunctionDescriptor_Visibility['PRIVATE']:c='private';break;case FunctionDescriptor_Visibility['FRIEND']:c='friend';break;}return{'function':{'packageId':a['packageId'],'moduleName':a['moduleName'],'name':b['function']?.['name'],'visibility':c,'isEntry':b['function']?.['isEntry']??![],'typeParameters':b['function']?.['typeParameters']?.['map'](({constraints:d})=>({'isPhantom':![],'constraints':d['map'](e=>{switch(e){case Ability['COPY']:return'copy';case Ability['DROP']:return'drop';case Ability['STORE']:return'store';case Ability['KEY']:return'key';default:return'unknown';}})??[]}))??[],'parameters':b['function']?.['parameters']?.['map'](d=>parseNormalizedWowMoveType(d))??[],'returns':b['function']?.['returns']?.['map'](d=>parseNormalizedWowMoveType(d))??[]}};}['resolveTransactionPlugin'](){return async function a(b,c,d){throw new Error('Transaction\x20resolution\x20is\x20not\x20supported\x20with\x20the\x20GRPC\x20client');};}}function mapOwner(a){if(!a)return null;if(a['kind']===Owner_OwnerKind['IMMUTABLE'])return{'$kind':'Immutable','Immutable':!![]};if(a['kind']===Owner_OwnerKind['ADDRESS'])return{'AddressOwner':a['address'],'$kind':'AddressOwner'};if(a['kind']===Owner_OwnerKind['OBJECT'])return{'$kind':'ObjectOwner','ObjectOwner':a['address']};if(a['kind']===Owner_OwnerKind['SHARED']){if(a['address'])return{'$kind':'ConsensusAddressOwner','ConsensusAddressOwner':{'owner':a['address'],'startVersion':a['version']?.['toString']()}};return{'$kind':'Shared','Shared':{'initialSharedVersion':a['version']?.['toString']()}};}throw new Error('Unknown\x20owner\x20kind');}function mapIdOperation(a){if(a==null)return null;switch(a){case ChangedObject_IdOperation['CREATED']:return'Created';case ChangedObject_IdOperation['DELETED']:return'Deleted';case ChangedObject_IdOperation['NONE']:case ChangedObject_IdOperation['ID_OPERATION_UNKNOWN']:return'None';default:a;return'Unknown';}}function mapInputObjectState(a){if(a==null)return null;switch(a){case ChangedObject_InputObjectState['EXISTS']:return'Exists';case ChangedObject_InputObjectState['DOES_NOT_EXIST']:return'DoesNotExist';case ChangedObject_InputObjectState['UNKNOWN']:return'Unknown';default:a;return'Unknown';}}function mapOutputObjectState(a){if(a==null)return null;switch(a){case ChangedObject_OutputObjectState['OBJECT_WRITE']:return'ObjectWrite';case ChangedObject_OutputObjectState['PACKAGE_WRITE']:return'PackageWrite';case ChangedObject_OutputObjectState['DOES_NOT_EXIST']:return'DoesNotExist';case ChangedObject_OutputObjectState['UNKNOWN']:return'Unknown';default:a;return'Unknown';}}function mapUnchangedConsensusObjectKind(a){if(a==null)return null;switch(a){case UnchangedConsensusObject_UnchangedConsensusObjectKind['UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN']:return'Unknown';case UnchangedConsensusObject_UnchangedConsensusObjectKind['READ_ONLY_ROOT']:return'ReadOnlyRoot';case UnchangedConsensusObject_UnchangedConsensusObjectKind['MUTATE_CONSENSUS_STREAM_ENDED']:return'MutateConsensusStreamEnded';case UnchangedConsensusObject_UnchangedConsensusObjectKind['READ_CONSENSUS_STREAM_ENDED']:return'ReadConsensusStreamEnded';case UnchangedConsensusObject_UnchangedConsensusObjectKind['CANCELED']:return'Cancelled';case UnchangedConsensusObject_UnchangedConsensusObjectKind['PER_EPOCH_CONFIG']:return'PerEpochConfig';default:a;return'Unknown';}}export function parseTransactionEffects({effects:a}){if(!a)return null;const b=a['changedObjects']['map'](c=>{return{'id':c['objectId'],'inputState':mapInputObjectState(c['inputState']),'inputVersion':c['inputVersion']?.['toString']()??null,'inputDigest':c['inputDigest']??null,'inputOwner':mapOwner(c['inputOwner']),'outputState':mapOutputObjectState(c['outputState']),'outputVersion':c['outputVersion']?.['toString']()??null,'outputDigest':c['outputDigest']??null,'outputOwner':mapOwner(c['outputOwner']),'idOperation':mapIdOperation(c['idOperation'])};});return{'bcs':a['bcs']?.['value'],'digest':a['digest'],'version':0x2,'status':a['status']?.['success']?{'success':!![],'error':null}:{'success':![],'error':JSON['stringify'](a['status']?.['error'])},'gasUsed':{'computationCost':a['gasUsed']?.['computationCost']?.['toString'](),'storageCost':a['gasUsed']?.['storageCost']?.['toString'](),'storageRebate':a['gasUsed']?.['storageRebate']?.['toString'](),'nonRefundableStorageFee':a['gasUsed']?.['nonRefundableStorageFee']?.['toString']()},'transactionDigest':a['transactionDigest'],'gasObject':{'id':a['gasObject']?.['objectId'],'inputState':mapInputObjectState(a['gasObject']?.['inputState']),'inputVersion':a['gasObject']?.['inputVersion']?.['toString']()??null,'inputDigest':a['gasObject']?.['inputDigest']??null,'inputOwner':mapOwner(a['gasObject']?.['inputOwner']),'outputState':mapOutputObjectState(a['gasObject']?.['outputState']),'outputVersion':a['gasObject']?.['outputVersion']?.['toString']()??null,'outputDigest':a['gasObject']?.['outputDigest']??null,'outputOwner':mapOwner(a['gasObject']?.['outputOwner']),'idOperation':mapIdOperation(a['gasObject']?.['idOperation'])},'eventsDigest':a['eventsDigest']??null,'dependencies':a['dependencies'],'lamportVersion':a['lamportVersion']?.['toString']()??null,'changedObjects':b,'unchangedConsensusObjects':a['unchangedConsensusObjects']['map'](c=>{return{'kind':mapUnchangedConsensusObjectKind(c['kind']),'objectId':c['objectId'],'version':c['version']?.['toString']()??null,'digest':c['digest']??null};}),'auxiliaryDataDigest':a['auxiliaryDataDigest']??null};}function parseTransaction(a){const b=bcs['SenderSignedData']['parse'](a['transaction']?.['bcs']?.['value'])[0x0],c=bcs['TransactionData']['serialize'](b['intentMessage']['value'])['toBytes'](),d=TransactionDataBuilder['restore']({'version':0x2,'sender':b['intentMessage']['value']['V1']['sender'],'expiration':b['intentMessage']['value']['V1']['expiration'],'gasData':b['intentMessage']['value']['V1']['gasData'],'inputs':b['intentMessage']['value']['V1']['kind']['ProgrammableTransaction']['inputs'],'commands':b['intentMessage']['value']['V1']['kind']['ProgrammableTransaction']['commands']}),e={};a['objects']?.['objects']['forEach'](g=>{g['objectId']&&g['objectType']&&(e[g['objectId']]=g['objectType']);});const f=parseTransactionEffects({'effects':a['effects']});return{'digest':a['digest'],'epoch':a['effects']?.['epoch']?.['toString']()??null,'effects':f,'objectTypes':Promise['resolve'](e),'transaction':{'gasData':d['gasData'],'sender':d['sender'],'expiration':d['expiration'],'commands':d['commands'],'inputs':d['inputs'],'version':d['version'],'bcs':c},'signatures':b['txSignatures'],'balanceChanges':a['balanceChanges']?.['map'](g=>({'coinType':g['coinType'],'address':g['address'],'amount':g['amount']}))??[]};}function parseNormalizedWowMoveType(a){let b=null;if(a['reference']===OpenSignature_Reference['IMMUTABLE'])b='immutable';else a['reference']===OpenSignature_Reference['MUTABLE']&&(b='mutable');return{'reference':b,'body':parseNormalizedWowMoveTypeBody(a['body'])};}function parseNormalizedWowMoveTypeBody(a){switch(a['type']){case OpenSignatureBody_Type['TYPE_UNKNOWN']:return{'$kind':'unknown'};case OpenSignatureBody_Type['ADDRESS']:return{'$kind':'address'};case OpenSignatureBody_Type['BOOL']:return{'$kind':'bool'};case OpenSignatureBody_Type['U8']:return{'$kind':'u8'};case OpenSignatureBody_Type['U16']:return{'$kind':'u16'};case OpenSignatureBody_Type['U32']:return{'$kind':'u32'};case OpenSignatureBody_Type['U64']:return{'$kind':'u64'};case OpenSignatureBody_Type['U128']:return{'$kind':'u128'};case OpenSignatureBody_Type['U256']:return{'$kind':'u256'};case OpenSignatureBody_Type['VECTOR']:return{'$kind':'vector','vector':parseNormalizedWowMoveTypeBody(a['typeParameterInstantiation'][0x0])};case OpenSignatureBody_Type['DATATYPE']:return{'$kind':'datatype','datatype':{'typeName':a['typeName'],'typeParameters':a['typeParameterInstantiation']['map'](b=>parseNormalizedWowMoveTypeBody(b))}};case OpenSignatureBody_Type['TYPE_PARAMETER']:return{'$kind':'typeParameter','index':a['typeParameter']};default:return{'$kind':'unknown'};}}
|
package/dist/esm/grpc/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { WowGrpcClient } from "./client.js";
|
|
2
2
|
export { GrpcCoreClient } from "./core.js";
|
|
3
|
-
export type {
|
|
3
|
+
export type { WowGrpcClientOptions } from "./client.js";
|
|
4
4
|
export type { GrpcCoreClientOptions } from "./core.js";
|
package/dist/esm/grpc/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{WowGrpcClient}from'./client.js';export{GrpcCoreClient}from'./core.js';
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export * from "./w/common.js";
|
|
2
2
|
export * from "./w/query/object.js";
|
|
3
3
|
export * from "./bcs/index.js";
|
|
4
|
-
export { ENTRYPOINT, getFullnodeUrl,
|
|
5
|
-
export type {
|
|
4
|
+
export { ENTRYPOINT, getFullnodeUrl, WowClient, type WowTransport, type WowTransportRequestOptions, type WowTransportSubscribeOptions, type HttpHeaders, type WowHTTPTransportOptions, WowHTTPTransport, WowHTTPStatusError, WowHTTPTransportError, JsonRpcError, } from "./client/index.js";
|
|
5
|
+
export type { WowObjectData, WowObjectResponse, WowObjectRef, WowParsedData, WowEvent, WowTransactionBlockResponse, ExecutionStatus, GasCostSummary, ObjectOwner, Balance, BalanceChange, Checkpoint, EpochInfo, MoveCallParams, WowMoveFunctionArgType, MoveStruct, MoveValue, MultiSig, WowObjectDataFilter, WowObjectDataOptions, SuiTransaction, SuiValidatorSummary, WowSystemStateSummary, } from "./jsonRpc/types/index.js";
|
|
6
6
|
export type { MultiSigPublicKey } from "./jsonRpc/types/index.js";
|
|
7
7
|
export { type SerializeSignatureInput, toSerializedSignature, parseSerializedSignature, SIGNATURE_SCHEME_TO_FLAG, SIGNATURE_SCHEME_TO_SIZE, SIGNATURE_FLAG_TO_SCHEME, type SignatureScheme, type SignatureFlag, isValidHardenedPath, isValidBIP32Path, mnemonicToSeed, mnemonicToSeedHex, messageWithIntent, type IntentScope, PRIVATE_KEY_SIZE, FALCON512_PRIVATE_KEY_SIZE, W_PRIVATE_KEY_PREFIX, type ParsedKeypair, type SignatureWithBytes, Signer, Keypair, decodeWowPrivateKey, encodeWowPrivateKey, PublicKey as CryptoPublicKey, } from "./cryptography/index.js";
|
|
8
8
|
export * from "./experimental/index.js";
|
|
@@ -22,4 +22,4 @@ export { ValueType, ObjectType, isValidName, isValidDescription, isValidLongName
|
|
|
22
22
|
export type { CallEnv, NamedObject, NamedObjectWithDescription, NamedObjectWithPermission, TypeNamedObject, TypeNamedObjectWithPermission, DescriptionObject, WithPermissionObject, TypedPermissionObject, TypedDescriptionObject, NormalObject, } from "./w/common.js";
|
|
23
23
|
export { ResponseData } from "./w/call/base.js";
|
|
24
24
|
export { BUITIN_IDS, isValidAddress } from "./w/local/local.js";
|
|
25
|
-
export { isValidWowAddress } from "./utils/
|
|
25
|
+
export { isValidWowAddress } from "./utils/wow-types.js";
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from'./w/common.js';export*from'./w/query/object.js';export*from'./bcs/index.js';export{ENTRYPOINT,getFullnodeUrl,
|
|
1
|
+
export*from'./w/common.js';export*from'./w/query/object.js';export*from'./bcs/index.js';export{ENTRYPOINT,getFullnodeUrl,WowClient,WowHTTPTransport,WowHTTPStatusError,WowHTTPTransportError,JsonRpcError}from'./client/index.js';export{toSerializedSignature,parseSerializedSignature,SIGNATURE_SCHEME_TO_FLAG,SIGNATURE_SCHEME_TO_SIZE,SIGNATURE_FLAG_TO_SCHEME,isValidHardenedPath,isValidBIP32Path,mnemonicToSeed,mnemonicToSeedHex,messageWithIntent,PRIVATE_KEY_SIZE,FALCON512_PRIVATE_KEY_SIZE,W_PRIVATE_KEY_PREFIX,Signer,Keypair,decodeWowPrivateKey,encodeWowPrivateKey,PublicKey as CryptoPublicKey}from'./cryptography/index.js';export*from'./experimental/index.js';export*from'./faucet/index.js';export*from'./grpc/index.js';export*from'./jsonRpc/index.js';export*from'./keypairs/index.js';export{MultiSigSigner}from'./multisig/signer.js';export{parsePartialSignatures}from'./multisig/publickey.js';export{MultiSigPublicKey as MultisigPublicKey}from'./multisig/publickey.js';export*from'./transactions/index.js';export*from'./utils/index.js';export*from'./verify/index.js';export*from'./w/index.js';export{parseGuardFile,parseGuardFromMarkdown,validateGuardNode,formatGuardParseErrors}from'./w/call/guard.js';export{ValueType,ObjectType,isValidName,isValidDescription,isValidLongName,MAX_DESCRIPTION_LENGTH,MAX_LONG_NAME_LENGTH,MAX_NAME_LENGTH,IsValidArgType,GetObjectExisted,GetObjectDescription,GetObject}from'./w/common.js';export{ResponseData}from'./w/call/base.js';export{BUITIN_IDS,isValidAddress}from'./w/local/local.js';export{isValidWowAddress}from'./utils/wow-types.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Signer } from "../cryptography/index.js";
|
|
2
2
|
import { Experimental_BaseClient } from "../experimental/client.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { Experimental_WowClientTypes } from "../experimental/types.js";
|
|
4
4
|
import type { Transaction } from "../transactions/Transaction.js";
|
|
5
5
|
import type { JsonRpcTransport } from "./http-transport.js";
|
|
6
|
-
import type { AddressMetrics, AllEpochsAddressMetrics, Checkpoint, CheckpointPage, CoinBalance, CoinMetadata, CoinSupply, CommitteeInfo, DelegatedStake, DevInspectResults, DevInspectTransactionBlockParams, DryRunTransactionBlockParams, DryRunTransactionBlockResponse, DynamicFieldPage, EpochInfo, EpochMetricsPage, EpochPage, ExecuteTransactionBlockParams, GetAllBalancesParams, GetAllCoinsParams, GetBalanceParams, GetCheckpointParams, GetCheckpointsParams, GetCoinMetadataParams, GetCoinsParams, GetCommitteeInfoParams, GetDynamicFieldObjectParams, GetDynamicFieldsParams, GetLatestCheckpointSequenceNumberParams,
|
|
6
|
+
import type { AddressMetrics, AllEpochsAddressMetrics, Checkpoint, CheckpointPage, CoinBalance, CoinMetadata, CoinSupply, CommitteeInfo, DelegatedStake, DevInspectResults, DevInspectTransactionBlockParams, DryRunTransactionBlockParams, DryRunTransactionBlockResponse, DynamicFieldPage, EpochInfo, EpochMetricsPage, EpochPage, ExecuteTransactionBlockParams, GetAllBalancesParams, GetAllCoinsParams, GetBalanceParams, GetCheckpointParams, GetCheckpointsParams, GetCoinMetadataParams, GetCoinsParams, GetCommitteeInfoParams, GetDynamicFieldObjectParams, GetDynamicFieldsParams, GetLatestCheckpointSequenceNumberParams, GetLatestWowSystemStateParams, ObjectRead, GetMoveFunctionArgTypesParams, GetNormalizedMoveFunctionParams, GetNormalizedMoveModuleParams, GetNormalizedMoveModulesByPackageParams, GetNormalizedMoveStructParams, GetObjectParams, GetOwnedObjectsParams, GetProtocolConfigParams, GetReferenceGasPriceParams, GetStakesByIdsParams, GetStakesParams, GetTotalSupplyParams, GetTransactionBlockParams, MoveCallMetrics, MultiGetObjectsParams, MultiGetTransactionBlocksParams, NetworkMetrics, Order, PaginatedCoins, PaginatedEvents, PaginatedObjectsResponse, PaginatedTransactionResponse, ProtocolConfig, QueryEventsParams, QueryTransactionBlocksParams, SubscribeEventParams, SubscribeTransactionParams, WowEvent, WowMoveFunctionArgType, WowMoveNormalizedFunction, WowMoveNormalizedModule, WowMoveNormalizedModules, WowMoveNormalizedStruct, WowObjectResponse, WowSystemStateSummary, WowTransactionBlockResponse, TransactionEffects, TryGetPastObjectParams, Unsubscribe, ValidatorsApy } from "./types/index.js";
|
|
7
7
|
import { JSONRpcCoreClient } from "./core.js";
|
|
8
8
|
export interface PaginationArguments<Cursor> {
|
|
9
9
|
cursor?: Cursor;
|
|
@@ -12,8 +12,8 @@ export interface PaginationArguments<Cursor> {
|
|
|
12
12
|
export interface OrderArguments {
|
|
13
13
|
order?: Order | null;
|
|
14
14
|
}
|
|
15
|
-
export type
|
|
16
|
-
network?:
|
|
15
|
+
export type WowJsonRpcClientOptions = NetworkOrTransport & {
|
|
16
|
+
network?: Experimental_WowClientTypes.Network;
|
|
17
17
|
};
|
|
18
18
|
type NetworkOrTransport = {
|
|
19
19
|
url: string;
|
|
@@ -22,14 +22,14 @@ type NetworkOrTransport = {
|
|
|
22
22
|
transport: JsonRpcTransport;
|
|
23
23
|
url?: never;
|
|
24
24
|
};
|
|
25
|
-
declare const
|
|
26
|
-
export declare function
|
|
27
|
-
export declare class
|
|
28
|
-
[
|
|
25
|
+
declare const WOW_CLIENT_BRAND: never;
|
|
26
|
+
export declare function isWowJsonRpcClient(client: unknown): client is WowJsonRpcClient;
|
|
27
|
+
export declare class WowJsonRpcClient extends Experimental_BaseClient {
|
|
28
|
+
[WOW_CLIENT_BRAND]: boolean;
|
|
29
29
|
core: JSONRpcCoreClient;
|
|
30
30
|
jsonRpc: this;
|
|
31
31
|
protected transport: JsonRpcTransport;
|
|
32
|
-
constructor(options:
|
|
32
|
+
constructor(options: WowJsonRpcClientOptions);
|
|
33
33
|
getRpcApiVersion({ signal }?: {
|
|
34
34
|
signal?: AbortSignal;
|
|
35
35
|
}): Promise<string | undefined>;
|
|
@@ -42,33 +42,33 @@ export declare class SuiJsonRpcClient extends Experimental_BaseClient {
|
|
|
42
42
|
call<T = unknown>(method: string, params: unknown[], { signal }?: {
|
|
43
43
|
signal?: AbortSignal;
|
|
44
44
|
}): Promise<T>;
|
|
45
|
-
getMoveFunctionArgTypes({ package: pkg, module, function: fn, signal, }: GetMoveFunctionArgTypesParams): Promise<
|
|
46
|
-
getNormalizedMoveModulesByPackage({ package: pkg, signal, }: GetNormalizedMoveModulesByPackageParams): Promise<
|
|
47
|
-
getNormalizedMoveModule({ package: pkg, module, signal, }: GetNormalizedMoveModuleParams): Promise<
|
|
48
|
-
getNormalizedMoveFunction({ package: pkg, module, function: fn, signal, }: GetNormalizedMoveFunctionParams): Promise<
|
|
49
|
-
getNormalizedMoveStruct({ package: pkg, module, struct, signal, }: GetNormalizedMoveStructParams): Promise<
|
|
45
|
+
getMoveFunctionArgTypes({ package: pkg, module, function: fn, signal, }: GetMoveFunctionArgTypesParams): Promise<WowMoveFunctionArgType[]>;
|
|
46
|
+
getNormalizedMoveModulesByPackage({ package: pkg, signal, }: GetNormalizedMoveModulesByPackageParams): Promise<WowMoveNormalizedModules>;
|
|
47
|
+
getNormalizedMoveModule({ package: pkg, module, signal, }: GetNormalizedMoveModuleParams): Promise<WowMoveNormalizedModule>;
|
|
48
|
+
getNormalizedMoveFunction({ package: pkg, module, function: fn, signal, }: GetNormalizedMoveFunctionParams): Promise<WowMoveNormalizedFunction>;
|
|
49
|
+
getNormalizedMoveStruct({ package: pkg, module, struct, signal, }: GetNormalizedMoveStructParams): Promise<WowMoveNormalizedStruct>;
|
|
50
50
|
getOwnedObjects(input: GetOwnedObjectsParams): Promise<PaginatedObjectsResponse>;
|
|
51
|
-
getObject(input: GetObjectParams): Promise<
|
|
51
|
+
getObject(input: GetObjectParams): Promise<WowObjectResponse>;
|
|
52
52
|
tryGetPastObject(input: TryGetPastObjectParams): Promise<ObjectRead>;
|
|
53
|
-
multiGetObjects(input: MultiGetObjectsParams): Promise<
|
|
53
|
+
multiGetObjects(input: MultiGetObjectsParams): Promise<WowObjectResponse[]>;
|
|
54
54
|
queryTransactionBlocks({ filter, options, cursor, limit, order, signal, }: QueryTransactionBlocksParams): Promise<PaginatedTransactionResponse>;
|
|
55
|
-
getTransactionBlock(input: GetTransactionBlockParams): Promise<
|
|
56
|
-
multiGetTransactionBlocks(input: MultiGetTransactionBlocksParams): Promise<
|
|
57
|
-
executeTransactionBlock({ transactionBlock, signature, options, requestType, signal, }: ExecuteTransactionBlockParams): Promise<
|
|
55
|
+
getTransactionBlock(input: GetTransactionBlockParams): Promise<WowTransactionBlockResponse>;
|
|
56
|
+
multiGetTransactionBlocks(input: MultiGetTransactionBlocksParams): Promise<WowTransactionBlockResponse[]>;
|
|
57
|
+
executeTransactionBlock({ transactionBlock, signature, options, requestType, signal, }: ExecuteTransactionBlockParams): Promise<WowTransactionBlockResponse>;
|
|
58
58
|
signAndExecuteTransaction({ transaction, signer, ...input }: {
|
|
59
59
|
transaction: Uint8Array | Transaction;
|
|
60
60
|
signer: Signer;
|
|
61
|
-
} & Omit<ExecuteTransactionBlockParams, "transactionBlock" | "signature">): Promise<
|
|
61
|
+
} & Omit<ExecuteTransactionBlockParams, "transactionBlock" | "signature">): Promise<WowTransactionBlockResponse>;
|
|
62
62
|
getTotalTransactionBlocks({ signal, }?: {
|
|
63
63
|
signal?: AbortSignal;
|
|
64
64
|
}): Promise<bigint>;
|
|
65
65
|
getReferenceGasPrice({ signal, }?: GetReferenceGasPriceParams): Promise<bigint>;
|
|
66
66
|
getStakes(input: GetStakesParams): Promise<DelegatedStake[]>;
|
|
67
67
|
getStakesByIds(input: GetStakesByIdsParams): Promise<DelegatedStake[]>;
|
|
68
|
-
|
|
68
|
+
getLatestWowSystemState({ signal, }?: GetLatestWowSystemStateParams): Promise<WowSystemStateSummary>;
|
|
69
69
|
queryEvents({ query, cursor, limit, order, signal, }: QueryEventsParams): Promise<PaginatedEvents>;
|
|
70
70
|
subscribeEvent(input: SubscribeEventParams & {
|
|
71
|
-
onMessage: (event:
|
|
71
|
+
onMessage: (event: WowEvent) => void;
|
|
72
72
|
}): Promise<Unsubscribe>;
|
|
73
73
|
subscribeTransaction(input: SubscribeTransactionParams & {
|
|
74
74
|
onMessage: (event: TransactionEffects) => void;
|
|
@@ -76,7 +76,7 @@ export declare class SuiJsonRpcClient extends Experimental_BaseClient {
|
|
|
76
76
|
devInspectTransactionBlock(input: DevInspectTransactionBlockParams): Promise<DevInspectResults>;
|
|
77
77
|
dryRunTransactionBlock(input: DryRunTransactionBlockParams): Promise<DryRunTransactionBlockResponse>;
|
|
78
78
|
getDynamicFields(input: GetDynamicFieldsParams): Promise<DynamicFieldPage>;
|
|
79
|
-
getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<
|
|
79
|
+
getDynamicFieldObject(input: GetDynamicFieldObjectParams): Promise<WowObjectResponse>;
|
|
80
80
|
getLatestCheckpointSequenceNumber({ signal, }?: GetLatestCheckpointSequenceNumberParams): Promise<string>;
|
|
81
81
|
getCheckpoint(input: GetCheckpointParams): Promise<Checkpoint>;
|
|
82
82
|
getCheckpoints(input: PaginationArguments<CheckpointPage["nextCursor"]> & GetCheckpointsParams): Promise<CheckpointPage>;
|
|
@@ -116,6 +116,6 @@ export declare class SuiJsonRpcClient extends Experimental_BaseClient {
|
|
|
116
116
|
signal?: AbortSignal;
|
|
117
117
|
timeout?: number;
|
|
118
118
|
pollInterval?: number;
|
|
119
|
-
} & Parameters<
|
|
119
|
+
} & Parameters<WowJsonRpcClient["getTransactionBlock"]>[0]): Promise<WowTransactionBlockResponse>;
|
|
120
120
|
}
|
|
121
121
|
export {};
|