@cheqd/sdk 1.2.10 → 1.3.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/.github/linters/mlc_config.json +1 -11
- package/.github/workflows/build.yml +2 -2
- package/.github/workflows/lint.yml +0 -1
- package/CHANGELOG.md +9 -0
- package/README.md +4 -6
- package/build/index.d.ts +2 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -3
- package/build/index.js.map +1 -1
- package/build/modules/resource.d.ts +23 -0
- package/build/modules/resource.d.ts.map +1 -0
- package/build/modules/resource.js +75 -0
- package/build/modules/resource.js.map +1 -0
- package/build/signer.d.ts +1 -0
- package/build/signer.d.ts.map +1 -1
- package/build/signer.js +27 -0
- package/build/signer.js.map +1 -1
- package/build/types.d.ts +2 -1
- package/build/types.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/index.ts +2 -2
- package/src/modules/resource.ts +99 -0
- package/src/signer.ts +35 -2
- package/src/types.ts +2 -1
- package/tests/index.test.ts +16 -1
- package/tests/modules/resource.test.ts +105 -0
- package/.github/linters/.ansible-lint.yml +0 -2
- package/.github/linters/.checkov.yaml +0 -13
- package/.github/linters/.golangci.yaml +0 -25
- package/.github/linters/.hadolint.yml +0 -15
- package/build/modules/resources.d.ts +0 -10
- package/build/modules/resources.d.ts.map +0 -1
- package/build/modules/resources.js +0 -15
- package/build/modules/resources.js.map +0 -1
- package/src/modules/resources.ts +0 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.3.1](https://github.com/cheqd/sdk/compare/1.3.0...1.3.1) (2022-10-03)
|
|
4
|
+
|
|
5
|
+
## [1.3.0](https://github.com/cheqd/sdk/compare/1.2.10...1.3.0) (2022-09-01)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* Resources support [DEV-1616] ([#18](https://github.com/cheqd/sdk/issues/18)) ([40bb485](https://github.com/cheqd/sdk/commit/40bb485399b1ce83997350d450432100d05b10a2))
|
|
11
|
+
|
|
3
12
|
## [1.2.10](https://github.com/cheqd/sdk/compare/1.2.9...1.2.10) (2022-08-19)
|
|
4
13
|
|
|
5
14
|
## [1.2.9](https://github.com/cheqd/sdk/compare/1.2.8...1.2.9) (2022-08-19)
|
package/README.md
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
# TypeScript SDK for cheqd
|
|
2
2
|
|
|
3
|
-
[](https://github.com/cheqd/sdk/releases/latest)  [](https://github.com/cheqd/sdk/blob/main/LICENSE)
|
|
4
4
|
|
|
5
|
-
[](https://github.com/cheqd/sdk/releases/)  [](https://github.com/cheqd/sdk/graphs/contributors)
|
|
6
6
|
|
|
7
|
-
[](https://github.com/cheqd/sdk/graphs/contributors) 
|
|
7
|
+
[](https://github.com/cheqd/sdk/actions/workflows/dispatch.yml) [](https://github.com/cheqd/sdk/actions/workflows/codeql.yml) 
|
|
10
8
|
|
|
11
9
|
## ℹ️ Overview
|
|
12
10
|
|
|
@@ -25,7 +23,7 @@ With this SDK, developers are able to:
|
|
|
25
23
|
|
|
26
24
|
* ✅ Create a `did:cheqd` method DID
|
|
27
25
|
* ✅ Update a `did:cheqd` method DID
|
|
28
|
-
*
|
|
26
|
+
* ✅ Create Resource within a `did:cheqd` method DID
|
|
29
27
|
|
|
30
28
|
### 🧰 Tooling
|
|
31
29
|
|
package/build/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OfflineSigner } from '@cosmjs/proto-signing';
|
|
2
2
|
import { DIDModule, MinimalImportableDIDModule } from './modules/did';
|
|
3
|
-
import { MinimalImportableResourcesModule,
|
|
3
|
+
import { MinimalImportableResourcesModule, ResourceModule } from './modules/resource';
|
|
4
4
|
import { AbstractCheqdSDKModule } from './modules/_';
|
|
5
5
|
import { CheqdSigningStargateClient } from './signer';
|
|
6
6
|
import { CheqdNetwork, IModuleMethodMap } from './types';
|
|
@@ -28,7 +28,7 @@ export declare class CheqdSDK {
|
|
|
28
28
|
}
|
|
29
29
|
export declare function filterUnauthorizedMethods(methods: IModuleMethodMap, authorizedMethods: string[], protectedMethods: string[]): IModuleMethodMap;
|
|
30
30
|
export declare function createCheqdSDK(options: ICheqdSDKOptions): Promise<CheqdSDK>;
|
|
31
|
-
export { DIDModule,
|
|
31
|
+
export { DIDModule, ResourceModule };
|
|
32
32
|
export { createSignInputsFromImportableEd25519Key };
|
|
33
33
|
export { createKeyPairRaw, createKeyPairBase64, createKeyPairHex, createVerificationKeys, createDidVerificationMethod, createDidPayload } from './utils';
|
|
34
34
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,gCAAgC,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,gCAAgC,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,sBAAsB,EAAmF,MAAM,aAAa,CAAA;AAErI,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,YAAY,EAAY,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAClE,OAAO,EAAE,wCAAwC,EAAE,MAAM,SAAS,CAAA;AAElE,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,sBAAsB,EAAE,CAAA;IACjC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;CAC9B;AAED,oBAAY,sBAAsB,GAAG,0BAA0B,GAAG,gCAAgC,CAAA;AAElG,MAAM,WAAW,QAAS,SAAQ,sBAAsB;CAAI;AAE5D,qBAAa,QAAQ;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,MAAM,EAAE,0BAA0B,CAAA;IAClC,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,CAAC,gBAAgB,CAAoE;gBAEhF,OAAO,EAAE,gBAAgB;IAe/B,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAO3E,OAAO,CAAC,WAAW;IAgBhB,OAAO,CAAC,YAAY;IAOjB,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;CAahC;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAU9I;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEjF;AAED,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA;AACpC,OAAO,EAAE,wCAAwC,EAAE,CAAA;AACnD,OAAO,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,MAAM,SAAS,CAAA"}
|
package/build/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createDidPayload = exports.createDidVerificationMethod = exports.createVerificationKeys = exports.createKeyPairHex = exports.createKeyPairBase64 = exports.createKeyPairRaw = exports.createSignInputsFromImportableEd25519Key = exports.
|
|
3
|
+
exports.createDidPayload = exports.createDidVerificationMethod = exports.createVerificationKeys = exports.createKeyPairHex = exports.createKeyPairBase64 = exports.createKeyPairRaw = exports.createSignInputsFromImportableEd25519Key = exports.ResourceModule = exports.DIDModule = exports.createCheqdSDK = exports.filterUnauthorizedMethods = exports.CheqdSDK = void 0;
|
|
4
4
|
const did_1 = require("./modules/did");
|
|
5
5
|
Object.defineProperty(exports, "DIDModule", { enumerable: true, get: function () { return did_1.DIDModule; } });
|
|
6
|
-
const
|
|
7
|
-
Object.defineProperty(exports, "
|
|
6
|
+
const resource_1 = require("./modules/resource");
|
|
7
|
+
Object.defineProperty(exports, "ResourceModule", { enumerable: true, get: function () { return resource_1.ResourceModule; } });
|
|
8
8
|
const _1 = require("./modules/_");
|
|
9
9
|
const registry_1 = require("./registry");
|
|
10
10
|
const signer_1 = require("./signer");
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,uCAAqE;AAsG5D,0FAtGA,eAAS,OAsGA;AArGlB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AbstractCheqdSDKModule, MinimalImportableCheqdSDKModule } from "./_";
|
|
2
|
+
import { CheqdSigningStargateClient } from "../signer";
|
|
3
|
+
import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing";
|
|
4
|
+
import { DidStdFee, IContext, ISignInputs } from '../types';
|
|
5
|
+
import { MsgCreateResource, MsgCreateResourcePayload } from "@cheqd/ts-proto/resource/v1/tx";
|
|
6
|
+
import { DeliverTxResponse } from "@cosmjs/stargate";
|
|
7
|
+
export declare const typeUrlMsgCreateResource: string;
|
|
8
|
+
export declare const typeUrlMsgCreateResourceResponse: string;
|
|
9
|
+
export interface MsgCreateResourceEncodeObject extends EncodeObject {
|
|
10
|
+
readonly typeUrl: typeof typeUrlMsgCreateResource;
|
|
11
|
+
readonly value: Partial<MsgCreateResource>;
|
|
12
|
+
}
|
|
13
|
+
export declare function isMsgCreateResourceEncodeObject(obj: EncodeObject): obj is MsgCreateResourceEncodeObject;
|
|
14
|
+
export declare class ResourceModule extends AbstractCheqdSDKModule {
|
|
15
|
+
static readonly registryTypes: Iterable<[string, GeneratedType]>;
|
|
16
|
+
constructor(signer: CheqdSigningStargateClient);
|
|
17
|
+
getRegistryTypes(): Iterable<[string, GeneratedType]>;
|
|
18
|
+
static getMsgCreateResourcePayloadAminoSignBytes(message: MsgCreateResourcePayload): Uint8Array;
|
|
19
|
+
static signPayload(payload: MsgCreateResourcePayload, signInputs: ISignInputs[]): Promise<MsgCreateResource>;
|
|
20
|
+
createResourceTx(signInputs: ISignInputs[], resourcePayload: Partial<MsgCreateResourcePayload>, address: string, fee: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse>;
|
|
21
|
+
}
|
|
22
|
+
export declare type MinimalImportableResourcesModule = MinimalImportableCheqdSDKModule<ResourceModule>;
|
|
23
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/modules/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAA8C,MAAM,gCAAgC,CAAA;AACxI,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGpD,eAAO,MAAM,wBAAwB,QAA0C,CAAA;AAC/E,eAAO,MAAM,gCAAgC,QAAkD,CAAA;AAE/F,MAAM,WAAW,6BAA8B,SAAQ,YAAY;IAClE,QAAQ,CAAC,OAAO,EAAE,OAAO,wBAAwB,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC1C;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,IAAI,6BAA6B,CAEvG;AAED,qBAAa,cAAe,SAAQ,sBAAsB;IACzD,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAG/D;gBAEW,MAAM,EAAE,0BAA0B;IAOvC,gBAAgB,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAQ5D,MAAM,CAAC,yCAAyC,CAAC,OAAO,EAAE,wBAAwB,GAAG,UAAU;WAwBlF,WAAW,CAAC,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAU5G,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAqBvN;AAED,oBAAY,gCAAgC,GAAG,+BAA+B,CAAC,cAAc,CAAC,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceModule = exports.isMsgCreateResourceEncodeObject = exports.typeUrlMsgCreateResourceResponse = exports.typeUrlMsgCreateResource = void 0;
|
|
4
|
+
const _1 = require("./_");
|
|
5
|
+
const signer_1 = require("../signer");
|
|
6
|
+
const tx_1 = require("@cheqd/ts-proto/resource/v1/tx");
|
|
7
|
+
const protobufjs_1 = require("protobufjs");
|
|
8
|
+
exports.typeUrlMsgCreateResource = `/${tx_1.protobufPackage}.MsgCreateResource`;
|
|
9
|
+
exports.typeUrlMsgCreateResourceResponse = `/${tx_1.protobufPackage}.MsgCreateResourceResponse`;
|
|
10
|
+
function isMsgCreateResourceEncodeObject(obj) {
|
|
11
|
+
return obj.typeUrl === exports.typeUrlMsgCreateResource;
|
|
12
|
+
}
|
|
13
|
+
exports.isMsgCreateResourceEncodeObject = isMsgCreateResourceEncodeObject;
|
|
14
|
+
class ResourceModule extends _1.AbstractCheqdSDKModule {
|
|
15
|
+
constructor(signer) {
|
|
16
|
+
super(signer);
|
|
17
|
+
this.methods = {
|
|
18
|
+
createResourceTx: this.createResourceTx.bind(this)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
getRegistryTypes() {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
// We need this workagound because amino encoding is used in cheqd-node to derive sign bytes for identity messages.
|
|
25
|
+
// In most cases it works the same way as protobuf encoding, but in the MsgCreateResourcePayload
|
|
26
|
+
// we use non-default property indexes so we need this separate encoding function.
|
|
27
|
+
// TODO: Remove this workaround when cheqd-node will use protobuf encoding.
|
|
28
|
+
static getMsgCreateResourcePayloadAminoSignBytes(message) {
|
|
29
|
+
const writer = new protobufjs_1.Writer();
|
|
30
|
+
if (message.collectionId !== "") {
|
|
31
|
+
writer.uint32(10).string(message.collectionId);
|
|
32
|
+
}
|
|
33
|
+
if (message.id !== "") {
|
|
34
|
+
writer.uint32(18).string(message.id);
|
|
35
|
+
}
|
|
36
|
+
if (message.name !== "") {
|
|
37
|
+
writer.uint32(26).string(message.name);
|
|
38
|
+
}
|
|
39
|
+
if (message.resourceType !== "") {
|
|
40
|
+
writer.uint32(34).string(message.resourceType);
|
|
41
|
+
}
|
|
42
|
+
if (message.data.length !== 0) {
|
|
43
|
+
// Animo coded assigns index 5 to this property. In proto definitions it's 6.
|
|
44
|
+
// Since we use amino on node + non default property indexing, we need to encode it manually.
|
|
45
|
+
writer.uint32(42).bytes(message.data);
|
|
46
|
+
}
|
|
47
|
+
return writer.finish();
|
|
48
|
+
}
|
|
49
|
+
static async signPayload(payload, signInputs) {
|
|
50
|
+
const signBytes = ResourceModule.getMsgCreateResourcePayloadAminoSignBytes(payload);
|
|
51
|
+
const signatures = await signer_1.CheqdSigningStargateClient.signIdentityTx(signBytes, signInputs);
|
|
52
|
+
return {
|
|
53
|
+
payload,
|
|
54
|
+
signatures
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
async createResourceTx(signInputs, resourcePayload, address, fee, memo, context) {
|
|
58
|
+
if (!this._signer) {
|
|
59
|
+
this._signer = context.sdk.signer;
|
|
60
|
+
}
|
|
61
|
+
const payload = tx_1.MsgCreateResourcePayload.fromPartial(resourcePayload);
|
|
62
|
+
const msg = await ResourceModule.signPayload(payload, signInputs);
|
|
63
|
+
const encObj = {
|
|
64
|
+
typeUrl: exports.typeUrlMsgCreateResource,
|
|
65
|
+
value: msg
|
|
66
|
+
};
|
|
67
|
+
return this._signer.signAndBroadcast(address, [encObj], fee, memo);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.ResourceModule = ResourceModule;
|
|
71
|
+
ResourceModule.registryTypes = [
|
|
72
|
+
[exports.typeUrlMsgCreateResource, tx_1.MsgCreateResource],
|
|
73
|
+
[exports.typeUrlMsgCreateResourceResponse, tx_1.MsgCreateResourceResponse]
|
|
74
|
+
];
|
|
75
|
+
//# 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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"}
|
package/build/signer.d.ts
CHANGED
|
@@ -33,5 +33,6 @@ export declare class CheqdSigningStargateClient extends SigningStargateClient {
|
|
|
33
33
|
getDidSigner(verificationMethodId: string, verificationMethods: Partial<VerificationMethod>[]): Promise<(secretKey: Uint8Array) => Signer>;
|
|
34
34
|
signCreateDidTx(signInputs: ISignInputs[], payload: MsgCreateDidPayload): Promise<SignInfo[]>;
|
|
35
35
|
signUpdateDidTx(signInputs: ISignInputs[], payload: MsgUpdateDidPayload): Promise<SignInfo[]>;
|
|
36
|
+
static signIdentityTx(signBytes: Uint8Array, signInputs: ISignInputs[]): Promise<SignInfo[]>;
|
|
36
37
|
}
|
|
37
38
|
//# sourceMappingURL=signer.d.ts.map
|
package/build/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAyB,aAAa,EAAiD,MAAM,uBAAuB,CAAA;AACzI,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAe,qBAAqB,EAAE,4BAA4B,EAAgB,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxK,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAuB,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
|
package/build/signer.js
CHANGED
|
@@ -177,6 +177,33 @@ class CheqdSigningStargateClient extends stargate_1.SigningStargateClient {
|
|
|
177
177
|
}));
|
|
178
178
|
return signInfos;
|
|
179
179
|
}
|
|
180
|
+
static async signIdentityTx(signBytes, signInputs) {
|
|
181
|
+
let signInfos = [];
|
|
182
|
+
for (let signInput of signInputs) {
|
|
183
|
+
if (typeof (signInput.keyType) === undefined) {
|
|
184
|
+
throw new Error('Key type is not defined');
|
|
185
|
+
}
|
|
186
|
+
let signature;
|
|
187
|
+
switch (signInput.keyType) {
|
|
188
|
+
case 'Ed25519':
|
|
189
|
+
signature = (await (0, did_jwt_1.EdDSASigner)((0, did_jwt_1.hexToBytes)(signInput.privateKeyHex))(signBytes));
|
|
190
|
+
break;
|
|
191
|
+
case 'Secp256k1':
|
|
192
|
+
signature = (await (0, did_jwt_1.ES256KSigner)((0, did_jwt_1.hexToBytes)(signInput.privateKeyHex))(signBytes));
|
|
193
|
+
break;
|
|
194
|
+
case 'P256':
|
|
195
|
+
signature = (await (0, did_jwt_1.ES256Signer)((0, did_jwt_1.hexToBytes)(signInput.privateKeyHex))(signBytes));
|
|
196
|
+
break;
|
|
197
|
+
default:
|
|
198
|
+
throw new Error(`Unsupported signature type: ${signInput.keyType}`);
|
|
199
|
+
}
|
|
200
|
+
signInfos.push({
|
|
201
|
+
verificationMethodId: signInput.verificationMethodId,
|
|
202
|
+
signature: (0, uint8arrays_1.toString)((0, did_jwt_1.base64ToBytes)(signature), 'base64pad')
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
return signInfos;
|
|
206
|
+
}
|
|
180
207
|
}
|
|
181
208
|
exports.CheqdSigningStargateClient = CheqdSigningStargateClient;
|
|
182
209
|
//# sourceMappingURL=signer.js.map
|
package/build/signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":";;;;;;AACA,yDAAyI;AACzI,+CAAwK;AACxK,2DAA2D;AAC3D,yCAAuD;AACvD,oDAAiG;AACjG,
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CheqdSDK } from ".";
|
|
2
|
-
import { Signer } from 'did-jwt';
|
|
3
2
|
import { Coin } from "@cosmjs/proto-signing";
|
|
3
|
+
import { Signer } from "did-jwt";
|
|
4
4
|
export declare enum CheqdNetwork {
|
|
5
5
|
Mainnet = "mainnet",
|
|
6
6
|
Testnet = "testnet"
|
|
@@ -26,6 +26,7 @@ export declare type TSignerAlgo = {
|
|
|
26
26
|
};
|
|
27
27
|
export interface ISignInputs {
|
|
28
28
|
verificationMethodId: string;
|
|
29
|
+
keyType?: 'Ed25519' | 'Secp256k1' | 'P256';
|
|
29
30
|
privateKeyHex: string;
|
|
30
31
|
}
|
|
31
32
|
export interface IKeyPair {
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC,oBAAY,YAAY;IACpB,OAAO,YAAY;IACnB,OAAO,YAAY;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAAG;AAE1E,MAAM,WAAW,QAAQ;IACrB,GAAG,EAAE,QAAQ,CAAA;CAChB;AAED,oBAAY,mBAAmB;IAC3B,MAAM,+BAA+B;IACrC,GAAG,mBAAmB;CACzB;AAED,oBAAY,oBAAoB;IAC5B,MAAM,cAAc;IACpB,IAAI,SAAS;CAChB;AAED,oBAAY,WAAW,GAAG;KACrB,GAAG,IAAI,mBAAmB,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,MAAM;CAC7E,CAAA;AAED,MAAM,WAAW,WAAW;IACxB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAA;IAC1C,aAAa,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,QAAQ;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,GAAG,CAAA;CACb;AAED,oBAAY,sBAAsB,GAAG,MAAM,CAAA;AAE3C,oBAAY,gBAAgB,CAAC,CAAC,SAAS,sBAAsB,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;AAE9F,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAA;IAC5C,QAAQ,CAAC,MAAM,EAAE,aAAa,YAAY,IAAI,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IACrH,QAAQ,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE,CAAA;IACpG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC7B;AAED,oBAAY,iBAAiB,GAAG,MAAM,CAAA;AAEtC,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cheqd/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "A TypeScript SDK built with CosmJS to interact with cheqd network ledger",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Cheqd Foundation Limited (https://github.com/cheqd)",
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
"@semantic-release/github": "^8.0.5",
|
|
33
33
|
"@semantic-release/npm": "^9.0.1",
|
|
34
34
|
"@semantic-release/release-notes-generator": "^10.0.3",
|
|
35
|
-
"@types/jest": "^28.1.
|
|
36
|
-
"@types/node": "^18.
|
|
35
|
+
"@types/jest": "^28.1.7",
|
|
36
|
+
"@types/node": "^18.7.11",
|
|
37
37
|
"@types/uuid": "^8.3.4",
|
|
38
38
|
"conventional-changelog-conventionalcommits": "^5.0.0",
|
|
39
39
|
"jest": "^28.1.3",
|
|
40
|
-
"ts-jest": "^28.0.
|
|
40
|
+
"ts-jest": "^28.0.8",
|
|
41
41
|
"ts-node": "^10.9.1",
|
|
42
42
|
"typescript": "^4.7.4"
|
|
43
43
|
},
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"@cosmjs/encoding": "^0.28.11",
|
|
48
48
|
"@cosmjs/math": "^0.28.11",
|
|
49
49
|
"@cosmjs/proto-signing": "^0.28.10",
|
|
50
|
-
"@cosmjs/stargate": "^0.28.
|
|
50
|
+
"@cosmjs/stargate": "^0.28.13",
|
|
51
51
|
"@cosmjs/tendermint-rpc": "^0.28.10",
|
|
52
52
|
"@cosmjs/utils": "^0.28.11",
|
|
53
|
-
"@stablelib/ed25519": "^1.0.
|
|
54
|
-
"cosmjs-types": "^0.5.
|
|
55
|
-
"did-jwt": "^6.
|
|
53
|
+
"@stablelib/ed25519": "^1.0.3",
|
|
54
|
+
"cosmjs-types": "^0.5.1",
|
|
55
|
+
"did-jwt": "^6.6.0",
|
|
56
56
|
"multiformats": "^9.7.1",
|
|
57
57
|
"uint8arrays": "^3.1.0",
|
|
58
58
|
"uuid": "^8.3.2"
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OfflineSigner, Registry } from '@cosmjs/proto-signing'
|
|
2
2
|
import { DIDModule, MinimalImportableDIDModule } from './modules/did'
|
|
3
|
-
import { MinimalImportableResourcesModule,
|
|
3
|
+
import { MinimalImportableResourcesModule, ResourceModule } from './modules/resource'
|
|
4
4
|
import { AbstractCheqdSDKModule, applyMixins, instantiateCheqdSDKModule, instantiateCheqdSDKModuleRegistryTypes, } from './modules/_'
|
|
5
5
|
import { createDefaultCheqdRegistry } from './registry'
|
|
6
6
|
import { CheqdSigningStargateClient } from './signer'
|
|
@@ -101,7 +101,7 @@ export async function createCheqdSDK(options: ICheqdSDKOptions): Promise<CheqdSD
|
|
|
101
101
|
return await (new CheqdSDK(options)).build()
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
export { DIDModule,
|
|
104
|
+
export { DIDModule, ResourceModule }
|
|
105
105
|
export { createSignInputsFromImportableEd25519Key }
|
|
106
106
|
export {
|
|
107
107
|
createKeyPairRaw,
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { AbstractCheqdSDKModule, MinimalImportableCheqdSDKModule } from "./_"
|
|
2
|
+
import { CheqdSigningStargateClient } from "../signer"
|
|
3
|
+
import { EncodeObject, GeneratedType } from "@cosmjs/proto-signing"
|
|
4
|
+
import { DidStdFee, IContext, ISignInputs } from '../types';
|
|
5
|
+
import { MsgCreateResource, MsgCreateResourcePayload, MsgCreateResourceResponse, protobufPackage } from "@cheqd/ts-proto/resource/v1/tx"
|
|
6
|
+
import { DeliverTxResponse } from "@cosmjs/stargate"
|
|
7
|
+
import { Writer } from "protobufjs"
|
|
8
|
+
|
|
9
|
+
export const typeUrlMsgCreateResource = `/${protobufPackage}.MsgCreateResource`
|
|
10
|
+
export const typeUrlMsgCreateResourceResponse = `/${protobufPackage}.MsgCreateResourceResponse`
|
|
11
|
+
|
|
12
|
+
export interface MsgCreateResourceEncodeObject extends EncodeObject {
|
|
13
|
+
readonly typeUrl: typeof typeUrlMsgCreateResource,
|
|
14
|
+
readonly value: Partial<MsgCreateResource>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function isMsgCreateResourceEncodeObject(obj: EncodeObject): obj is MsgCreateResourceEncodeObject {
|
|
18
|
+
return obj.typeUrl === typeUrlMsgCreateResource
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class ResourceModule extends AbstractCheqdSDKModule {
|
|
22
|
+
static readonly registryTypes: Iterable<[string, GeneratedType]> = [
|
|
23
|
+
[typeUrlMsgCreateResource, MsgCreateResource],
|
|
24
|
+
[typeUrlMsgCreateResourceResponse, MsgCreateResourceResponse]
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
constructor(signer: CheqdSigningStargateClient) {
|
|
28
|
+
super(signer)
|
|
29
|
+
this.methods = {
|
|
30
|
+
createResourceTx: this.createResourceTx.bind(this)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public getRegistryTypes(): Iterable<[string, GeneratedType]> {
|
|
35
|
+
return []
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// We need this workagound because amino encoding is used in cheqd-node to derive sign bytes for identity messages.
|
|
39
|
+
// In most cases it works the same way as protobuf encoding, but in the MsgCreateResourcePayload
|
|
40
|
+
// we use non-default property indexes so we need this separate encoding function.
|
|
41
|
+
// TODO: Remove this workaround when cheqd-node will use protobuf encoding.
|
|
42
|
+
static getMsgCreateResourcePayloadAminoSignBytes(message: MsgCreateResourcePayload): Uint8Array {
|
|
43
|
+
const writer = new Writer();
|
|
44
|
+
|
|
45
|
+
if (message.collectionId !== "") {
|
|
46
|
+
writer.uint32(10).string(message.collectionId);
|
|
47
|
+
}
|
|
48
|
+
if (message.id !== "") {
|
|
49
|
+
writer.uint32(18).string(message.id);
|
|
50
|
+
}
|
|
51
|
+
if (message.name !== "") {
|
|
52
|
+
writer.uint32(26).string(message.name);
|
|
53
|
+
}
|
|
54
|
+
if (message.resourceType !== "") {
|
|
55
|
+
writer.uint32(34).string(message.resourceType);
|
|
56
|
+
}
|
|
57
|
+
if (message.data.length !== 0) {
|
|
58
|
+
// Animo coded assigns index 5 to this property. In proto definitions it's 6.
|
|
59
|
+
// Since we use amino on node + non default property indexing, we need to encode it manually.
|
|
60
|
+
writer.uint32(42).bytes(message.data);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return writer.finish();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static async signPayload(payload: MsgCreateResourcePayload, signInputs: ISignInputs[]): Promise<MsgCreateResource> {
|
|
67
|
+
const signBytes = ResourceModule.getMsgCreateResourcePayloadAminoSignBytes(payload)
|
|
68
|
+
const signatures = await CheqdSigningStargateClient.signIdentityTx(signBytes, signInputs)
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
payload,
|
|
72
|
+
signatures
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
async createResourceTx(signInputs: ISignInputs[], resourcePayload: Partial<MsgCreateResourcePayload>, address: string, fee: DidStdFee | 'auto' | number, memo?: string, context?: IContext): Promise<DeliverTxResponse> {
|
|
77
|
+
if (!this._signer) {
|
|
78
|
+
this._signer = context!.sdk!.signer
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const payload = MsgCreateResourcePayload.fromPartial(resourcePayload)
|
|
82
|
+
|
|
83
|
+
const msg = await ResourceModule.signPayload(payload, signInputs)
|
|
84
|
+
|
|
85
|
+
const encObj: MsgCreateResourceEncodeObject = {
|
|
86
|
+
typeUrl: typeUrlMsgCreateResource,
|
|
87
|
+
value: msg
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return this._signer.signAndBroadcast(
|
|
91
|
+
address,
|
|
92
|
+
[encObj],
|
|
93
|
+
fee,
|
|
94
|
+
memo
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export type MinimalImportableResourcesModule = MinimalImportableCheqdSDKModule<ResourceModule>
|
package/src/signer.ts
CHANGED
|
@@ -4,9 +4,9 @@ import { DeliverTxResponse, GasPrice, HttpEndpoint, QueryClient, SigningStargate
|
|
|
4
4
|
import { Tendermint34Client } from "@cosmjs/tendermint-rpc"
|
|
5
5
|
import { createDefaultCheqdRegistry } from "./registry"
|
|
6
6
|
import { MsgCreateDidPayload, SignInfo, MsgUpdateDidPayload } from '@cheqd/ts-proto/cheqd/v1/tx';
|
|
7
|
-
import { DidStdFee, ISignInputs, TSignerAlgo, VerificationMethods } from './types'
|
|
7
|
+
import { DidStdFee, ISignInputs, TSignerAlgo, VerificationMethods } from './types';
|
|
8
8
|
import { VerificationMethod } from '@cheqd/ts-proto/cheqd/v1/did'
|
|
9
|
-
import { base64ToBytes, EdDSASigner, hexToBytes, Signer } from 'did-jwt'
|
|
9
|
+
import { base64ToBytes, EdDSASigner, hexToBytes, Signer, ES256Signer, ES256KSigner } from 'did-jwt';
|
|
10
10
|
import { toString } from 'uint8arrays'
|
|
11
11
|
import { assert, assertDefined } from '@cosmjs/utils'
|
|
12
12
|
import { encodeSecp256k1Pubkey } from '@cosmjs/amino'
|
|
@@ -227,4 +227,37 @@ export class CheqdSigningStargateClient extends SigningStargateClient {
|
|
|
227
227
|
|
|
228
228
|
return signInfos
|
|
229
229
|
}
|
|
230
|
+
|
|
231
|
+
static async signIdentityTx(signBytes: Uint8Array, signInputs: ISignInputs[]): Promise<SignInfo[]> {
|
|
232
|
+
let signInfos: SignInfo[] = [];
|
|
233
|
+
|
|
234
|
+
for (let signInput of signInputs) {
|
|
235
|
+
if (typeof(signInput.keyType) === undefined) {
|
|
236
|
+
throw new Error('Key type is not defined')
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
let signature: string;
|
|
240
|
+
|
|
241
|
+
switch (signInput.keyType) {
|
|
242
|
+
case 'Ed25519':
|
|
243
|
+
signature = (await EdDSASigner(hexToBytes(signInput.privateKeyHex))(signBytes)) as string;
|
|
244
|
+
break;
|
|
245
|
+
case 'Secp256k1':
|
|
246
|
+
signature = (await ES256KSigner(hexToBytes(signInput.privateKeyHex))(signBytes)) as string;
|
|
247
|
+
break;
|
|
248
|
+
case 'P256':
|
|
249
|
+
signature = (await ES256Signer(hexToBytes(signInput.privateKeyHex))(signBytes)) as string;
|
|
250
|
+
break;
|
|
251
|
+
default:
|
|
252
|
+
throw new Error(`Unsupported signature type: ${signInput.keyType}`);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
signInfos.push({
|
|
256
|
+
verificationMethodId: signInput.verificationMethodId,
|
|
257
|
+
signature: toString(base64ToBytes(signature), 'base64pad')
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return signInfos
|
|
262
|
+
}
|
|
230
263
|
}
|
package/src/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CheqdSDK } from "."
|
|
2
|
-
import { EdDSASigner, Signer } from 'did-jwt'
|
|
3
2
|
import { Coin } from "@cosmjs/proto-signing"
|
|
3
|
+
import { Signer } from "did-jwt"
|
|
4
4
|
|
|
5
5
|
export enum CheqdNetwork {
|
|
6
6
|
Mainnet = 'mainnet',
|
|
@@ -33,6 +33,7 @@ export type TSignerAlgo = {
|
|
|
33
33
|
|
|
34
34
|
export interface ISignInputs {
|
|
35
35
|
verificationMethodId: string
|
|
36
|
+
keyType?: 'Ed25519' | 'Secp256k1' | 'P256'
|
|
36
37
|
privateKeyHex: string
|
|
37
38
|
}
|
|
38
39
|
|
package/tests/index.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DirectSecp256k1HdWallet, GeneratedType } from '@cosmjs/proto-signing'
|
|
2
|
-
import { createCheqdSDK, DIDModule, ICheqdSDKOptions } from '../src/index'
|
|
2
|
+
import { createCheqdSDK, DIDModule, ICheqdSDKOptions, ResourceModule } from '../src/index'
|
|
3
3
|
import { exampleCheqdNetwork, faucet } from './testutils.test'
|
|
4
4
|
import { AbstractCheqdSDKModule } from '../src/modules/_'
|
|
5
5
|
import { CheqdSigningStargateClient } from '../src/signer'
|
|
@@ -76,6 +76,21 @@ describe(
|
|
|
76
76
|
|
|
77
77
|
expect(cheqdSDK.signer.registry).toStrictEqual(cheqdRegistry)
|
|
78
78
|
})
|
|
79
|
+
|
|
80
|
+
it('should instantiate registry from multiple passed modules', async () => {
|
|
81
|
+
const options = {
|
|
82
|
+
modules: [DIDModule as unknown as AbstractCheqdSDKModule, ResourceModule as unknown as AbstractCheqdSDKModule],
|
|
83
|
+
rpcUrl: exampleCheqdNetwork.rpcUrl,
|
|
84
|
+
wallet: await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic)
|
|
85
|
+
} as ICheqdSDKOptions
|
|
86
|
+
const cheqdSDK = await createCheqdSDK(options)
|
|
87
|
+
|
|
88
|
+
const didRegistryTypes = DIDModule.registryTypes
|
|
89
|
+
const resourceRegistryTypes = ResourceModule.registryTypes
|
|
90
|
+
const cheqdRegistry = createDefaultCheqdRegistry([...didRegistryTypes, ...resourceRegistryTypes])
|
|
91
|
+
|
|
92
|
+
expect(cheqdSDK.signer.registry).toStrictEqual(cheqdRegistry)
|
|
93
|
+
})
|
|
79
94
|
})
|
|
80
95
|
}
|
|
81
96
|
)
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { DirectSecp256k1HdWallet, GeneratedType } from "@cosmjs/proto-signing"
|
|
2
|
+
import { DeliverTxResponse } from "@cosmjs/stargate"
|
|
3
|
+
import { sign } from "@stablelib/ed25519"
|
|
4
|
+
import { fromString, toString } from 'uint8arrays'
|
|
5
|
+
import { DIDModule, ResourceModule } from "../../src"
|
|
6
|
+
import { createDefaultCheqdRegistry } from "../../src/registry"
|
|
7
|
+
import { CheqdSigningStargateClient } from "../../src/signer"
|
|
8
|
+
import { DidStdFee, ISignInputs, MethodSpecificIdAlgo, VerificationMethods } from '../../src/types';
|
|
9
|
+
import { createDidPayload, createDidVerificationMethod, createKeyPairBase64, createVerificationKeys, exampleCheqdNetwork, faucet } from "../testutils.test"
|
|
10
|
+
import { MsgCreateResourcePayload } from '@cheqd/ts-proto/resource/v1/tx';
|
|
11
|
+
import { randomUUID } from "crypto"
|
|
12
|
+
|
|
13
|
+
const defaultAsyncTxTimeout = 20000
|
|
14
|
+
|
|
15
|
+
describe('ResourceModule', () => {
|
|
16
|
+
describe('constructor', () => {
|
|
17
|
+
it('should instantiate standalone module', async () => {
|
|
18
|
+
const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic)
|
|
19
|
+
const signer = await CheqdSigningStargateClient.connectWithSigner(exampleCheqdNetwork.rpcUrl, wallet)
|
|
20
|
+
const resourceModule = new ResourceModule(signer)
|
|
21
|
+
expect(resourceModule).toBeInstanceOf(ResourceModule)
|
|
22
|
+
})
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
describe('createResourceTx', () => {
|
|
26
|
+
it('should create a new Resource', async () => {
|
|
27
|
+
// Creating a DID
|
|
28
|
+
const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, {prefix: faucet.prefix})
|
|
29
|
+
|
|
30
|
+
const registry = createDefaultCheqdRegistry(Array.from(DIDModule.registryTypes).concat(Array.from(ResourceModule.registryTypes)))
|
|
31
|
+
|
|
32
|
+
const signer = await CheqdSigningStargateClient.connectWithSigner(exampleCheqdNetwork.rpcUrl, wallet, { registry })
|
|
33
|
+
|
|
34
|
+
const didModule = new DIDModule(signer)
|
|
35
|
+
|
|
36
|
+
const keyPair = createKeyPairBase64()
|
|
37
|
+
const verificationKeys = createVerificationKeys(keyPair, MethodSpecificIdAlgo.Base58, 'key-1', 16)
|
|
38
|
+
const verificationMethods = createDidVerificationMethod([VerificationMethods.Base58], [verificationKeys])
|
|
39
|
+
const didPayload = createDidPayload(verificationMethods, [verificationKeys])
|
|
40
|
+
|
|
41
|
+
const signInputs: ISignInputs[] = [
|
|
42
|
+
{
|
|
43
|
+
verificationMethodId: didPayload.verificationMethod[0].id,
|
|
44
|
+
privateKeyHex: toString(fromString(keyPair.privateKey, 'base64'), 'hex')
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
const fee: DidStdFee = {
|
|
49
|
+
amount: [
|
|
50
|
+
{
|
|
51
|
+
denom: 'ncheq',
|
|
52
|
+
amount: '50000000'
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
gas: '1000000',
|
|
56
|
+
payer: (await wallet.getAccounts())[0].address
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const didTx: DeliverTxResponse = await didModule.createDidTx(
|
|
60
|
+
signInputs,
|
|
61
|
+
didPayload,
|
|
62
|
+
(await wallet.getAccounts())[0].address,
|
|
63
|
+
fee
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
console.warn(`Using payload: ${JSON.stringify(didPayload)}`)
|
|
67
|
+
console.warn(`DID Tx: ${JSON.stringify(didTx)}`)
|
|
68
|
+
|
|
69
|
+
expect(didTx.code).toBe(0)
|
|
70
|
+
|
|
71
|
+
// Creating a resource
|
|
72
|
+
|
|
73
|
+
const resourceModule = new ResourceModule(signer)
|
|
74
|
+
|
|
75
|
+
const resourcePayload: MsgCreateResourcePayload = {
|
|
76
|
+
collectionId: didPayload.id.split(":").reverse()[0],
|
|
77
|
+
id: randomUUID(),
|
|
78
|
+
name: 'Test Resource',
|
|
79
|
+
resourceType: 'test-resource-type',
|
|
80
|
+
data: new TextEncoder().encode("{ \"message\": \"hello world\"}")
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
console.warn(`Using payload: ${JSON.stringify(resourcePayload)}`)
|
|
84
|
+
|
|
85
|
+
const resourceSignInputs: ISignInputs[] = [
|
|
86
|
+
{
|
|
87
|
+
verificationMethodId: didPayload.verificationMethod[0].id,
|
|
88
|
+
keyType: 'Ed25519',
|
|
89
|
+
privateKeyHex: toString(fromString(keyPair.privateKey, 'base64'), 'hex')
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
|
|
93
|
+
const resourceTx = await resourceModule.createResourceTx(
|
|
94
|
+
resourceSignInputs,
|
|
95
|
+
resourcePayload,
|
|
96
|
+
(await wallet.getAccounts())[0].address,
|
|
97
|
+
fee
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
console.warn(`DID Tx: ${JSON.stringify(resourceTx)}`)
|
|
101
|
+
|
|
102
|
+
expect(resourceTx.code).toBe(0)
|
|
103
|
+
}, defaultAsyncTxTimeout)
|
|
104
|
+
})
|
|
105
|
+
})
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
compact: false
|
|
2
|
-
directory:
|
|
3
|
-
- ./digital-ocean
|
|
4
|
-
- ./hetzner
|
|
5
|
-
download-external-modules: true
|
|
6
|
-
evaluate-variables: true
|
|
7
|
-
external-modules-download-path: .external_modules
|
|
8
|
-
framework:
|
|
9
|
-
- all
|
|
10
|
-
output: cli
|
|
11
|
-
repo-id: cheqd/cheqd-infra
|
|
12
|
-
skip-fixes: false
|
|
13
|
-
soft-fail: false
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
run:
|
|
2
|
-
timeout: 5m
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
linters:
|
|
6
|
-
enable:
|
|
7
|
-
- deadcode
|
|
8
|
-
- errcheck
|
|
9
|
-
- gosimple
|
|
10
|
-
- gofumpt
|
|
11
|
-
- govet
|
|
12
|
-
- ineffassign
|
|
13
|
-
- misspell
|
|
14
|
-
- nestif
|
|
15
|
-
- staticcheck
|
|
16
|
-
- structcheck
|
|
17
|
-
- typecheck
|
|
18
|
-
- unused
|
|
19
|
-
- varcheck
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
linters-settings:
|
|
23
|
-
misspell:
|
|
24
|
-
ignore-words:
|
|
25
|
-
- cheqd
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# Set threshold level (error | warning | info | style | ignore | none)
|
|
2
|
-
failure-threshold: warning
|
|
3
|
-
|
|
4
|
-
# List of ignored rules
|
|
5
|
-
# See list for reference: https://github.com/hadolint/hadolint#rules
|
|
6
|
-
ignored:
|
|
7
|
-
|
|
8
|
-
# Override default levels for specific rules
|
|
9
|
-
override:
|
|
10
|
-
error:
|
|
11
|
-
warning:
|
|
12
|
-
info:
|
|
13
|
-
- DL3008
|
|
14
|
-
- DL3027
|
|
15
|
-
style:
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AbstractCheqdSDKModule, MinimalImportableCheqdSDKModule } from "./_";
|
|
2
|
-
import { CheqdSigningStargateClient } from "../signer";
|
|
3
|
-
import { GeneratedType } from "@cosmjs/proto-signing";
|
|
4
|
-
export declare class ResourcesModule extends AbstractCheqdSDKModule {
|
|
5
|
-
registryTypes: Iterable<[string, GeneratedType]>;
|
|
6
|
-
constructor(signer: CheqdSigningStargateClient);
|
|
7
|
-
getRegistryTypes(): Iterable<[string, GeneratedType]>;
|
|
8
|
-
}
|
|
9
|
-
export declare type MinimalImportableResourcesModule = MinimalImportableCheqdSDKModule<ResourcesModule>;
|
|
10
|
-
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/modules/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGrD,qBAAa,eAAgB,SAAQ,sBAAsB;IAC1D,aAAa,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAK;gBAEzC,MAAM,EAAE,0BAA0B;IAIvC,gBAAgB,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAG5D;AAED,oBAAY,gCAAgC,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResourcesModule = void 0;
|
|
4
|
-
const _1 = require("./_");
|
|
5
|
-
class ResourcesModule extends _1.AbstractCheqdSDKModule {
|
|
6
|
-
constructor(signer) {
|
|
7
|
-
super(signer);
|
|
8
|
-
this.registryTypes = [];
|
|
9
|
-
}
|
|
10
|
-
getRegistryTypes() {
|
|
11
|
-
return [];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.ResourcesModule = ResourcesModule;
|
|
15
|
-
//# sourceMappingURL=resources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/modules/resources.ts"],"names":[],"mappings":";;;AAAA,0BAA6E;AAK7E,MAAa,eAAgB,SAAQ,yBAAsB;IAG1D,YAAY,MAAkC;QAC7C,KAAK,CAAC,MAAM,CAAC,CAAA;QAHd,kBAAa,GAAsC,EAAE,CAAA;IAIrD,CAAC;IAEM,gBAAgB;QACtB,OAAO,EAAE,CAAA;IACV,CAAC;CACD;AAVD,0CAUC"}
|
package/src/modules/resources.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { AbstractCheqdSDKModule, MinimalImportableCheqdSDKModule } from "./_"
|
|
2
|
-
import { CheqdSigningStargateClient } from "../signer"
|
|
3
|
-
import { GeneratedType } from "@cosmjs/proto-signing"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export class ResourcesModule extends AbstractCheqdSDKModule {
|
|
7
|
-
registryTypes: Iterable<[string, GeneratedType]> = []
|
|
8
|
-
|
|
9
|
-
constructor(signer: CheqdSigningStargateClient) {
|
|
10
|
-
super(signer)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public getRegistryTypes(): Iterable<[string, GeneratedType]> {
|
|
14
|
-
return []
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export type MinimalImportableResourcesModule = MinimalImportableCheqdSDKModule<ResourcesModule>
|