@cheqd/sdk 3.7.6-develop.2 → 3.7.6
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/build/cjs/index.d.ts +45 -0
- package/build/cjs/index.d.ts.map +1 -0
- package/build/cjs/index.js +155 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/modules/_.d.ts +20 -0
- package/build/cjs/modules/_.d.ts.map +1 -0
- package/build/cjs/modules/_.js +51 -0
- package/build/cjs/modules/_.js.map +1 -0
- package/build/cjs/modules/did.d.ts +109 -0
- package/build/cjs/modules/did.d.ts.map +1 -0
- package/build/cjs/modules/did.js +455 -0
- package/build/cjs/modules/did.js.map +1 -0
- package/build/cjs/modules/resource.d.ts +62 -0
- package/build/cjs/modules/resource.d.ts.map +1 -0
- package/build/cjs/modules/resource.js +172 -0
- package/build/cjs/modules/resource.js.map +1 -0
- package/build/cjs/querier.d.ts +11 -0
- package/build/cjs/querier.d.ts.map +1 -0
- package/build/cjs/querier.js +31 -0
- package/build/cjs/querier.js.map +1 -0
- package/build/cjs/registry.d.ts +4 -0
- package/build/cjs/registry.d.ts.map +1 -0
- package/build/cjs/registry.js +13 -0
- package/build/cjs/registry.js.map +1 -0
- package/build/cjs/signer.d.ts +36 -0
- package/build/cjs/signer.d.ts.map +1 -0
- package/build/cjs/signer.js +204 -0
- package/build/cjs/signer.js.map +1 -0
- package/build/cjs/types.d.ts +80 -0
- package/build/cjs/types.d.ts.map +1 -0
- package/build/cjs/types.js +25 -0
- package/build/cjs/types.js.map +1 -0
- package/build/cjs/utils.d.ts +34 -0
- package/build/cjs/utils.d.ts.map +1 -0
- package/build/cjs/utils.js +283 -0
- package/build/cjs/utils.js.map +1 -0
- package/build/esm/index.d.ts +45 -0
- package/build/esm/index.d.ts.map +1 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/modules/_.d.ts +20 -0
- package/build/esm/modules/_.d.ts.map +1 -0
- package/build/esm/modules/_.js +43 -0
- package/build/esm/modules/_.js.map +1 -0
- package/build/esm/modules/did.d.ts +109 -0
- package/build/esm/modules/did.d.ts.map +1 -0
- package/build/esm/modules/did.js +442 -0
- package/build/esm/modules/did.js.map +1 -0
- package/build/esm/modules/resource.d.ts +62 -0
- package/build/esm/modules/resource.d.ts.map +1 -0
- package/build/esm/modules/resource.js +166 -0
- package/build/esm/modules/resource.js.map +1 -0
- package/build/esm/querier.d.ts +11 -0
- package/build/esm/querier.d.ts.map +1 -0
- package/build/esm/querier.js +27 -0
- package/build/esm/querier.js.map +1 -0
- package/build/esm/registry.d.ts +4 -0
- package/build/esm/registry.d.ts.map +1 -0
- package/build/esm/registry.js +9 -0
- package/build/esm/registry.js.map +1 -0
- package/build/esm/signer.d.ts +36 -0
- package/build/esm/signer.d.ts.map +1 -0
- package/build/esm/signer.js +197 -0
- package/build/esm/signer.js.map +1 -0
- package/build/esm/types.d.ts +80 -0
- package/build/esm/types.d.ts.map +1 -0
- package/build/esm/types.js +22 -0
- package/build/esm/types.js.map +1 -0
- package/build/esm/utils.d.ts +34 -0
- package/build/esm/utils.d.ts.map +1 -0
- package/build/esm/utils.js +259 -0
- package/build/esm/utils.js.map +1 -0
- package/build/types/index.d.ts +45 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/modules/_.d.ts +20 -0
- package/build/types/modules/_.d.ts.map +1 -0
- package/build/types/modules/did.d.ts +109 -0
- package/build/types/modules/did.d.ts.map +1 -0
- package/build/types/modules/resource.d.ts +62 -0
- package/build/types/modules/resource.d.ts.map +1 -0
- package/build/types/querier.d.ts +11 -0
- package/build/types/querier.d.ts.map +1 -0
- package/build/types/registry.d.ts +4 -0
- package/build/types/registry.d.ts.map +1 -0
- package/build/types/signer.d.ts +36 -0
- package/build/types/signer.d.ts.map +1 -0
- package/build/types/types.d.ts +80 -0
- package/build/types/types.d.ts.map +1 -0
- package/build/types/utils.d.ts +34 -0
- package/build/types/utils.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { AbstractCheqdSDKModule } from './_.js';
|
|
2
|
+
import { CheqdSigningStargateClient } from '../signer.js';
|
|
3
|
+
import { ISignInputs } from '../types.js';
|
|
4
|
+
import { MsgCreateResource, MsgCreateResourcePayload, MsgCreateResourceResponse, QueryClientImpl, protobufPackage, } from '@cheqd/ts-proto/cheqd/resource/v2/index.js';
|
|
5
|
+
import { createPagination, createProtobufRpcClient } from '@cosmjs/stargate';
|
|
6
|
+
import { fileTypeFromBuffer } from 'file-type';
|
|
7
|
+
import { toString } from 'uint8arrays/to-string';
|
|
8
|
+
import { assert } from '@cosmjs/utils';
|
|
9
|
+
import { isJSON } from '../utils.js';
|
|
10
|
+
export const defaultResourceExtensionKey = 'resource';
|
|
11
|
+
export const protobufLiterals = {
|
|
12
|
+
MsgCreateResource: 'MsgCreateResource',
|
|
13
|
+
MsgCreateResourceResponse: 'MsgCreateResourceResponse',
|
|
14
|
+
};
|
|
15
|
+
export const typeUrlMsgCreateResource = `/${protobufPackage}.${protobufLiterals.MsgCreateResource}`;
|
|
16
|
+
export const typeUrlMsgCreateResourceResponse = `/${protobufPackage}.${protobufLiterals.MsgCreateResourceResponse}`;
|
|
17
|
+
export function isMsgCreateResourceEncodeObject(obj) {
|
|
18
|
+
return obj.typeUrl === typeUrlMsgCreateResource;
|
|
19
|
+
}
|
|
20
|
+
export const setupResourceExtension = (base) => {
|
|
21
|
+
const rpc = createProtobufRpcClient(base);
|
|
22
|
+
const queryService = new QueryClientImpl(rpc);
|
|
23
|
+
return {
|
|
24
|
+
[defaultResourceExtensionKey]: {
|
|
25
|
+
resource: async (collectionId, resourceId) => {
|
|
26
|
+
const { resource } = await queryService.Resource({ collectionId, id: resourceId });
|
|
27
|
+
assert(resource);
|
|
28
|
+
return resource;
|
|
29
|
+
},
|
|
30
|
+
resourceMetadata: async (collectionId, resourceId) => {
|
|
31
|
+
const { resource } = await queryService.ResourceMetadata({ collectionId, id: resourceId });
|
|
32
|
+
assert(resource);
|
|
33
|
+
return resource;
|
|
34
|
+
},
|
|
35
|
+
collectionResources: async (collectionId, paginationKey) => {
|
|
36
|
+
const response = await queryService.CollectionResources({
|
|
37
|
+
collectionId,
|
|
38
|
+
pagination: createPagination(paginationKey),
|
|
39
|
+
});
|
|
40
|
+
return response;
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export class ResourceModule extends AbstractCheqdSDKModule {
|
|
46
|
+
static registryTypes = [
|
|
47
|
+
[typeUrlMsgCreateResource, MsgCreateResource],
|
|
48
|
+
[typeUrlMsgCreateResourceResponse, MsgCreateResourceResponse],
|
|
49
|
+
];
|
|
50
|
+
static baseMinimalDenom = 'ncheq';
|
|
51
|
+
static fees = {
|
|
52
|
+
DefaultCreateResourceImageFee: { amount: '10000000000', denom: ResourceModule.baseMinimalDenom },
|
|
53
|
+
DefaultCreateResourceJsonFee: { amount: '2500000000', denom: ResourceModule.baseMinimalDenom },
|
|
54
|
+
DefaultCreateResourceDefaultFee: { amount: '5000000000', denom: ResourceModule.baseMinimalDenom },
|
|
55
|
+
};
|
|
56
|
+
static querierExtensionSetup = setupResourceExtension;
|
|
57
|
+
querier;
|
|
58
|
+
constructor(signer, querier) {
|
|
59
|
+
super(signer, querier);
|
|
60
|
+
this.querier = querier;
|
|
61
|
+
this.methods = {
|
|
62
|
+
createLinkedResourceTx: this.createLinkedResourceTx.bind(this),
|
|
63
|
+
queryLinkedResource: this.queryLinkedResource.bind(this),
|
|
64
|
+
queryLinkedResourceMetadata: this.queryLinkedResourceMetadata.bind(this),
|
|
65
|
+
queryLinkedResources: this.queryLinkedResources.bind(this),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
getRegistryTypes() {
|
|
69
|
+
return ResourceModule.registryTypes;
|
|
70
|
+
}
|
|
71
|
+
getQuerierExtensionSetup() {
|
|
72
|
+
return ResourceModule.querierExtensionSetup;
|
|
73
|
+
}
|
|
74
|
+
static async signPayload(payload, signInputs) {
|
|
75
|
+
const signBytes = MsgCreateResourcePayload.encode(payload).finish();
|
|
76
|
+
let signatures;
|
|
77
|
+
if (ISignInputs.isSignInput(signInputs)) {
|
|
78
|
+
signatures = await CheqdSigningStargateClient.signIdentityTx(signBytes, signInputs);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
signatures = signInputs;
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
payload,
|
|
85
|
+
signatures,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
async createLinkedResourceTx(signInputs, resourcePayload, address, fee, memo, context) {
|
|
89
|
+
if (!this._signer) {
|
|
90
|
+
this._signer = context.sdk.signer;
|
|
91
|
+
}
|
|
92
|
+
const payload = MsgCreateResourcePayload.fromPartial(resourcePayload);
|
|
93
|
+
const msg = await ResourceModule.signPayload(payload, signInputs);
|
|
94
|
+
const encObj = {
|
|
95
|
+
typeUrl: typeUrlMsgCreateResource,
|
|
96
|
+
value: msg,
|
|
97
|
+
};
|
|
98
|
+
if (address === '') {
|
|
99
|
+
address = (await context.sdk.options.wallet.getAccounts())[0].address;
|
|
100
|
+
}
|
|
101
|
+
if (!fee) {
|
|
102
|
+
if (payload.data.length === 0) {
|
|
103
|
+
throw new Error('Linked resource data is empty');
|
|
104
|
+
}
|
|
105
|
+
fee = await (async function () {
|
|
106
|
+
const mimeType = await ResourceModule.readMimeType(payload.data);
|
|
107
|
+
if (mimeType.startsWith('image/')) {
|
|
108
|
+
return await ResourceModule.generateCreateResourceImageFees(address);
|
|
109
|
+
}
|
|
110
|
+
if (mimeType.startsWith('application/json')) {
|
|
111
|
+
return await ResourceModule.generateCreateResourceJsonFees(address);
|
|
112
|
+
}
|
|
113
|
+
return await ResourceModule.generateCreateResourceDefaultFees(address);
|
|
114
|
+
})();
|
|
115
|
+
}
|
|
116
|
+
return this._signer.signAndBroadcast(address, [encObj], fee, memo);
|
|
117
|
+
}
|
|
118
|
+
async queryLinkedResource(collectionId, resourceId, context) {
|
|
119
|
+
if (!this.querier) {
|
|
120
|
+
this.querier = context.sdk.querier;
|
|
121
|
+
}
|
|
122
|
+
return await this.querier[defaultResourceExtensionKey].resource(collectionId, resourceId);
|
|
123
|
+
}
|
|
124
|
+
async queryLinkedResourceMetadata(collectionId, resourceId, context) {
|
|
125
|
+
if (!this.querier) {
|
|
126
|
+
this.querier = context.sdk.querier;
|
|
127
|
+
}
|
|
128
|
+
return await this.querier[defaultResourceExtensionKey].resourceMetadata(collectionId, resourceId);
|
|
129
|
+
}
|
|
130
|
+
async queryLinkedResources(collectionId, context) {
|
|
131
|
+
if (!this.querier) {
|
|
132
|
+
this.querier = context.sdk.querier;
|
|
133
|
+
}
|
|
134
|
+
return await this.querier[defaultResourceExtensionKey].collectionResources(collectionId);
|
|
135
|
+
}
|
|
136
|
+
static async readMimeType(content) {
|
|
137
|
+
if (isJSON(toString(content, 'utf-8')))
|
|
138
|
+
return 'application/json';
|
|
139
|
+
return (await fileTypeFromBuffer(content))?.mime ?? 'application/octet-stream';
|
|
140
|
+
}
|
|
141
|
+
static async generateCreateResourceImageFees(feePayer, granter) {
|
|
142
|
+
return {
|
|
143
|
+
amount: [ResourceModule.fees.DefaultCreateResourceImageFee],
|
|
144
|
+
gas: '1200000',
|
|
145
|
+
payer: feePayer,
|
|
146
|
+
granter: granter,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
static async generateCreateResourceJsonFees(feePayer, granter) {
|
|
150
|
+
return {
|
|
151
|
+
amount: [ResourceModule.fees.DefaultCreateResourceJsonFee],
|
|
152
|
+
gas: '1200000',
|
|
153
|
+
payer: feePayer,
|
|
154
|
+
granter: granter,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
static async generateCreateResourceDefaultFees(feePayer, granter) {
|
|
158
|
+
return {
|
|
159
|
+
amount: [ResourceModule.fees.DefaultCreateResourceDefaultFee],
|
|
160
|
+
gas: '1200000',
|
|
161
|
+
payer: feePayer,
|
|
162
|
+
granter: granter,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/modules/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { QueryClient } from '@cosmjs/stargate';
|
|
2
|
+
import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
|
|
3
|
+
import { QueryExtensionSetup, CheqdExtensions } from './types.js';
|
|
4
|
+
export declare class CheqdQuerier extends QueryClient {
|
|
5
|
+
constructor(tmClient: Tendermint34Client);
|
|
6
|
+
static connect(url: string): Promise<CheqdQuerier>;
|
|
7
|
+
static fromClient(client: Tendermint34Client): Promise<CheqdQuerier>;
|
|
8
|
+
static connectWithExtension(url: string, extension: QueryExtensionSetup<CheqdExtensions>): Promise<CheqdQuerier & CheqdExtensions>;
|
|
9
|
+
static connectWithExtensions(url: string, ...extensions: QueryExtensionSetup<CheqdExtensions>[]): Promise<CheqdQuerier & CheqdExtensions>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=querier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querier.d.ts","sourceRoot":"","sources":["../../src/querier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,YAAa,SAAQ,WAAW;gBAChC,QAAQ,EAAE,kBAAkB;WAI3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;WAK3C,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;WAI7D,oBAAoB,CAChC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAC7C,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;WAK7B,qBAAqB,CACjC,GAAG,EAAE,MAAM,EACX,GAAG,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAAE,GACnD,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;CAS1C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { QueryClient } from '@cosmjs/stargate';
|
|
2
|
+
import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
|
|
3
|
+
export class CheqdQuerier extends QueryClient {
|
|
4
|
+
constructor(tmClient) {
|
|
5
|
+
super(tmClient);
|
|
6
|
+
}
|
|
7
|
+
static async connect(url) {
|
|
8
|
+
const tmClient = await Tendermint34Client.connect(url);
|
|
9
|
+
return new CheqdQuerier(tmClient);
|
|
10
|
+
}
|
|
11
|
+
static async fromClient(client) {
|
|
12
|
+
return new CheqdQuerier(client);
|
|
13
|
+
}
|
|
14
|
+
static async connectWithExtension(url, extension) {
|
|
15
|
+
const tmClient = await Tendermint34Client.connect(url);
|
|
16
|
+
return CheqdQuerier.withExtensions(tmClient, extension);
|
|
17
|
+
}
|
|
18
|
+
static async connectWithExtensions(url, ...extensions) {
|
|
19
|
+
if (extensions.length === 1) {
|
|
20
|
+
return CheqdQuerier.connectWithExtension(url, extensions[0]);
|
|
21
|
+
}
|
|
22
|
+
const tmClient = await Tendermint34Client.connect(url);
|
|
23
|
+
const tupleLike = extensions;
|
|
24
|
+
return CheqdQuerier.withExtensions(tmClient, ...tupleLike);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=querier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querier.js","sourceRoot":"","sources":["../../src/querier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC5C,YAAY,QAA4B;QACvC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAW;QAC/B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAA0B;QACjD,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAChC,GAAW,EACX,SAA+C;QAE/C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACjC,GAAW,EACX,GAAG,UAAkD;QAErD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,UAA0F,CAAC;QAC7G,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5D,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIhE,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG,QAAQ,CAGpG;AAED,eAAO,MAAM,aAAa,UAAqC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Registry } from '@cosmjs/proto-signing';
|
|
2
|
+
import { defaultRegistryTypes } from '@cosmjs/stargate';
|
|
3
|
+
export function createDefaultCheqdRegistry(customTypes) {
|
|
4
|
+
if (!customTypes)
|
|
5
|
+
customTypes = [];
|
|
6
|
+
return new Registry([...defaultRegistryTypes, ...customTypes]);
|
|
7
|
+
}
|
|
8
|
+
export const CheqdRegistry = new Registry(defaultRegistryTypes);
|
|
9
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,UAAU,0BAA0B,CAAC,WAA+C;IACzF,IAAI,CAAC,WAAW;QAAE,WAAW,GAAG,EAAE,CAAC;IACnC,OAAO,IAAI,QAAQ,CAAC,CAAC,GAAG,oBAAoB,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EncodeObject, OfflineSigner } from '@cosmjs/proto-signing';
|
|
2
|
+
import { DeliverTxResponse, GasPrice, HttpEndpoint, SigningStargateClient, SigningStargateClientOptions, SignerData } from '@cosmjs/stargate';
|
|
3
|
+
import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
|
|
4
|
+
import { MsgCreateDidDocPayload, SignInfo, MsgUpdateDidDocPayload, MsgDeactivateDidDocPayload, VerificationMethod } from '@cheqd/ts-proto/cheqd/did/v2/index.js';
|
|
5
|
+
import { DidStdFee, ISignInputs, TSignerAlgo } from './types.js';
|
|
6
|
+
import { Signer } from 'did-jwt';
|
|
7
|
+
import { SignerInfo, TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx.js';
|
|
8
|
+
import { SignMode } from 'cosmjs-types/cosmos/tx/signing/v1beta1/signing.js';
|
|
9
|
+
import { Any } from 'cosmjs-types/google/protobuf/any.js';
|
|
10
|
+
import { Coin } from 'cosmjs-types/cosmos/base/v1beta1/coin.js';
|
|
11
|
+
export declare function calculateDidFee(gasLimit: number, gasPrice: string | GasPrice): DidStdFee;
|
|
12
|
+
export declare function makeSignerInfos(signers: ReadonlyArray<{
|
|
13
|
+
readonly pubkey: Any;
|
|
14
|
+
readonly sequence: number;
|
|
15
|
+
}>, signMode: SignMode): SignerInfo[];
|
|
16
|
+
export declare function makeDidAuthInfoBytes(signers: ReadonlyArray<{
|
|
17
|
+
readonly pubkey: Any;
|
|
18
|
+
readonly sequence: number;
|
|
19
|
+
}>, feeAmount: readonly Coin[], gasLimit: bigint, feePayer: string, signMode?: SignMode): Uint8Array;
|
|
20
|
+
export declare class CheqdSigningStargateClient extends SigningStargateClient {
|
|
21
|
+
private didSigners;
|
|
22
|
+
private readonly _gasPrice;
|
|
23
|
+
private readonly _signer;
|
|
24
|
+
static connectWithSigner(endpoint: string | HttpEndpoint, signer: OfflineSigner, options?: SigningStargateClientOptions | undefined): Promise<CheqdSigningStargateClient>;
|
|
25
|
+
constructor(tmClient: Tendermint34Client | undefined, signer: OfflineSigner, options?: SigningStargateClientOptions);
|
|
26
|
+
signAndBroadcast(signerAddress: string, messages: readonly EncodeObject[], fee: DidStdFee | 'auto' | number, memo?: string): Promise<DeliverTxResponse>;
|
|
27
|
+
sign(signerAddress: string, messages: readonly EncodeObject[], fee: DidStdFee, memo: string, explicitSignerData?: SignerData): Promise<TxRaw>;
|
|
28
|
+
private _signDirect;
|
|
29
|
+
checkDidSigners(verificationMethods?: Partial<VerificationMethod>[]): Promise<TSignerAlgo>;
|
|
30
|
+
getDidSigner(verificationMethodId: string, verificationMethods: Partial<VerificationMethod>[]): Promise<(secretKey: Uint8Array) => Signer>;
|
|
31
|
+
signcreateDidDocTx(signInputs: ISignInputs[], payload: MsgCreateDidDocPayload): Promise<SignInfo[]>;
|
|
32
|
+
signupdateDidDocTx(signInputs: ISignInputs[], payload: MsgUpdateDidDocPayload): Promise<SignInfo[]>;
|
|
33
|
+
signdeactivateDidDocTx(signInputs: ISignInputs[], payload: MsgDeactivateDidDocPayload, verificationMethod: VerificationMethod[]): Promise<SignInfo[]>;
|
|
34
|
+
static signIdentityTx(signBytes: Uint8Array, signInputs: ISignInputs[]): Promise<SignInfo[]>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { isOfflineDirectSigner, encodePubkey, makeSignDoc, } from '@cosmjs/proto-signing';
|
|
2
|
+
import { SigningStargateClient, calculateFee, } from '@cosmjs/stargate';
|
|
3
|
+
import { Tendermint34Client } from '@cosmjs/tendermint-rpc';
|
|
4
|
+
import { createDefaultCheqdRegistry } from './registry.js';
|
|
5
|
+
import { MsgCreateDidDocPayload, MsgUpdateDidDocPayload, MsgDeactivateDidDocPayload, } from '@cheqd/ts-proto/cheqd/did/v2/index.js';
|
|
6
|
+
import { VerificationMethods } from './types.js';
|
|
7
|
+
import { base64ToBytes, EdDSASigner, hexToBytes, ES256Signer, ES256KSigner } from 'did-jwt';
|
|
8
|
+
import { assert, assertDefined } from '@cosmjs/utils';
|
|
9
|
+
import { encodeSecp256k1Pubkey } from '@cosmjs/amino';
|
|
10
|
+
import { Int53 } from '@cosmjs/math';
|
|
11
|
+
import { fromBase64 } from '@cosmjs/encoding';
|
|
12
|
+
import { AuthInfo, TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx.js';
|
|
13
|
+
import { SignMode } from 'cosmjs-types/cosmos/tx/signing/v1beta1/signing.js';
|
|
14
|
+
export function calculateDidFee(gasLimit, gasPrice) {
|
|
15
|
+
return calculateFee(gasLimit, gasPrice);
|
|
16
|
+
}
|
|
17
|
+
export function makeSignerInfos(signers, signMode) {
|
|
18
|
+
return signers.map(({ pubkey, sequence }) => ({
|
|
19
|
+
publicKey: pubkey,
|
|
20
|
+
modeInfo: {
|
|
21
|
+
single: { mode: signMode },
|
|
22
|
+
},
|
|
23
|
+
sequence: BigInt(sequence),
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
export function makeDidAuthInfoBytes(signers, feeAmount, gasLimit, feePayer, signMode = SignMode.SIGN_MODE_DIRECT) {
|
|
27
|
+
const authInfo = {
|
|
28
|
+
signerInfos: makeSignerInfos(signers, signMode),
|
|
29
|
+
fee: {
|
|
30
|
+
amount: [...feeAmount],
|
|
31
|
+
gasLimit: gasLimit,
|
|
32
|
+
payer: feePayer,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
return AuthInfo.encode(AuthInfo.fromPartial(authInfo)).finish();
|
|
36
|
+
}
|
|
37
|
+
export class CheqdSigningStargateClient extends SigningStargateClient {
|
|
38
|
+
didSigners = {};
|
|
39
|
+
_gasPrice;
|
|
40
|
+
_signer;
|
|
41
|
+
static async connectWithSigner(endpoint, signer, options) {
|
|
42
|
+
const tmClient = await Tendermint34Client.connect(endpoint);
|
|
43
|
+
return new CheqdSigningStargateClient(tmClient, signer, {
|
|
44
|
+
registry: options?.registry ? options.registry : createDefaultCheqdRegistry(),
|
|
45
|
+
...options,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
constructor(tmClient, signer, options = {}) {
|
|
49
|
+
super(tmClient, signer, options);
|
|
50
|
+
this._signer = signer;
|
|
51
|
+
if (options.gasPrice)
|
|
52
|
+
this._gasPrice = options.gasPrice;
|
|
53
|
+
}
|
|
54
|
+
async signAndBroadcast(signerAddress, messages, fee, memo = '') {
|
|
55
|
+
let usedFee;
|
|
56
|
+
if (fee == 'auto' || typeof fee === 'number') {
|
|
57
|
+
assertDefined(this._gasPrice, 'Gas price must be set in the client options when auto gas is used.');
|
|
58
|
+
const gasEstimation = await this.simulate(signerAddress, messages, memo);
|
|
59
|
+
const multiplier = typeof fee === 'number' ? fee : 1.3;
|
|
60
|
+
usedFee = calculateDidFee(Math.round(gasEstimation * multiplier), this._gasPrice);
|
|
61
|
+
usedFee.payer = signerAddress;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
usedFee = fee;
|
|
65
|
+
assertDefined(usedFee.payer, 'Payer address must be set when fee is not auto.');
|
|
66
|
+
signerAddress = usedFee.payer;
|
|
67
|
+
}
|
|
68
|
+
const txRaw = await this.sign(signerAddress, messages, usedFee, memo);
|
|
69
|
+
const txBytes = TxRaw.encode(txRaw).finish();
|
|
70
|
+
return this.broadcastTx(txBytes, this.broadcastTimeoutMs, this.broadcastPollIntervalMs);
|
|
71
|
+
}
|
|
72
|
+
async sign(signerAddress, messages, fee, memo, explicitSignerData) {
|
|
73
|
+
let signerData;
|
|
74
|
+
if (explicitSignerData) {
|
|
75
|
+
signerData = explicitSignerData;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
const { accountNumber, sequence } = await this.getSequence(signerAddress);
|
|
79
|
+
const chainId = await this.getChainId();
|
|
80
|
+
signerData = {
|
|
81
|
+
accountNumber: accountNumber,
|
|
82
|
+
sequence: sequence,
|
|
83
|
+
chainId: chainId,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return this._signDirect(signerAddress, messages, fee, memo, signerData);
|
|
87
|
+
}
|
|
88
|
+
async _signDirect(signerAddress, messages, fee, memo, { accountNumber, sequence, chainId }) {
|
|
89
|
+
assert(isOfflineDirectSigner(this._signer));
|
|
90
|
+
const accountFromSigner = (await this._signer.getAccounts()).find((account) => account.address === signerAddress);
|
|
91
|
+
if (!accountFromSigner) {
|
|
92
|
+
throw new Error('Failed to retrieve account from signer');
|
|
93
|
+
}
|
|
94
|
+
const pubkey = encodePubkey(encodeSecp256k1Pubkey(accountFromSigner.pubkey));
|
|
95
|
+
const txBodyEncodeObject = {
|
|
96
|
+
typeUrl: '/cosmos.tx.v1beta1.TxBody',
|
|
97
|
+
value: {
|
|
98
|
+
messages: messages,
|
|
99
|
+
memo: memo,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
const txBodyBytes = this.registry.encode(txBodyEncodeObject);
|
|
103
|
+
const gasLimit = Int53.fromString(fee.gas).toNumber();
|
|
104
|
+
const authInfoBytes = makeDidAuthInfoBytes([{ pubkey, sequence }], fee.amount, BigInt(gasLimit), fee.payer);
|
|
105
|
+
const signDoc = makeSignDoc(txBodyBytes, authInfoBytes, chainId, accountNumber);
|
|
106
|
+
const { signature, signed } = await this._signer.signDirect(signerAddress, signDoc);
|
|
107
|
+
return TxRaw.fromPartial({
|
|
108
|
+
bodyBytes: signed.bodyBytes,
|
|
109
|
+
authInfoBytes: signed.authInfoBytes,
|
|
110
|
+
signatures: [fromBase64(signature.signature)],
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
async checkDidSigners(verificationMethods = []) {
|
|
114
|
+
if (verificationMethods.length === 0) {
|
|
115
|
+
throw new Error('No verification methods provided');
|
|
116
|
+
}
|
|
117
|
+
verificationMethods.forEach((verificationMethod) => {
|
|
118
|
+
if (!Object.values(VerificationMethods).includes(verificationMethod.verificationMethodType ?? '')) {
|
|
119
|
+
throw new Error(`Unsupported verification method type: ${verificationMethod.verificationMethodType}`);
|
|
120
|
+
}
|
|
121
|
+
if (!this.didSigners[verificationMethod.verificationMethodType ?? '']) {
|
|
122
|
+
this.didSigners[verificationMethod.verificationMethodType ?? ''] = EdDSASigner;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return this.didSigners;
|
|
126
|
+
}
|
|
127
|
+
async getDidSigner(verificationMethodId, verificationMethods) {
|
|
128
|
+
await this.checkDidSigners(verificationMethods);
|
|
129
|
+
const verificationMethod = verificationMethods.find((method) => method.id === verificationMethodId)
|
|
130
|
+
?.verificationMethodType;
|
|
131
|
+
if (!verificationMethod) {
|
|
132
|
+
throw new Error(`Verification method for ${verificationMethodId} not found`);
|
|
133
|
+
}
|
|
134
|
+
return this.didSigners[verificationMethod];
|
|
135
|
+
}
|
|
136
|
+
async signcreateDidDocTx(signInputs, payload) {
|
|
137
|
+
await this.checkDidSigners(payload?.verificationMethod);
|
|
138
|
+
const signBytes = MsgCreateDidDocPayload.encode(payload).finish();
|
|
139
|
+
const signInfos = await Promise.all(signInputs.map(async (signInput) => {
|
|
140
|
+
return {
|
|
141
|
+
verificationMethodId: signInput.verificationMethodId,
|
|
142
|
+
signature: base64ToBytes((await (await this.getDidSigner(signInput.verificationMethodId, payload.verificationMethod))(hexToBytes(signInput.privateKeyHex))(signBytes))),
|
|
143
|
+
};
|
|
144
|
+
}));
|
|
145
|
+
return signInfos;
|
|
146
|
+
}
|
|
147
|
+
async signupdateDidDocTx(signInputs, payload) {
|
|
148
|
+
await this.checkDidSigners(payload?.verificationMethod);
|
|
149
|
+
const signBytes = MsgUpdateDidDocPayload.encode(payload).finish();
|
|
150
|
+
const signInfos = await Promise.all(signInputs.map(async (signInput) => {
|
|
151
|
+
return {
|
|
152
|
+
verificationMethodId: signInput.verificationMethodId,
|
|
153
|
+
signature: base64ToBytes((await (await this.getDidSigner(signInput.verificationMethodId, payload.verificationMethod))(hexToBytes(signInput.privateKeyHex))(signBytes))),
|
|
154
|
+
};
|
|
155
|
+
}));
|
|
156
|
+
return signInfos;
|
|
157
|
+
}
|
|
158
|
+
async signdeactivateDidDocTx(signInputs, payload, verificationMethod) {
|
|
159
|
+
await this.checkDidSigners(verificationMethod);
|
|
160
|
+
const signBytes = MsgDeactivateDidDocPayload.encode(payload).finish();
|
|
161
|
+
const signInfos = await Promise.all(signInputs.map(async (signInput) => {
|
|
162
|
+
return {
|
|
163
|
+
verificationMethodId: signInput.verificationMethodId,
|
|
164
|
+
signature: base64ToBytes((await (await this.getDidSigner(signInput.verificationMethodId, verificationMethod))(hexToBytes(signInput.privateKeyHex))(signBytes))),
|
|
165
|
+
};
|
|
166
|
+
}));
|
|
167
|
+
return signInfos;
|
|
168
|
+
}
|
|
169
|
+
static async signIdentityTx(signBytes, signInputs) {
|
|
170
|
+
let signInfos = [];
|
|
171
|
+
for (let signInput of signInputs) {
|
|
172
|
+
if (typeof signInput.keyType === undefined) {
|
|
173
|
+
throw new Error('Key type is not defined');
|
|
174
|
+
}
|
|
175
|
+
let signature;
|
|
176
|
+
switch (signInput.keyType) {
|
|
177
|
+
case 'Ed25519':
|
|
178
|
+
signature = (await EdDSASigner(hexToBytes(signInput.privateKeyHex))(signBytes));
|
|
179
|
+
break;
|
|
180
|
+
case 'Secp256k1':
|
|
181
|
+
signature = (await ES256KSigner(hexToBytes(signInput.privateKeyHex))(signBytes));
|
|
182
|
+
break;
|
|
183
|
+
case 'P256':
|
|
184
|
+
signature = (await ES256Signer(hexToBytes(signInput.privateKeyHex))(signBytes));
|
|
185
|
+
break;
|
|
186
|
+
default:
|
|
187
|
+
throw new Error(`Unsupported signature type: ${signInput.keyType}`);
|
|
188
|
+
}
|
|
189
|
+
signInfos.push({
|
|
190
|
+
verificationMethodId: signInput.verificationMethodId,
|
|
191
|
+
signature: base64ToBytes(signature),
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
return signInfos;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Service as ProtobufService, VerificationMethod as ProtobufVerificationMethod } from '@cheqd/ts-proto/cheqd/did/v2/index.js';
|
|
2
|
+
import { CheqdSDK } from './index.js';
|
|
3
|
+
import { Coin } from '@cosmjs/proto-signing';
|
|
4
|
+
import { Signer } from 'did-jwt';
|
|
5
|
+
import { QueryClient } from '@cosmjs/stargate';
|
|
6
|
+
import { DIDResolutionResult } from 'did-resolver';
|
|
7
|
+
import { DidExtension } from './modules/did.js';
|
|
8
|
+
import { ResourceExtension } from './modules/resource.js';
|
|
9
|
+
export { DIDDocument, VerificationMethod, Service, ServiceEndpoint, JsonWebKey } from 'did-resolver';
|
|
10
|
+
export declare enum CheqdNetwork {
|
|
11
|
+
Mainnet = "mainnet",
|
|
12
|
+
Testnet = "testnet"
|
|
13
|
+
}
|
|
14
|
+
export type QueryExtensionSetup<T> = (base: QueryClient) => T;
|
|
15
|
+
export type CheqdExtension<K extends string, V = any> = {
|
|
16
|
+
[P in K]: Record<P, V> & Partial<Record<Exclude<K, P>, never>> extends infer O ? {
|
|
17
|
+
[Q in keyof O]: O[Q];
|
|
18
|
+
} : never;
|
|
19
|
+
}[K];
|
|
20
|
+
export type CheqdExtensions = DidExtension | ResourceExtension;
|
|
21
|
+
export interface IModuleMethod {
|
|
22
|
+
(...args: any[]): Promise<any>;
|
|
23
|
+
}
|
|
24
|
+
export interface IModuleMethodMap extends Record<string, IModuleMethod> {
|
|
25
|
+
}
|
|
26
|
+
export interface IContext {
|
|
27
|
+
sdk: CheqdSDK;
|
|
28
|
+
}
|
|
29
|
+
export type DIDDocumentWithMetadata = Pick<DIDResolutionResult, 'didDocument' | 'didDocumentMetadata'>;
|
|
30
|
+
export type SpecValidationResult = {
|
|
31
|
+
valid: boolean;
|
|
32
|
+
error?: string;
|
|
33
|
+
protobufVerificationMethod?: ProtobufVerificationMethod[];
|
|
34
|
+
protobufService?: ProtobufService[];
|
|
35
|
+
};
|
|
36
|
+
export declare enum VerificationMethods {
|
|
37
|
+
Ed255192020 = "Ed25519VerificationKey2020",
|
|
38
|
+
Ed255192018 = "Ed25519VerificationKey2018",
|
|
39
|
+
JWK = "JsonWebKey2020"
|
|
40
|
+
}
|
|
41
|
+
export declare enum MethodSpecificIdAlgo {
|
|
42
|
+
Base58 = "base58btc",
|
|
43
|
+
Uuid = "uuid"
|
|
44
|
+
}
|
|
45
|
+
export type TSignerAlgo = {
|
|
46
|
+
[key in VerificationMethods as string]?: (secretKey: Uint8Array) => Signer;
|
|
47
|
+
};
|
|
48
|
+
export interface ISignInputs {
|
|
49
|
+
verificationMethodId: string;
|
|
50
|
+
keyType?: 'Ed25519' | 'Secp256k1' | 'P256';
|
|
51
|
+
privateKeyHex: string;
|
|
52
|
+
}
|
|
53
|
+
export interface IKeyPair {
|
|
54
|
+
publicKey: string;
|
|
55
|
+
privateKey: string;
|
|
56
|
+
algo?: MethodSpecificIdAlgo;
|
|
57
|
+
}
|
|
58
|
+
export interface IKeyValuePair {
|
|
59
|
+
key: string;
|
|
60
|
+
value: any;
|
|
61
|
+
}
|
|
62
|
+
export type TVerificationKeyPrefix = string;
|
|
63
|
+
export type TVerificationKey<K extends TVerificationKeyPrefix, N extends number> = `${K}-${N}`;
|
|
64
|
+
export interface IVerificationKeys {
|
|
65
|
+
readonly methodSpecificId: TMethodSpecificId;
|
|
66
|
+
readonly didUrl: `did:cheqd:${CheqdNetwork}:${IVerificationKeys['methodSpecificId']}` extends string ? string : never;
|
|
67
|
+
readonly keyId: `${IVerificationKeys['didUrl']}#${TVerificationKey<TVerificationKeyPrefix, number>}`;
|
|
68
|
+
readonly publicKey: string;
|
|
69
|
+
}
|
|
70
|
+
export type TMethodSpecificId = string;
|
|
71
|
+
export interface DidStdFee {
|
|
72
|
+
readonly amount: readonly Coin[];
|
|
73
|
+
readonly gas: string;
|
|
74
|
+
payer?: string;
|
|
75
|
+
granter?: string;
|
|
76
|
+
}
|
|
77
|
+
export declare const ISignInputs: {
|
|
78
|
+
isSignInput(object: Object[]): object is ISignInputs[];
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export var CheqdNetwork;
|
|
2
|
+
(function (CheqdNetwork) {
|
|
3
|
+
CheqdNetwork["Mainnet"] = "mainnet";
|
|
4
|
+
CheqdNetwork["Testnet"] = "testnet";
|
|
5
|
+
})(CheqdNetwork || (CheqdNetwork = {}));
|
|
6
|
+
export var VerificationMethods;
|
|
7
|
+
(function (VerificationMethods) {
|
|
8
|
+
VerificationMethods["Ed255192020"] = "Ed25519VerificationKey2020";
|
|
9
|
+
VerificationMethods["Ed255192018"] = "Ed25519VerificationKey2018";
|
|
10
|
+
VerificationMethods["JWK"] = "JsonWebKey2020";
|
|
11
|
+
})(VerificationMethods || (VerificationMethods = {}));
|
|
12
|
+
export var MethodSpecificIdAlgo;
|
|
13
|
+
(function (MethodSpecificIdAlgo) {
|
|
14
|
+
MethodSpecificIdAlgo["Base58"] = "base58btc";
|
|
15
|
+
MethodSpecificIdAlgo["Uuid"] = "uuid";
|
|
16
|
+
})(MethodSpecificIdAlgo || (MethodSpecificIdAlgo = {}));
|
|
17
|
+
export const ISignInputs = {
|
|
18
|
+
isSignInput(object) {
|
|
19
|
+
return object.some((x) => 'privateKeyHex' in x);
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACpB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AA6BD,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC9B,iEAA0C,CAAA;IAC1C,iEAA0C,CAAA;IAC1C,6CAAsB,CAAA;AACvB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC/B,4CAAoB,CAAA;IACpB,qCAAa,CAAA;AACd,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AA6CD,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,WAAW,CAAC,MAAgB;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;CACD,CAAC"}
|