@cheqd/sdk-esm 5.3.7-develop.1 → 5.4.0-develop.1
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/src/index.d.ts +142 -0
- package/build/cjs/src/index.d.ts.map +1 -0
- package/build/cjs/src/index.js +184 -0
- package/build/cjs/src/index.js.map +1 -0
- package/build/cjs/src/modules/_.d.ts +81 -0
- package/build/cjs/src/modules/_.d.ts.map +1 -0
- package/build/cjs/src/modules/_.js +93 -0
- package/build/cjs/src/modules/_.js.map +1 -0
- package/build/cjs/src/modules/did.d.ts +488 -0
- package/build/cjs/src/modules/did.d.ts.map +1 -0
- package/build/cjs/src/modules/did.js +1249 -0
- package/build/cjs/src/modules/did.js.map +1 -0
- package/build/cjs/src/modules/feeabstraction.d.ts +429 -0
- package/build/cjs/src/modules/feeabstraction.d.ts.map +1 -0
- package/build/cjs/src/modules/feeabstraction.js +474 -0
- package/build/cjs/src/modules/feeabstraction.js.map +1 -0
- package/build/cjs/src/modules/feemarket.d.ts +244 -0
- package/build/cjs/src/modules/feemarket.d.ts.map +1 -0
- package/build/cjs/src/modules/feemarket.js +297 -0
- package/build/cjs/src/modules/feemarket.js.map +1 -0
- package/build/cjs/src/modules/oracle.d.ts +563 -0
- package/build/cjs/src/modules/oracle.d.ts.map +1 -0
- package/build/cjs/src/modules/oracle.js +784 -0
- package/build/cjs/src/modules/oracle.js.map +1 -0
- package/build/cjs/src/modules/resource.d.ts +330 -0
- package/build/cjs/src/modules/resource.d.ts.map +1 -0
- package/build/cjs/src/modules/resource.js +556 -0
- package/build/cjs/src/modules/resource.js.map +1 -0
- package/build/cjs/src/querier.d.ts +62 -0
- package/build/cjs/src/querier.d.ts.map +1 -0
- package/build/cjs/src/querier.js +87 -0
- package/build/cjs/src/querier.js.map +1 -0
- package/build/cjs/src/registry.d.ts +18 -0
- package/build/cjs/src/registry.d.ts.map +1 -0
- package/build/cjs/src/registry.js +23 -0
- package/build/cjs/src/registry.js.map +1 -0
- package/build/cjs/src/signer.d.ts +250 -0
- package/build/cjs/src/signer.d.ts.map +1 -0
- package/build/cjs/src/signer.js +617 -0
- package/build/cjs/src/signer.js.map +1 -0
- package/build/cjs/src/types.d.ts +221 -0
- package/build/cjs/src/types.d.ts.map +1 -0
- package/build/cjs/src/types.js.map +1 -0
- package/build/cjs/src/utils.d.ts +233 -0
- package/build/cjs/src/utils.d.ts.map +1 -0
- package/build/cjs/src/utils.js +571 -0
- package/build/cjs/src/utils.js.map +1 -0
- package/build/{index.d.ts → esm/src/index.d.ts} +7 -3
- package/build/esm/src/index.d.ts.map +1 -0
- package/build/{index.js → esm/src/index.js} +3 -1
- package/build/esm/src/index.js.map +1 -0
- package/build/esm/src/modules/_.d.ts.map +1 -0
- package/build/esm/src/modules/_.js.map +1 -0
- package/build/{modules → esm/src/modules}/did.d.ts +109 -7
- package/build/esm/src/modules/did.d.ts.map +1 -0
- package/build/{modules → esm/src/modules}/did.js +212 -6
- package/build/esm/src/modules/did.js.map +1 -0
- package/build/esm/src/modules/feeabstraction.d.ts.map +1 -0
- package/build/esm/src/modules/feeabstraction.js.map +1 -0
- package/build/esm/src/modules/feemarket.d.ts.map +1 -0
- package/build/esm/src/modules/feemarket.js.map +1 -0
- package/build/esm/src/modules/oracle.d.ts +563 -0
- package/build/esm/src/modules/oracle.d.ts.map +1 -0
- package/build/esm/src/modules/oracle.js +784 -0
- package/build/esm/src/modules/oracle.js.map +1 -0
- package/build/{modules → esm/src/modules}/resource.d.ts +132 -6
- package/build/esm/src/modules/resource.d.ts.map +1 -0
- package/build/esm/src/modules/resource.js +556 -0
- package/build/esm/src/modules/resource.js.map +1 -0
- package/build/esm/src/querier.d.ts.map +1 -0
- package/build/esm/src/querier.js.map +1 -0
- package/build/esm/src/registry.d.ts.map +1 -0
- package/build/esm/src/registry.js.map +1 -0
- package/build/esm/src/signer.d.ts.map +1 -0
- package/build/esm/src/signer.js.map +1 -0
- package/build/{types → esm/src}/types.d.ts +27 -1
- package/build/esm/src/types.d.ts.map +1 -0
- package/build/esm/src/types.js +43 -0
- package/build/esm/src/types.js.map +1 -0
- package/build/esm/src/utils.d.ts.map +1 -0
- package/build/esm/src/utils.js.map +1 -0
- package/build/types/cjs/src/index.d.ts +142 -0
- package/build/types/cjs/src/index.d.ts.map +1 -0
- package/build/types/cjs/src/modules/_.d.ts +81 -0
- package/build/types/cjs/src/modules/_.d.ts.map +1 -0
- package/build/types/cjs/src/modules/did.d.ts +488 -0
- package/build/types/cjs/src/modules/did.d.ts.map +1 -0
- package/build/types/cjs/src/modules/feeabstraction.d.ts +429 -0
- package/build/types/cjs/src/modules/feeabstraction.d.ts.map +1 -0
- package/build/types/cjs/src/modules/feemarket.d.ts +244 -0
- package/build/types/cjs/src/modules/feemarket.d.ts.map +1 -0
- package/build/types/cjs/src/modules/oracle.d.ts +563 -0
- package/build/types/cjs/src/modules/oracle.d.ts.map +1 -0
- package/build/types/cjs/src/modules/resource.d.ts +330 -0
- package/build/types/cjs/src/modules/resource.d.ts.map +1 -0
- package/build/types/cjs/src/querier.d.ts +62 -0
- package/build/types/cjs/src/querier.d.ts.map +1 -0
- package/build/types/cjs/src/registry.d.ts +18 -0
- package/build/types/cjs/src/registry.d.ts.map +1 -0
- package/build/types/cjs/src/signer.d.ts +250 -0
- package/build/types/cjs/src/signer.d.ts.map +1 -0
- package/build/types/cjs/src/types.d.ts +221 -0
- package/build/types/cjs/src/types.d.ts.map +1 -0
- package/build/types/cjs/src/utils.d.ts +233 -0
- package/build/types/cjs/src/utils.d.ts.map +1 -0
- package/build/types/{index.d.ts → esm/src/index.d.ts} +7 -3
- package/build/types/esm/src/index.d.ts.map +1 -0
- package/build/types/esm/src/modules/_.d.ts.map +1 -0
- package/build/types/{modules → esm/src/modules}/did.d.ts +109 -7
- package/build/types/esm/src/modules/did.d.ts.map +1 -0
- package/build/types/esm/src/modules/feeabstraction.d.ts.map +1 -0
- package/build/types/esm/src/modules/feemarket.d.ts.map +1 -0
- package/build/types/esm/src/modules/oracle.d.ts +563 -0
- package/build/types/esm/src/modules/oracle.d.ts.map +1 -0
- package/build/types/{modules → esm/src/modules}/resource.d.ts +132 -6
- package/build/types/esm/src/modules/resource.d.ts.map +1 -0
- package/build/types/esm/src/querier.d.ts.map +1 -0
- package/build/types/esm/src/registry.d.ts.map +1 -0
- package/build/types/esm/src/signer.d.ts.map +1 -0
- package/build/{types.d.ts → types/esm/src/types.d.ts} +27 -1
- package/build/types/esm/src/types.d.ts.map +1 -0
- package/build/types/esm/src/utils.d.ts.map +1 -0
- package/package.json +2 -2
- package/build/index.d.ts.map +0 -1
- package/build/index.js.map +0 -1
- package/build/modules/_.d.ts.map +0 -1
- package/build/modules/_.js.map +0 -1
- package/build/modules/did.d.ts.map +0 -1
- package/build/modules/did.js.map +0 -1
- package/build/modules/feeabstraction.d.ts.map +0 -1
- package/build/modules/feeabstraction.js.map +0 -1
- package/build/modules/feemarket.d.ts.map +0 -1
- package/build/modules/feemarket.js.map +0 -1
- package/build/modules/resource.d.ts.map +0 -1
- package/build/modules/resource.js +0 -297
- package/build/modules/resource.js.map +0 -1
- package/build/querier.d.ts.map +0 -1
- package/build/querier.js.map +0 -1
- package/build/registry.d.ts.map +0 -1
- package/build/registry.js.map +0 -1
- package/build/signer.d.ts.map +0 -1
- package/build/signer.js.map +0 -1
- package/build/types/index.d.ts.map +0 -1
- package/build/types/modules/_.d.ts.map +0 -1
- package/build/types/modules/did.d.ts.map +0 -1
- package/build/types/modules/feeabstraction.d.ts.map +0 -1
- package/build/types/modules/feemarket.d.ts.map +0 -1
- package/build/types/modules/resource.d.ts.map +0 -1
- package/build/types/querier.d.ts.map +0 -1
- package/build/types/registry.d.ts.map +0 -1
- package/build/types/signer.d.ts.map +0 -1
- package/build/types/types.d.ts.map +0 -1
- package/build/types/utils.d.ts.map +0 -1
- package/build/types.d.ts.map +0 -1
- package/build/types.js.map +0 -1
- package/build/utils.d.ts.map +0 -1
- package/build/utils.js.map +0 -1
- /package/build/{types.js → cjs/src/types.js} +0 -0
- /package/build/{modules → esm/src/modules}/_.d.ts +0 -0
- /package/build/{modules → esm/src/modules}/_.js +0 -0
- /package/build/{modules → esm/src/modules}/feeabstraction.d.ts +0 -0
- /package/build/{modules → esm/src/modules}/feeabstraction.js +0 -0
- /package/build/{modules → esm/src/modules}/feemarket.d.ts +0 -0
- /package/build/{modules → esm/src/modules}/feemarket.js +0 -0
- /package/build/{querier.d.ts → esm/src/querier.d.ts} +0 -0
- /package/build/{querier.js → esm/src/querier.js} +0 -0
- /package/build/{registry.d.ts → esm/src/registry.d.ts} +0 -0
- /package/build/{registry.js → esm/src/registry.js} +0 -0
- /package/build/{signer.d.ts → esm/src/signer.d.ts} +0 -0
- /package/build/{signer.js → esm/src/signer.js} +0 -0
- /package/build/{types → esm/src}/utils.d.ts +0 -0
- /package/build/{utils.js → esm/src/utils.js} +0 -0
- /package/build/types/{modules → esm/src/modules}/_.d.ts +0 -0
- /package/build/types/{modules → esm/src/modules}/feeabstraction.d.ts +0 -0
- /package/build/types/{modules → esm/src/modules}/feemarket.d.ts +0 -0
- /package/build/types/{querier.d.ts → esm/src/querier.d.ts} +0 -0
- /package/build/types/{registry.d.ts → esm/src/registry.d.ts} +0 -0
- /package/build/types/{signer.d.ts → esm/src/signer.d.ts} +0 -0
- /package/build/{utils.d.ts → types/esm/src/utils.d.ts} +0 -0
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
import { AbstractCheqdSDKModule } from './_.js';
|
|
2
|
+
import { CheqdSigningStargateClient } from '../signer.js';
|
|
3
|
+
import { parseCoins } from '@cosmjs/proto-signing';
|
|
4
|
+
import { ISignInputs } from '../types.js';
|
|
5
|
+
import { MsgCreateResource, MsgCreateResourcePayload, MsgCreateResourceResponse, QueryClientImpl, protobufPackage, } from '@cheqd/ts-proto/cheqd/resource/v2/index.js';
|
|
6
|
+
import { createPagination, createProtobufRpcClient } from '@cosmjs/stargate';
|
|
7
|
+
import { fileTypeFromBuffer } from 'file-type';
|
|
8
|
+
import { toString } from 'uint8arrays/to-string';
|
|
9
|
+
import { assert } from '@cosmjs/utils';
|
|
10
|
+
import { isJSON } from '../utils.js';
|
|
11
|
+
import { defaultOracleExtensionKey, MovingAverages, WMAStrategies } from './oracle.js';
|
|
12
|
+
import { Coin } from 'cosmjs-types/cosmos/base/v1beta1/coin.js';
|
|
13
|
+
/** Default extension key for resource-related query operations */
|
|
14
|
+
export const defaultResourceExtensionKey = 'resource';
|
|
15
|
+
/**
|
|
16
|
+
* Protobuf message type literals for resource operations.
|
|
17
|
+
* Used for consistent message type identification across the module.
|
|
18
|
+
*/
|
|
19
|
+
export const protobufLiterals = {
|
|
20
|
+
/** Create resource message type */
|
|
21
|
+
MsgCreateResource: 'MsgCreateResource',
|
|
22
|
+
/** Create resource response message type */
|
|
23
|
+
MsgCreateResourceResponse: 'MsgCreateResourceResponse',
|
|
24
|
+
};
|
|
25
|
+
/** Type URL for MsgCreateResource messages */
|
|
26
|
+
export const typeUrlMsgCreateResource = `/${protobufPackage}.${protobufLiterals.MsgCreateResource}`;
|
|
27
|
+
/** Type URL for MsgCreateResourceResponse messages */
|
|
28
|
+
export const typeUrlMsgCreateResourceResponse = `/${protobufPackage}.${protobufLiterals.MsgCreateResourceResponse}`;
|
|
29
|
+
/**
|
|
30
|
+
* Type guard function to check if an object is a MsgCreateResourceEncodeObject.
|
|
31
|
+
*
|
|
32
|
+
* @param obj - EncodeObject to check
|
|
33
|
+
* @returns True if the object is a MsgCreateResourceEncodeObject
|
|
34
|
+
*/
|
|
35
|
+
export function isMsgCreateResourceEncodeObject(obj) {
|
|
36
|
+
return obj.typeUrl === typeUrlMsgCreateResource;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Sets up the resource extension for the querier client.
|
|
40
|
+
* Creates and configures the resource-specific query methods.
|
|
41
|
+
*
|
|
42
|
+
* @param base - Base QueryClient to extend
|
|
43
|
+
* @returns Configured resource extension with query methods
|
|
44
|
+
*/
|
|
45
|
+
export const setupResourceExtension = (base) => {
|
|
46
|
+
const rpc = createProtobufRpcClient(base);
|
|
47
|
+
const queryService = new QueryClientImpl(rpc);
|
|
48
|
+
return {
|
|
49
|
+
[defaultResourceExtensionKey]: {
|
|
50
|
+
resource: async (collectionId, resourceId) => {
|
|
51
|
+
const { resource } = await queryService.Resource({ collectionId, id: resourceId });
|
|
52
|
+
assert(resource);
|
|
53
|
+
return resource;
|
|
54
|
+
},
|
|
55
|
+
resourceMetadata: async (collectionId, resourceId) => {
|
|
56
|
+
const { resource } = await queryService.ResourceMetadata({ collectionId, id: resourceId });
|
|
57
|
+
assert(resource);
|
|
58
|
+
return resource;
|
|
59
|
+
},
|
|
60
|
+
collectionResources: async (collectionId, paginationKey) => {
|
|
61
|
+
const response = await queryService.CollectionResources({
|
|
62
|
+
collectionId,
|
|
63
|
+
pagination: createPagination(paginationKey),
|
|
64
|
+
});
|
|
65
|
+
return response;
|
|
66
|
+
},
|
|
67
|
+
latestResourceVersion: async (collectionId, name, type) => {
|
|
68
|
+
const { resource } = await queryService.LatestResourceVersion({
|
|
69
|
+
collectionId,
|
|
70
|
+
name,
|
|
71
|
+
resourceType: type,
|
|
72
|
+
});
|
|
73
|
+
assert(resource);
|
|
74
|
+
return resource;
|
|
75
|
+
},
|
|
76
|
+
latestResourceVersionMetadata: async (collectionId, name, type) => {
|
|
77
|
+
const { resource } = await queryService.LatestResourceVersionMetadata({
|
|
78
|
+
collectionId,
|
|
79
|
+
name,
|
|
80
|
+
resourceType: type,
|
|
81
|
+
});
|
|
82
|
+
assert(resource);
|
|
83
|
+
return resource;
|
|
84
|
+
},
|
|
85
|
+
params: async () => {
|
|
86
|
+
const response = await queryService.Params({});
|
|
87
|
+
assert(response.params);
|
|
88
|
+
return response;
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Resource Module class providing comprehensive linked resource functionality.
|
|
95
|
+
* Handles creation, querying, and metadata management of resources linked to DID documents.
|
|
96
|
+
*/
|
|
97
|
+
export class ResourceModule extends AbstractCheqdSDKModule {
|
|
98
|
+
// @ts-expect-error underlying type `GeneratedType` is intentionally wider
|
|
99
|
+
static registryTypes = [
|
|
100
|
+
[typeUrlMsgCreateResource, MsgCreateResource],
|
|
101
|
+
[typeUrlMsgCreateResourceResponse, MsgCreateResourceResponse],
|
|
102
|
+
];
|
|
103
|
+
/** Base denomination for Cheqd network transactions */
|
|
104
|
+
static baseMinimalDenom = 'ncheq';
|
|
105
|
+
/** Base denomination in USD for Cheqd network transactions */
|
|
106
|
+
static baseUsdDenom = 'usd';
|
|
107
|
+
/** Default slippage tolerance in base points (BPS) */
|
|
108
|
+
static defaultSlippageBps = 500n;
|
|
109
|
+
/**
|
|
110
|
+
* Standard fee amounts for different resource types.
|
|
111
|
+
* Fees vary based on resource content type and processing requirements.
|
|
112
|
+
*/
|
|
113
|
+
static fees = {
|
|
114
|
+
/** Default fee for creating image resources */
|
|
115
|
+
DefaultCreateResourceImageFee: { amount: '10000000000', denom: ResourceModule.baseMinimalDenom },
|
|
116
|
+
/** Default fee for creating JSON resources */
|
|
117
|
+
DefaultCreateResourceJsonFee: { amount: '10000000000', denom: ResourceModule.baseMinimalDenom },
|
|
118
|
+
/** Default fee for creating other types of resources */
|
|
119
|
+
DefaultCreateResourceDefaultFee: { amount: '10000000000', denom: ResourceModule.baseMinimalDenom },
|
|
120
|
+
/** Default fee for creating image resources in USD */
|
|
121
|
+
DefaultCreateResourceImageFeeUsd: { amount: '100000000000000000', denom: ResourceModule.baseUsdDenom },
|
|
122
|
+
/** Default fee for creating JSON resources in USD */
|
|
123
|
+
DefaultCreateResourceJsonFeeUsd: { amount: '400000000000000000', denom: ResourceModule.baseUsdDenom },
|
|
124
|
+
/** Default fee for creating other types of resources in USD */
|
|
125
|
+
DefaultCreateResourceDefaultFeeUsd: {
|
|
126
|
+
amount: '200000000000000000',
|
|
127
|
+
denom: ResourceModule.baseUsdDenom,
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
/** Standard gas limits for DLR operations.
|
|
131
|
+
* These represent the default gas limits for various DLR-related transactions.
|
|
132
|
+
*/
|
|
133
|
+
static gasLimits = {
|
|
134
|
+
/** Gas limit for creating linked resources */
|
|
135
|
+
CreateLinkedResourceImageGasLimit: '1000000',
|
|
136
|
+
/** Gas limit for creating linked JSON resources */
|
|
137
|
+
CreateLinkedResourceJsonGasLimit: '1000000',
|
|
138
|
+
/** Gas limit for creating other types of linked resources */
|
|
139
|
+
CreateLinkedResourceDefaultGasLimit: '1000000',
|
|
140
|
+
};
|
|
141
|
+
/** Querier extension setup function for resource operations */
|
|
142
|
+
static querierExtensionSetup = setupResourceExtension;
|
|
143
|
+
/** Querier instance with resource extension capabilities */
|
|
144
|
+
querier;
|
|
145
|
+
/**
|
|
146
|
+
* Constructs a new resource module instance.
|
|
147
|
+
*
|
|
148
|
+
* @param signer - Signing client for blockchain transactions
|
|
149
|
+
* @param querier - Querier client with resource extension for data retrieval
|
|
150
|
+
*/
|
|
151
|
+
constructor(signer, querier) {
|
|
152
|
+
super(signer, querier);
|
|
153
|
+
this.querier = querier;
|
|
154
|
+
this.methods = {
|
|
155
|
+
createLinkedResourceTx: this.createLinkedResourceTx.bind(this),
|
|
156
|
+
queryLinkedResource: this.queryLinkedResource.bind(this),
|
|
157
|
+
queryLinkedResourceMetadata: this.queryLinkedResourceMetadata.bind(this),
|
|
158
|
+
queryLinkedResources: this.queryLinkedResources.bind(this),
|
|
159
|
+
queryLatestLinkedResourceVersion: this.queryLatestLinkedResourceVersion.bind(this),
|
|
160
|
+
queryLatestLinkedResourceVersionMetadata: this.queryLatestLinkedResourceVersionMetadata.bind(this),
|
|
161
|
+
queryParams: this.queryParams.bind(this),
|
|
162
|
+
generateCreateResourceImageFees: this.generateCreateResourceImageFees.bind(this),
|
|
163
|
+
generateCreateResourceJsonFees: this.generateCreateResourceJsonFees.bind(this),
|
|
164
|
+
generateCreateResourceDefaultFees: this.generateCreateResourceDefaultFees.bind(this),
|
|
165
|
+
getPriceRangeFromParams: this.getPriceRangeFromParams.bind(this),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Gets the registry types for resource message encoding/decoding.
|
|
170
|
+
*
|
|
171
|
+
* @returns Iterable of [typeUrl, GeneratedType] pairs for the registry
|
|
172
|
+
*/
|
|
173
|
+
getRegistryTypes() {
|
|
174
|
+
return ResourceModule.registryTypes;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Gets the querier extension setup for resource operations.
|
|
178
|
+
*
|
|
179
|
+
* @returns Query extension setup function for resource functionality
|
|
180
|
+
*/
|
|
181
|
+
getQuerierExtensionSetup() {
|
|
182
|
+
return ResourceModule.querierExtensionSetup;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Signs a resource payload with provided signature inputs.
|
|
186
|
+
* Creates a complete signed resource message ready for blockchain submission.
|
|
187
|
+
*
|
|
188
|
+
* @param payload - Resource payload to sign
|
|
189
|
+
* @param signInputs - Signing inputs or pre-computed signatures
|
|
190
|
+
* @returns Promise resolving to the signed resource message
|
|
191
|
+
*/
|
|
192
|
+
static async signPayload(payload, signInputs) {
|
|
193
|
+
const signBytes = MsgCreateResourcePayload.encode(payload).finish();
|
|
194
|
+
let signatures;
|
|
195
|
+
if (ISignInputs.isSignInput(signInputs)) {
|
|
196
|
+
signatures = await CheqdSigningStargateClient.signIdentityTx(signBytes, signInputs);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
signatures = signInputs;
|
|
200
|
+
}
|
|
201
|
+
return {
|
|
202
|
+
payload,
|
|
203
|
+
signatures,
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Creates a linked resource transaction on the blockchain.
|
|
208
|
+
* Handles automatic fee calculation based on resource content type and size.
|
|
209
|
+
*
|
|
210
|
+
* @param signInputs - Signing inputs or pre-computed signatures for the transaction
|
|
211
|
+
* @param resourcePayload - Resource payload containing data and metadata
|
|
212
|
+
* @param address - Address of the account submitting the transaction
|
|
213
|
+
* @param fee - Transaction fee configuration or 'auto' for automatic calculation
|
|
214
|
+
* @param memo - Optional transaction memo
|
|
215
|
+
* @param feeOptions - Optional fee options for the transaction
|
|
216
|
+
* @param context - Optional SDK context for accessing clients
|
|
217
|
+
* @returns Promise resolving to the transaction response
|
|
218
|
+
* @throws Error if linked resource data is empty when automatic fee calculation is requested
|
|
219
|
+
*/
|
|
220
|
+
async createLinkedResourceTx(signInputs, resourcePayload, address, fee, memo, feeOptions, context) {
|
|
221
|
+
if (!this._signer) {
|
|
222
|
+
this._signer = context.sdk.signer;
|
|
223
|
+
}
|
|
224
|
+
const payload = MsgCreateResourcePayload.fromPartial(resourcePayload);
|
|
225
|
+
const msg = await ResourceModule.signPayload(payload, signInputs);
|
|
226
|
+
const encObj = {
|
|
227
|
+
typeUrl: typeUrlMsgCreateResource,
|
|
228
|
+
value: msg,
|
|
229
|
+
};
|
|
230
|
+
if (address === '') {
|
|
231
|
+
address = (await context.sdk.options.wallet.getAccounts())[0].address;
|
|
232
|
+
}
|
|
233
|
+
if (!fee) {
|
|
234
|
+
if (payload.data.length === 0) {
|
|
235
|
+
throw new Error('Linked resource data is empty');
|
|
236
|
+
}
|
|
237
|
+
fee = await (async function (that) {
|
|
238
|
+
const mimeType = await ResourceModule.readMimeType(payload.data);
|
|
239
|
+
if (mimeType.startsWith('image/')) {
|
|
240
|
+
return await that.generateCreateResourceImageFees(address, undefined, feeOptions, context);
|
|
241
|
+
}
|
|
242
|
+
if (mimeType.startsWith('application/json')) {
|
|
243
|
+
return await that.generateCreateResourceJsonFees(address, undefined, feeOptions, context);
|
|
244
|
+
}
|
|
245
|
+
return await that.generateCreateResourceDefaultFees(address, undefined, feeOptions, context);
|
|
246
|
+
})(this);
|
|
247
|
+
}
|
|
248
|
+
return this._signer.signAndBroadcast(address, [encObj], fee, memo);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Queries a specific linked resource by collection and resource ID.
|
|
252
|
+
* Retrieves the complete resource data along with its metadata.
|
|
253
|
+
*
|
|
254
|
+
* @param collectionId - ID of the collection containing the resource
|
|
255
|
+
* @param resourceId - ID of the resource to query
|
|
256
|
+
* @param context - Optional SDK context for accessing clients
|
|
257
|
+
* @returns Promise resolving to the resource with metadata
|
|
258
|
+
*/
|
|
259
|
+
async queryLinkedResource(collectionId, resourceId, context) {
|
|
260
|
+
if (!this.querier) {
|
|
261
|
+
this.querier = context.sdk.querier;
|
|
262
|
+
}
|
|
263
|
+
return await this.querier[defaultResourceExtensionKey].resource(collectionId, resourceId);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Queries metadata for a specific linked resource.
|
|
267
|
+
* Retrieves only the metadata without the resource content data.
|
|
268
|
+
*
|
|
269
|
+
* @param collectionId - ID of the collection containing the resource
|
|
270
|
+
* @param resourceId - ID of the resource to query metadata for
|
|
271
|
+
* @param context - Optional SDK context for accessing clients
|
|
272
|
+
* @returns Promise resolving to the resource metadata
|
|
273
|
+
*/
|
|
274
|
+
async queryLinkedResourceMetadata(collectionId, resourceId, context) {
|
|
275
|
+
if (!this.querier) {
|
|
276
|
+
this.querier = context.sdk.querier;
|
|
277
|
+
}
|
|
278
|
+
return await this.querier[defaultResourceExtensionKey].resourceMetadata(collectionId, resourceId);
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Queries all resources in a collection with pagination support.
|
|
282
|
+
* Retrieves a list of all resources belonging to a specific collection.
|
|
283
|
+
*
|
|
284
|
+
* @param collectionId - ID of the collection to query resources for
|
|
285
|
+
* @param context - Optional SDK context for accessing clients
|
|
286
|
+
* @returns Promise resolving to the collection resources response with pagination
|
|
287
|
+
*/
|
|
288
|
+
async queryLinkedResources(collectionId, context) {
|
|
289
|
+
if (!this.querier) {
|
|
290
|
+
this.querier = context.sdk.querier;
|
|
291
|
+
}
|
|
292
|
+
return await this.querier[defaultResourceExtensionKey].collectionResources(collectionId);
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Queries the latest version of a linked resource by collection ID, name, and type.
|
|
296
|
+
* Retrieves the most recent version of the specified resource.
|
|
297
|
+
*
|
|
298
|
+
* @param collectionId - ID of the collection containing the resource
|
|
299
|
+
* @param name - Name of the resource
|
|
300
|
+
* @param type - Type of the resource
|
|
301
|
+
* @param context - Optional SDK context for accessing clients
|
|
302
|
+
* @returns Promise resolving to the latest resource version with metadata
|
|
303
|
+
*/
|
|
304
|
+
async queryLatestLinkedResourceVersion(collectionId, name, type, context) {
|
|
305
|
+
if (!this.querier) {
|
|
306
|
+
this.querier = context.sdk.querier;
|
|
307
|
+
}
|
|
308
|
+
return await this.querier[defaultResourceExtensionKey].latestResourceVersion(collectionId, name, type);
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Queries the latest metadata of a linked resource by collection ID, name, and type.
|
|
312
|
+
* Retrieves only the metadata of the most recent version of the specified resource.
|
|
313
|
+
*
|
|
314
|
+
* @param collectionId - ID of the collection containing the resource
|
|
315
|
+
* @param name - Name of the resource
|
|
316
|
+
* @param type - Type of the resource
|
|
317
|
+
* @param context - Optional SDK context for accessing clients
|
|
318
|
+
* @returns Promise resolving to the latest resource metadata
|
|
319
|
+
*/
|
|
320
|
+
async queryLatestLinkedResourceVersionMetadata(collectionId, name, type, context) {
|
|
321
|
+
if (!this.querier) {
|
|
322
|
+
this.querier = context.sdk.querier;
|
|
323
|
+
}
|
|
324
|
+
return await this.querier[defaultResourceExtensionKey].latestResourceVersionMetadata(collectionId, name, type);
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Queries the Resource module parameters from the blockchain.
|
|
328
|
+
* @param context - Optional SDK context for accessing clients
|
|
329
|
+
* @returns Promise resolving to the Resource module parameters
|
|
330
|
+
*/
|
|
331
|
+
async queryParams(context) {
|
|
332
|
+
if (!this.querier) {
|
|
333
|
+
this.querier = context.sdk.querier;
|
|
334
|
+
}
|
|
335
|
+
return await this.querier[defaultResourceExtensionKey].params();
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Generates oracle-powered fees for creating image DID-Linked Resources.
|
|
339
|
+
*
|
|
340
|
+
* @param feePayer - Address of the account that will pay the transaction fees
|
|
341
|
+
* @param granter - Optional address of the account granting fee payment permissions
|
|
342
|
+
* @param feeOptions - Options for fetching oracle fees
|
|
343
|
+
* @param context - Optional SDK context for accessing clients
|
|
344
|
+
* @returns Promise resolving to the fee configuration for DLR creation
|
|
345
|
+
*/
|
|
346
|
+
async generateCreateResourceImageFees(feePayer, granter, feeOptions, context) {
|
|
347
|
+
if (!this.querier) {
|
|
348
|
+
this.querier = context.sdk.querier;
|
|
349
|
+
}
|
|
350
|
+
// fetch fee parameters from the Resource module
|
|
351
|
+
const feeParams = await this.queryParams(context);
|
|
352
|
+
// get the price range for the image resource creation
|
|
353
|
+
const priceRange = await this.getPriceRangeFromParams(feeParams, 'image', feeOptions);
|
|
354
|
+
// calculate the oracle fee amount based on the price range and options
|
|
355
|
+
return {
|
|
356
|
+
amount: [await this.calculateOracleFeeAmount(priceRange, feeOptions, context)],
|
|
357
|
+
gas: ResourceModule.gasLimits.CreateLinkedResourceImageGasLimit,
|
|
358
|
+
payer: feePayer,
|
|
359
|
+
granter,
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Generates oracle-powered fees for creating JSON DID-Linked Resources.
|
|
364
|
+
*
|
|
365
|
+
* @param feePayer - Address of the account that will pay the transaction fees
|
|
366
|
+
* @param granter - Optional address of the account granting fee payment permissions
|
|
367
|
+
* @param feeOptions - Options for fetching oracle fees
|
|
368
|
+
* @param context - Optional SDK context for accessing clients
|
|
369
|
+
* @returns Promise resolving to the fee configuration for DLR creation
|
|
370
|
+
*/
|
|
371
|
+
async generateCreateResourceJsonFees(feePayer, granter, feeOptions, context) {
|
|
372
|
+
if (!this.querier) {
|
|
373
|
+
this.querier = context.sdk.querier;
|
|
374
|
+
}
|
|
375
|
+
// fetch fee parameters from the Resource module
|
|
376
|
+
const feeParams = await this.queryParams(context);
|
|
377
|
+
// get the price range for the JSON resource creation
|
|
378
|
+
const priceRange = await this.getPriceRangeFromParams(feeParams, 'json', feeOptions);
|
|
379
|
+
// calculate the oracle fee amount based on the price range and options
|
|
380
|
+
return {
|
|
381
|
+
amount: [await this.calculateOracleFeeAmount(priceRange, feeOptions, context)],
|
|
382
|
+
gas: ResourceModule.gasLimits.CreateLinkedResourceJsonGasLimit,
|
|
383
|
+
payer: feePayer,
|
|
384
|
+
granter,
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Generates oracle-powered fees for creating default DID-Linked Resources.
|
|
389
|
+
*
|
|
390
|
+
* @param feePayer - Address of the account that will pay the transaction fees
|
|
391
|
+
* @param granter - Optional address of the account granting fee payment permissions
|
|
392
|
+
* @param feeOptions - Options for fetching oracle fees
|
|
393
|
+
* @param context - Optional SDK context for accessing clients
|
|
394
|
+
* @returns Promise resolving to the fee configuration for DLR creation
|
|
395
|
+
*/
|
|
396
|
+
async generateCreateResourceDefaultFees(feePayer, granter, feeOptions, context) {
|
|
397
|
+
if (!this.querier) {
|
|
398
|
+
this.querier = context.sdk.querier;
|
|
399
|
+
}
|
|
400
|
+
// fetch fee parameters from the Resource module
|
|
401
|
+
const feeParams = await this.queryParams(context);
|
|
402
|
+
// get the price range for the default resource creation
|
|
403
|
+
const priceRange = await this.getPriceRangeFromParams(feeParams, 'default', feeOptions);
|
|
404
|
+
// calculate the oracle fee amount based on the price range and options
|
|
405
|
+
return {
|
|
406
|
+
amount: [await this.calculateOracleFeeAmount(priceRange, feeOptions, context)],
|
|
407
|
+
gas: ResourceModule.gasLimits.CreateLinkedResourceDefaultGasLimit,
|
|
408
|
+
payer: feePayer,
|
|
409
|
+
granter,
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Gets the fee range for a specific DID operation from the module parameters.
|
|
414
|
+
* @param feeParams - DID module fee parameters
|
|
415
|
+
* @param operation - DID operation type ('create', 'update', 'deactivate')
|
|
416
|
+
* @param feeOptions - Options for fee retrieval
|
|
417
|
+
* @returns Promise resolving to the fee range for the specified operation
|
|
418
|
+
*/
|
|
419
|
+
async getPriceRangeFromParams(feeParams, operation, feeOptions) {
|
|
420
|
+
const operationFees = (() => {
|
|
421
|
+
switch (operation) {
|
|
422
|
+
case 'image':
|
|
423
|
+
return feeParams.params?.image.find((fee) => fee.denom === (feeOptions?.feeDenom ?? ResourceModule.baseUsdDenom));
|
|
424
|
+
case 'json':
|
|
425
|
+
return feeParams.params?.json.find((fee) => fee.denom === (feeOptions?.feeDenom ?? ResourceModule.baseUsdDenom));
|
|
426
|
+
case 'default':
|
|
427
|
+
return feeParams.params?.default.find((fee) => fee.denom === (feeOptions?.feeDenom ?? ResourceModule.baseUsdDenom));
|
|
428
|
+
default:
|
|
429
|
+
throw new Error('Unsupported operation for fee retrieval');
|
|
430
|
+
}
|
|
431
|
+
})();
|
|
432
|
+
if (!operationFees) {
|
|
433
|
+
throw new Error(`Fee parameters not found for operation: ${operation}`);
|
|
434
|
+
}
|
|
435
|
+
return operationFees;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Calculates the oracle fee amount based on the provided fee range and options.
|
|
439
|
+
* @param feeRange - Fee range for the DID operation
|
|
440
|
+
* @param feeOptions - Options for fee calculation
|
|
441
|
+
* @param context - Optional SDK context for accessing clients
|
|
442
|
+
* @returns Promise resolving to the calculated fee amount as a Coin
|
|
443
|
+
*/
|
|
444
|
+
async calculateOracleFeeAmount(feeRange, feeOptions, context) {
|
|
445
|
+
if (!this.querier) {
|
|
446
|
+
this.querier = context.sdk.querier;
|
|
447
|
+
}
|
|
448
|
+
if (feeRange.denom !== feeOptions?.feeDenom && feeOptions?.feeDenom !== undefined) {
|
|
449
|
+
throw new Error(`Fee denomination mismatch: expected ${feeRange.denom}, got ${feeOptions.feeDenom}`);
|
|
450
|
+
}
|
|
451
|
+
const wantedFeeAmount = feeRange.denom === ResourceModule.baseUsdDenom
|
|
452
|
+
? (feeOptions?.wantedAmountUsd ?? ResourceModule.isFixedRange(feeRange))
|
|
453
|
+
? feeRange.minAmount
|
|
454
|
+
: feeRange.minAmount
|
|
455
|
+
: feeRange.minAmount;
|
|
456
|
+
// override fee options, if unassigned - case: moving average type
|
|
457
|
+
feeOptions = {
|
|
458
|
+
...feeOptions,
|
|
459
|
+
movingAverageType: feeOptions?.movingAverageType || MovingAverages.WMA,
|
|
460
|
+
};
|
|
461
|
+
// override fee options, if unassigned - case: WMA strategy
|
|
462
|
+
feeOptions = {
|
|
463
|
+
...feeOptions,
|
|
464
|
+
wmaStrategy: feeOptions?.wmaStrategy || feeOptions?.movingAverageType === MovingAverages.WMA
|
|
465
|
+
? WMAStrategies.BALANCED
|
|
466
|
+
: undefined,
|
|
467
|
+
};
|
|
468
|
+
const convertedFeeAmount = feeRange.denom === ResourceModule.baseUsdDenom
|
|
469
|
+
? parseCoins((await this.querier[defaultOracleExtensionKey].convertUSDtoCHEQ(wantedFeeAmount, feeOptions?.movingAverageType, feeOptions?.wmaStrategy, feeOptions?.wmaWeights?.map((w) => BigInt(w)))).amount)[0]
|
|
470
|
+
: Coin.fromPartial({ amount: wantedFeeAmount, denom: feeRange.denom });
|
|
471
|
+
return feeOptions?.slippageBps
|
|
472
|
+
? ResourceModule.applySlippageToCoin(convertedFeeAmount, feeOptions.slippageBps)
|
|
473
|
+
: convertedFeeAmount;
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Applies slippage to a given coin amount based on the specified basis points.
|
|
477
|
+
* @param coin - Coin amount to apply slippage to
|
|
478
|
+
* @param slippageBps - Slippage in basis points (bps)
|
|
479
|
+
* @returns Coin with adjusted amount after applying slippage
|
|
480
|
+
*/
|
|
481
|
+
static applySlippageToCoin(coin, slippageBps) {
|
|
482
|
+
const base = BigInt(coin.amount);
|
|
483
|
+
const delta = (base * BigInt(slippageBps)) / BigInt(10_000);
|
|
484
|
+
const adjustedAmount = base + delta;
|
|
485
|
+
return Coin.fromPartial({ amount: adjustedAmount.toString(), denom: coin.denom });
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Checks if a fee range represents a fixed fee (minAmount equals maxAmount).
|
|
489
|
+
* @param feeRange - Fee range to check
|
|
490
|
+
* @returns True if the fee range is fixed, false otherwise
|
|
491
|
+
*/
|
|
492
|
+
static isFixedRange(feeRange) {
|
|
493
|
+
return feeRange.minAmount === feeRange.maxAmount;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Reads and determines the MIME type of resource content.
|
|
497
|
+
* Analyzes the content to identify the appropriate MIME type for fee calculation and validation.
|
|
498
|
+
*
|
|
499
|
+
* @param content - Resource content as byte array
|
|
500
|
+
* @returns Promise resolving to the detected MIME type string
|
|
501
|
+
*/
|
|
502
|
+
static async readMimeType(content) {
|
|
503
|
+
if (isJSON(toString(content, 'utf-8')))
|
|
504
|
+
return 'application/json';
|
|
505
|
+
return (await fileTypeFromBuffer(content))?.mime ?? 'application/octet-stream';
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Generates fee configuration for image resource creation transactions.
|
|
509
|
+
* Uses higher gas limits appropriate for image processing and storage.
|
|
510
|
+
*
|
|
511
|
+
* @param feePayer - Address of the account that will pay the transaction fees
|
|
512
|
+
* @param granter - Optional address of the account granting fee payment permissions
|
|
513
|
+
* @returns Promise resolving to the fee configuration for image resources
|
|
514
|
+
*/
|
|
515
|
+
static async generateCreateResourceImageFees(feePayer, granter) {
|
|
516
|
+
return {
|
|
517
|
+
amount: [ResourceModule.fees.DefaultCreateResourceImageFee],
|
|
518
|
+
gas: ResourceModule.gasLimits.CreateLinkedResourceImageGasLimit,
|
|
519
|
+
payer: feePayer,
|
|
520
|
+
granter: granter,
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Generates fee configuration for JSON resource creation transactions.
|
|
525
|
+
* Uses gas limits optimized for JSON data processing and validation.
|
|
526
|
+
*
|
|
527
|
+
* @param feePayer - Address of the account that will pay the transaction fees
|
|
528
|
+
* @param granter - Optional address of the account granting fee payment permissions
|
|
529
|
+
* @returns Promise resolving to the fee configuration for JSON resources
|
|
530
|
+
*/
|
|
531
|
+
static async generateCreateResourceJsonFees(feePayer, granter) {
|
|
532
|
+
return {
|
|
533
|
+
amount: [ResourceModule.fees.DefaultCreateResourceJsonFee],
|
|
534
|
+
gas: ResourceModule.gasLimits.CreateLinkedResourceJsonGasLimit,
|
|
535
|
+
payer: feePayer,
|
|
536
|
+
granter: granter,
|
|
537
|
+
};
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* Generates fee configuration for default resource creation transactions.
|
|
541
|
+
* Uses standard gas limits for generic resource types and binary data.
|
|
542
|
+
*
|
|
543
|
+
* @param feePayer - Address of the account that will pay the transaction fees
|
|
544
|
+
* @param granter - Optional address of the account granting fee payment permissions
|
|
545
|
+
* @returns Promise resolving to the fee configuration for default resources
|
|
546
|
+
*/
|
|
547
|
+
static async generateCreateResourceDefaultFees(feePayer, granter) {
|
|
548
|
+
return {
|
|
549
|
+
amount: [ResourceModule.fees.DefaultCreateResourceDefaultFee],
|
|
550
|
+
gas: ResourceModule.gasLimits.CreateLinkedResourceDefaultGasLimit,
|
|
551
|
+
payer: feePayer,
|
|
552
|
+
granter: granter,
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
//# 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 @@
|
|
|
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,WAAW,EAAgB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElE;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC5C;;;;OAIG;gBACS,WAAW,EAAE,WAAW;IAIpC;;;;;;;OAOG;WACU,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IActF;;;;;;OAMG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKxD;;;;;;OAMG;WACU,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAInE;;;;;;;OAOG;WACU,oBAAoB,CAChC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAC7C,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;IAK1C;;;;;;;;;OASG;WACU,qBAAqB,CACjC,GAAG,EAAE,MAAM,EACX,GAAG,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,EAAE,GACnD,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;CAa1C"}
|
|
@@ -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,YAAY,EAAmB,MAAM,wBAAwB,CAAC;AAGpF;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC5C;;;;OAIG;IACH,YAAY,WAAwB;QACnC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAW;QAC9C,uBAAuB;QACvB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QAE5C,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;QAEhD,0BAA0B;QAC1B,WAAW,CAAC,UAAU,EAAE,CAAC;QAEzB,8BAA8B;QAC9B,OAAO,MAAM,CAAC,gBAAgB,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAW;QAC/B,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAmB;QAC1C,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAChC,GAAW,EACX,SAA+C;QAE/C,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACjC,GAAW,EACX,GAAG,UAAkD;QAErD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1F,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,UAMjB,CAAC;QACF,OAAO,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC;IAC/D,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;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG,QAAQ,CAGpG;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAqC,CAAC"}
|
|
@@ -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;;;;;;;;GAQG;AACH,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;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../src/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/signer.ts"],"names":[],"mappings":"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"}
|