@kontor/kontor-sdk 1.0.0-alpha.26 → 1.0.0-alpha.27
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/sdk/actions/kontor/public/call-compose.js +7 -9
- package/dist/cjs/sdk/actions/kontor/public/call-compose.js.map +1 -1
- package/dist/cjs/sdk/actions/kontor/public/proc-contract.js +5 -8
- package/dist/cjs/sdk/actions/kontor/public/proc-contract.js.map +1 -1
- package/dist/cjs/sdk/actions/kontor/wallet/sign-commit.js.map +1 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
- package/dist/cjs/wit/wit-parser/core/utils.js.map +1 -1
- package/dist/cjs/wit/wit-parser/parse-wit.js.map +1 -1
- package/dist/esm/sdk/actions/kontor/public/call-compose.js +8 -10
- package/dist/esm/sdk/actions/kontor/public/call-compose.js.map +1 -1
- package/dist/esm/sdk/actions/kontor/public/proc-contract.js +5 -9
- package/dist/esm/sdk/actions/kontor/public/proc-contract.js.map +1 -1
- package/dist/esm/sdk/actions/kontor/wallet/sign-commit.js +1 -0
- package/dist/esm/sdk/actions/kontor/wallet/sign-commit.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/wit/wit-parser/core/utils.js +0 -5
- package/dist/esm/wit/wit-parser/core/utils.js.map +1 -1
- package/dist/esm/wit/wit-parser/parse-wit.js.map +1 -1
- package/dist/types/sdk/actions/kontor/public/call-compose.d.ts +6 -5
- package/dist/types/sdk/actions/kontor/public/call-compose.d.ts.map +1 -1
- package/dist/types/sdk/actions/kontor/public/proc-contract.d.ts +5 -5
- package/dist/types/sdk/actions/kontor/public/proc-contract.d.ts.map +1 -1
- package/dist/types/sdk/actions/kontor/wallet/sign-commit.d.ts +4 -2
- package/dist/types/sdk/actions/kontor/wallet/sign-commit.d.ts.map +1 -1
- package/dist/types/sdk/actions/kontor/wallet/sign-reveal.d.ts +1 -1
- package/dist/types/sdk/actions/kontor/wallet/sign-reveal.d.ts.map +1 -1
- package/dist/types/sdk/clients/decorators/kontor/public.d.ts +2 -2
- package/dist/types/sdk/clients/decorators/kontor/public.d.ts.map +1 -1
- package/dist/types/sdk/clients/decorators/kontor/wallet.d.ts +1 -1
- package/dist/types/sdk/clients/decorators/kontor/wallet.d.ts.map +1 -1
- package/dist/types/sdk/clients/kontor/create-public-client.d.ts +1 -1
- package/dist/types/sdk/clients/kontor/create-public-client.d.ts.map +1 -1
- package/dist/types/sdk/clients/kontor/create-wallet-client.d.ts +1 -1
- package/dist/types/sdk/clients/kontor/create-wallet-client.d.ts.map +1 -1
- package/dist/types/sdk/types/chain.d.ts +1 -0
- package/dist/types/sdk/types/chain.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/core/utils.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/parse-wit.d.ts +0 -15
- package/dist/types/wit/wit-parser/parse-wit.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/sdk/actions/kontor/public/call-compose.ts +29 -22
- package/src/sdk/actions/kontor/public/proc-contract.test.ts +3 -0
- package/src/sdk/actions/kontor/public/proc-contract.ts +60 -15
- package/src/sdk/actions/kontor/wallet/sign-commit.ts +18 -7
- package/src/sdk/actions/kontor/wallet/sign-reveal.ts +1 -1
- package/src/sdk/clients/decorators/kontor/public.ts +4 -4
- package/src/sdk/clients/decorators/kontor/wallet.ts +2 -2
- package/src/sdk/clients/kontor/create-public-client.ts +3 -3
- package/src/sdk/clients/kontor/create-wallet-client.ts +3 -3
- package/src/sdk/test/e2e.test.ts +8 -12
- package/src/sdk/types/chain.ts +5 -0
- package/src/wit/wit-parser/core/utils.ts +1 -5
- package/src/wit/wit-parser/parse-wit.ts +0 -15
|
@@ -8,23 +8,33 @@ import type { Chain, GetChainParameter } from "../../../types/chain.js";
|
|
|
8
8
|
import { getAction } from "../../..//utils/get-action.js";
|
|
9
9
|
import { signPsbt } from "../../wallet/sign-psbt.js";
|
|
10
10
|
import { parseAccount } from "../../../accounts/utils/parse-account.js";
|
|
11
|
+
import type { XOnlyPubKey, Address } from "../../../../sdk/types/misc.js";
|
|
12
|
+
|
|
13
|
+
export type SignCommitRequest = {
|
|
14
|
+
psbt: string;
|
|
15
|
+
};
|
|
11
16
|
|
|
12
17
|
export type SignCommitParameters<
|
|
13
|
-
chain extends Chain | undefined,
|
|
14
|
-
account extends Account | undefined,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
chain extends Chain | undefined = Chain,
|
|
19
|
+
account extends Account | undefined = Account | undefined,
|
|
20
|
+
chainOverride extends Chain | undefined = Chain | undefined,
|
|
21
|
+
accountOverride extends Account | [Address, XOnlyPubKey] | undefined =
|
|
22
|
+
| Account
|
|
23
|
+
| [Address, XOnlyPubKey]
|
|
24
|
+
| undefined,
|
|
25
|
+
> = SignCommitRequest &
|
|
26
|
+
GetAccountParameter<account, accountOverride, false, true> &
|
|
27
|
+
GetChainParameter<chain, chainOverride>;
|
|
18
28
|
|
|
19
29
|
export type SignCommitReturnType = Transaction;
|
|
20
30
|
|
|
21
31
|
export async function signCommit<
|
|
22
|
-
// @ts-ignore
|
|
23
32
|
chain extends Chain | undefined,
|
|
24
33
|
account extends Account | undefined,
|
|
34
|
+
chainOverride extends Chain | undefined = undefined,
|
|
25
35
|
>(
|
|
26
36
|
client: KontorWalletClient<RpcTransport, chain, account>,
|
|
27
|
-
parameters: SignCommitParameters<chain, account>,
|
|
37
|
+
parameters: SignCommitParameters<chain, account, chainOverride>,
|
|
28
38
|
): Promise<SignCommitReturnType> {
|
|
29
39
|
const {
|
|
30
40
|
account: account_ = client.account,
|
|
@@ -33,6 +43,7 @@ export async function signCommit<
|
|
|
33
43
|
} = parameters;
|
|
34
44
|
|
|
35
45
|
if (!account_) throw new Error("AccountNotFoundError");
|
|
46
|
+
// TODO: throw if chain is undefined
|
|
36
47
|
|
|
37
48
|
const account = parseAccount(account_);
|
|
38
49
|
|
|
@@ -18,7 +18,7 @@ import type { ParticipantScripts } from "@kontor/kontor-ts";
|
|
|
18
18
|
export type SignRevealParameters<
|
|
19
19
|
chain extends Chain | undefined,
|
|
20
20
|
account extends Account | undefined,
|
|
21
|
-
> = GetAccountParameter<account> &
|
|
21
|
+
> = GetAccountParameter<account, account, false> &
|
|
22
22
|
// TODO: add chainoverride?
|
|
23
23
|
GetChainParameter<chain> & {
|
|
24
24
|
psbt: string;
|
|
@@ -52,8 +52,8 @@ import type { HttpTransport } from "../../transports/create-http-transport.js";
|
|
|
52
52
|
|
|
53
53
|
export type KontorPublicActions<
|
|
54
54
|
_transport extends HttpTransport = HttpTransport,
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
chain extends Chain | undefined = Chain | undefined,
|
|
56
|
+
account extends Account | undefined = Account | undefined,
|
|
57
57
|
> = {
|
|
58
58
|
viewContract: <
|
|
59
59
|
const wit extends Wit | readonly unknown[],
|
|
@@ -83,8 +83,8 @@ export type KontorPublicActions<
|
|
|
83
83
|
args: BuildComposeQueryParameters<chain>,
|
|
84
84
|
) => Promise<BuildComposeQueryReturnType>;
|
|
85
85
|
|
|
86
|
-
callCompose: <
|
|
87
|
-
args: CallComposeParameters<chain>,
|
|
86
|
+
callCompose: <chainOverride extends Chain | undefined>(
|
|
87
|
+
args: CallComposeParameters<chain, account, chainOverride>,
|
|
88
88
|
) => Promise<CallComposeReturnType>;
|
|
89
89
|
inspect: <_chain extends Chain | undefined>(
|
|
90
90
|
args: InspectParameters,
|
|
@@ -33,8 +33,8 @@ export type KontorWalletActions<
|
|
|
33
33
|
signPsbt: (
|
|
34
34
|
params: SignPsbtParameters<chain, account>,
|
|
35
35
|
) => Promise<SignPsbtReturnType>;
|
|
36
|
-
signCommit: (
|
|
37
|
-
params: SignCommitParameters<chain, account>,
|
|
36
|
+
signCommit: <chainOverride extends Chain | undefined>(
|
|
37
|
+
params: SignCommitParameters<chain, account, chainOverride>,
|
|
38
38
|
) => Promise<SignCommitReturnType>;
|
|
39
39
|
signReveal: (
|
|
40
40
|
params: SignRevealParameters<chain, account>,
|
|
@@ -43,17 +43,17 @@ export type KontorPublicClientConfig<
|
|
|
43
43
|
export type KontorPublicClient<
|
|
44
44
|
transport extends HttpTransport = HttpTransport,
|
|
45
45
|
chain extends Chain | undefined = Chain | undefined,
|
|
46
|
-
|
|
46
|
+
account extends Account | undefined = Account | undefined,
|
|
47
47
|
httpSchema extends HttpSchema | undefined = undefined,
|
|
48
48
|
> = Prettify<
|
|
49
49
|
HttpClient<
|
|
50
50
|
transport,
|
|
51
51
|
chain,
|
|
52
|
-
|
|
52
|
+
account,
|
|
53
53
|
httpSchema extends HttpSchema
|
|
54
54
|
? [...KontorSchemaPublic, ...httpSchema]
|
|
55
55
|
: KontorSchemaPublic,
|
|
56
|
-
KontorPublicActions
|
|
56
|
+
KontorPublicActions<transport, chain, account>
|
|
57
57
|
>
|
|
58
58
|
>;
|
|
59
59
|
|
|
@@ -44,17 +44,17 @@ export type KontorWalletClientConfig<
|
|
|
44
44
|
export type KontorWalletClient<
|
|
45
45
|
transport extends RpcTransport = RpcTransport,
|
|
46
46
|
chain extends Chain | undefined = Chain | undefined,
|
|
47
|
-
|
|
47
|
+
account extends Account | undefined = Account | undefined,
|
|
48
48
|
rpcSchema extends RpcSchema | undefined = undefined,
|
|
49
49
|
> = Prettify<
|
|
50
50
|
RpcClient<
|
|
51
51
|
transport,
|
|
52
52
|
chain,
|
|
53
|
-
|
|
53
|
+
account,
|
|
54
54
|
rpcSchema extends RpcSchema
|
|
55
55
|
? [...WBIP001Schema, ...rpcSchema]
|
|
56
56
|
: WBIP001Schema,
|
|
57
|
-
KontorWalletActions
|
|
57
|
+
KontorWalletActions<chain, account>
|
|
58
58
|
>
|
|
59
59
|
>;
|
|
60
60
|
|
package/src/sdk/test/e2e.test.ts
CHANGED
|
@@ -120,8 +120,16 @@ test("e2e kontor wallet client", async () => {
|
|
|
120
120
|
|
|
121
121
|
const kontorPublicClient = createKontorPublicClient({
|
|
122
122
|
transport: http("https://signet-staging.kontor.network:35000/api"),
|
|
123
|
+
chain: signet,
|
|
124
|
+
account,
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
const kontorWalletClient = createKontorWalletClient({
|
|
123
128
|
account,
|
|
124
129
|
chain: signet,
|
|
130
|
+
transport: custom({
|
|
131
|
+
request: async (_args: any) => null,
|
|
132
|
+
}),
|
|
125
133
|
});
|
|
126
134
|
|
|
127
135
|
const res = await kontorPublicClient.callCompose({
|
|
@@ -132,23 +140,11 @@ test("e2e kontor wallet client", async () => {
|
|
|
132
140
|
satsPerVByte: 1,
|
|
133
141
|
});
|
|
134
142
|
|
|
135
|
-
const kontorWalletClient = createKontorWalletClient({
|
|
136
|
-
account,
|
|
137
|
-
// TODO: transport is not used for local account.
|
|
138
|
-
transport: custom({
|
|
139
|
-
request: async (_args: any) => null,
|
|
140
|
-
}),
|
|
141
|
-
});
|
|
142
|
-
|
|
143
143
|
const commit: Transaction = await kontorWalletClient.signCommit({
|
|
144
|
-
account: account,
|
|
145
|
-
chain: signet,
|
|
146
144
|
psbt: res.result.commit_psbt_hex,
|
|
147
145
|
});
|
|
148
146
|
|
|
149
147
|
const reveal: Transaction = await kontorWalletClient.signReveal({
|
|
150
|
-
account: account,
|
|
151
|
-
chain: signet,
|
|
152
148
|
psbt: res.result.reveal_psbt_hex,
|
|
153
149
|
parcipantScripts: res.result.per_participant,
|
|
154
150
|
});
|
package/src/sdk/types/chain.ts
CHANGED
|
@@ -108,3 +108,8 @@ export type GetChainParameter<
|
|
|
108
108
|
IsUndefined<chain> extends true
|
|
109
109
|
? { chain: chainOverride | null }
|
|
110
110
|
: { chain?: chainOverride | null | undefined };
|
|
111
|
+
|
|
112
|
+
export type DeriveChain<
|
|
113
|
+
chain extends Chain | undefined,
|
|
114
|
+
chainOverride extends Chain | undefined,
|
|
115
|
+
> = chainOverride extends Chain ? chainOverride : chain;
|
|
@@ -16,10 +16,7 @@ export type ParseOptions = {
|
|
|
16
16
|
records?: RecordLookup;
|
|
17
17
|
type?: WitItemType | "record";
|
|
18
18
|
};
|
|
19
|
-
|
|
20
|
-
// export const witParameterRegex =
|
|
21
|
-
// /^(?:(?<name>[a-z][a-z0-9-]*)\s*:\s*)?(?<type>(?:borrow|list|option|result|tuple)\s*<[\s\S]+>|[a-z][a-z0-9-]*|(?:record|variant|flags|enum)\s*\{[\s\S]*\})$/;
|
|
22
|
-
//
|
|
19
|
+
|
|
23
20
|
export const witParameterRegex =
|
|
24
21
|
/^(?:(?<name>[a-z][a-z0-9-]*)\s*:\s*)?(?<type>_|(?:borrow|list|option|result|tuple)\s*<[\s\S]+>|[a-z][a-z0-9-]*|(?:record|variant|flags|enum)\s*\{[\s\S]*\})$/;
|
|
25
22
|
|
|
@@ -60,7 +57,6 @@ export function parseWitParameter(param: string, options?: ParseOptions) {
|
|
|
60
57
|
if (match.name && isWitKeyword(match.name))
|
|
61
58
|
throw new WitProtectedKeywordError({ param, name: match.name });
|
|
62
59
|
|
|
63
|
-
// TODO: smell
|
|
64
60
|
const name = match.name ? { name: match.name } : {};
|
|
65
61
|
const records = options?.records ?? {};
|
|
66
62
|
let type: string;
|
|
@@ -10,21 +10,6 @@ import type { Signatures } from "./core/types/signatures.js";
|
|
|
10
10
|
import type { ParseRecords } from "./core/types/records.js";
|
|
11
11
|
import type { ParseSignature } from "./core/types/utils.js";
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* Parses human-readable ABI into JSON {@link Abi}
|
|
15
|
-
*
|
|
16
|
-
* @param signatures - Human-readable ABI
|
|
17
|
-
* @returns Parsed {@link Abi}
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* type Result = ParseAbi<
|
|
21
|
-
* // ^? type Result = readonly [{ name: "balanceOf"; type: "function"; stateMutability:...
|
|
22
|
-
* [
|
|
23
|
-
* 'function balanceOf(address owner) view returns (uint256)',
|
|
24
|
-
* 'event Transfer(address indexed from, address indexed to, uint256 amount)',
|
|
25
|
-
* ]
|
|
26
|
-
* >
|
|
27
|
-
*/
|
|
28
13
|
export type ParseWit<signatures extends readonly string[]> =
|
|
29
14
|
string[] extends signatures
|
|
30
15
|
? Wit // If `T` was not able to be inferred (e.g. just `string[]`), return `Abi`
|