@sphereon/ssi-sdk-web3.headless-provider 0.33.1-feature.vcdm2.tsup.32 → 0.33.1-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/errors.d.ts +11 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +24 -0
- package/dist/errors.js.map +1 -0
- package/dist/ethers-headless-provider.d.ts +73 -0
- package/dist/ethers-headless-provider.d.ts.map +1 -0
- package/dist/ethers-headless-provider.js +276 -0
- package/dist/ethers-headless-provider.js.map +1 -0
- package/dist/ethers-kms-signer.d.ts +37 -0
- package/dist/ethers-kms-signer.d.ts.map +1 -0
- package/dist/ethers-kms-signer.js +183 -0
- package/dist/ethers-kms-signer.js.map +1 -0
- package/dist/event-emitter.d.ts +8 -0
- package/dist/event-emitter.d.ts.map +1 -0
- package/dist/event-emitter.js +44 -0
- package/dist/event-emitter.js.map +1 -0
- package/dist/factory.d.ts +6 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +30 -0
- package/dist/factory.js.map +1 -0
- package/dist/functions.d.ts +5 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/functions.js +33 -0
- package/dist/functions.js.map +1 -0
- package/dist/index.d.ts +9 -218
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -619
- package/dist/index.js.map +1 -1
- package/dist/rpc-server.d.ts +8 -0
- package/dist/rpc-server.d.ts.map +1 -0
- package/dist/rpc-server.js +99 -0
- package/dist/rpc-server.js.map +1 -0
- package/dist/types.d.ts +90 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +25 -0
- package/dist/types.js.map +1 -0
- package/package.json +16 -26
- package/src/ethers-kms-signer.ts +3 -4
- package/dist/index.cjs +0 -652
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -220
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare class EventEmitter {
|
|
2
|
+
private readonly listeners;
|
|
3
|
+
emit(eventName: string, ...args: any[]): boolean;
|
|
4
|
+
on(eventName: string, listener: (...args: any[]) => void): this;
|
|
5
|
+
off(eventName: string, listener: (...args: any[]) => void): this;
|
|
6
|
+
once(eventName: string, listener: (...args: any[]) => void): this;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../src/event-emitter.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuE;IAEjG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IAOhD,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAM/D,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAehE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;CAQlE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventEmitter = void 0;
|
|
4
|
+
class EventEmitter {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.listeners = Object.create(null);
|
|
7
|
+
}
|
|
8
|
+
emit(eventName, ...args) {
|
|
9
|
+
var _a;
|
|
10
|
+
(_a = this.listeners[eventName]) === null || _a === void 0 ? void 0 : _a.forEach((listener) => {
|
|
11
|
+
listener(...args);
|
|
12
|
+
});
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
on(eventName, listener) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
var _c;
|
|
18
|
+
(_a = (_c = this.listeners)[eventName]) !== null && _a !== void 0 ? _a : (_c[eventName] = []);
|
|
19
|
+
(_b = this.listeners[eventName]) === null || _b === void 0 ? void 0 : _b.push(listener);
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
off(eventName, listener) {
|
|
23
|
+
var _a;
|
|
24
|
+
const listeners = (_a = this.listeners[eventName]) !== null && _a !== void 0 ? _a : [];
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
for (const [i, listener_] of listeners.entries()) {
|
|
28
|
+
if (listener === listener_) {
|
|
29
|
+
listeners.splice(i, 1);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
once(eventName, listener) {
|
|
36
|
+
const cb = (...args) => {
|
|
37
|
+
this.off(eventName, cb);
|
|
38
|
+
listener(...args);
|
|
39
|
+
};
|
|
40
|
+
return this.on(eventName, cb);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.EventEmitter = EventEmitter;
|
|
44
|
+
//# sourceMappingURL=event-emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../src/event-emitter.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IAAzB;QACmB,cAAS,GAAoD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAsCnG,CAAC;IApCC,IAAI,CAAC,SAAiB,EAAE,GAAG,IAAW;;QACpC,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,0CAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC9C,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,EAAE,CAAC,SAAiB,EAAE,QAAkC;;;QACtD,YAAA,IAAI,CAAC,SAAS,EAAC,SAAS,wCAAT,SAAS,IAAM,EAAE,EAAA;QAChC,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,0CAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,QAAkC;;QACvD,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAA;QAEjD,6DAA6D;QAC7D,aAAa;QACb,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACtB,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,QAAkC;QACxD,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,EAAQ,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YACvB,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAA;QACnB,CAAC,CAAA;QAED,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;IAC/B,CAAC;CACF;AAvCD,oCAuCC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Signer } from 'ethers';
|
|
2
|
+
import { IWeb3Provider, Web3ProviderConfig } from './types';
|
|
3
|
+
type Fn = (...args: any[]) => any;
|
|
4
|
+
export declare function createWeb3Provider(signers: Signer[], chainId: number | number[], rpcUrl: string, evaluate?: <T extends keyof IWeb3Provider>(method: T, ...args: IWeb3Provider[T] extends Fn ? Parameters<IWeb3Provider[T]> : []) => Promise<void>, config?: Web3ProviderConfig): IWeb3Provider;
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAG3D,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAajC,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EACtC,MAAM,EAAE,CAAC,EACT,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KACrE,OAAO,CAAC,IAAI,CAAkB,EACnC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,aAAa,CAQf"}
|
package/dist/factory.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createWeb3Provider = createWeb3Provider;
|
|
13
|
+
const ethers_headless_provider_1 = require("./ethers-headless-provider");
|
|
14
|
+
function relayEvents(eventEmitter, execute) {
|
|
15
|
+
const emit_ = eventEmitter.emit;
|
|
16
|
+
eventEmitter.emit = (eventName, ...args) => {
|
|
17
|
+
void execute('emit', eventName, ...args);
|
|
18
|
+
return emit_.apply(eventEmitter, [eventName, ...args]);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function createWeb3Provider(signers, chainId, rpcUrl, evaluate = () => __awaiter(this, void 0, void 0, function* () { }), config) {
|
|
22
|
+
const chainIds = Array.isArray(chainId) ? chainId : [chainId];
|
|
23
|
+
const chains = chainIds.map((chainId) => {
|
|
24
|
+
return { chainId, rpcUrl };
|
|
25
|
+
});
|
|
26
|
+
const web3Provider = new ethers_headless_provider_1.EthersHeadlessProvider(signers, chains, config);
|
|
27
|
+
relayEvents(web3Provider, evaluate);
|
|
28
|
+
return web3Provider;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":";;;;;;;;;;;AAkBA,gDAiBC;AAhCD,yEAAmE;AAInE,SAAS,WAAW,CAClB,YAA0B,EAC1B,OAA8I;IAE9I,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAA;IAC/B,YAAY,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE;QACzC,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAA;QACxC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IACxD,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAiB,EACjB,OAA0B,EAC1B,MAAc,EACd,WAGqB,GAAS,EAAE,gDAAE,CAAC,CAAA,EACnC,MAA2B;IAE3B,MAAM,QAAQ,GAAa,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,IAAI,iDAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACxE,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IACnC,OAAO,YAAY,CAAA;AACrB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IKey } from '@veramo/core';
|
|
2
|
+
import { IRequiredContext } from './types';
|
|
3
|
+
export declare function getAddressFromAgent(context: IRequiredContext, keyRef: Pick<IKey, 'kid'>): Promise<string>;
|
|
4
|
+
export declare function getKey(context: IRequiredContext, keyRef: Pick<IKey, 'kid'>): Promise<IKey | undefined>;
|
|
5
|
+
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAU/G;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAE5G"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getAddressFromAgent = getAddressFromAgent;
|
|
13
|
+
exports.getKey = getKey;
|
|
14
|
+
const ethers_1 = require("ethers");
|
|
15
|
+
function getAddressFromAgent(context, keyRef) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const publicKeyHex = yield getKey(context, keyRef).then((key) => key === null || key === void 0 ? void 0 : key.publicKeyHex);
|
|
18
|
+
if (!publicKeyHex) {
|
|
19
|
+
throw Error(`Could not retrieve public hex key for ${keyRef}`);
|
|
20
|
+
}
|
|
21
|
+
const address = ethers_1.ethers.utils.computeAddress(`${publicKeyHex.startsWith('0x') ? '' : '0x'}${publicKeyHex}`);
|
|
22
|
+
if (!address || !address.startsWith('0x')) {
|
|
23
|
+
throw Error(`Invalid address ${address} public key for key ${publicKeyHex}`);
|
|
24
|
+
}
|
|
25
|
+
return address;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function getKey(context, keyRef) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
return yield context.agent.keyManagerGet({ kid: keyRef.kid });
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,kDAUC;AAED,wBAEC;AAjBD,mCAA+B;AAG/B,SAAsB,mBAAmB,CAAC,OAAyB,EAAE,MAAyB;;QAC5F,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC,CAAA;QACnF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAA;QAChE,CAAC;QACD,MAAM,OAAO,GAAG,eAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC,CAAA;QAC1G,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,CAAC,mBAAmB,OAAO,uBAAuB,YAAY,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CAAA;AAED,SAAsB,MAAM,CAAC,OAAyB,EAAE,MAAyB;;QAC/E,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;IAC/D,CAAC;CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,220 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type rpcMethods = 'eth_call' | 'eth_getBalance';
|
|
9
|
-
interface IWeb3Provider {
|
|
10
|
-
isMetaMask?: boolean;
|
|
11
|
-
request(args: {
|
|
12
|
-
method: 'eth_call';
|
|
13
|
-
params: any[];
|
|
14
|
-
}): Promise<any>;
|
|
15
|
-
request(args: {
|
|
16
|
-
method: 'eth_getBalance';
|
|
17
|
-
params: string[];
|
|
18
|
-
}): Promise<string>;
|
|
19
|
-
request(args: {
|
|
20
|
-
method: 'eth_accounts';
|
|
21
|
-
params: [];
|
|
22
|
-
}): Promise<string[]>;
|
|
23
|
-
request(args: {
|
|
24
|
-
method: 'eth_requestAccounts';
|
|
25
|
-
params: [];
|
|
26
|
-
}): Promise<string[]>;
|
|
27
|
-
request(args: {
|
|
28
|
-
method: 'net_version';
|
|
29
|
-
params: [];
|
|
30
|
-
}): Promise<number>;
|
|
31
|
-
request(args: {
|
|
32
|
-
method: 'eth_chainId';
|
|
33
|
-
params: [];
|
|
34
|
-
}): Promise<string>;
|
|
35
|
-
request(args: {
|
|
36
|
-
method: 'personal_sign';
|
|
37
|
-
params: string[];
|
|
38
|
-
}): Promise<string>;
|
|
39
|
-
request(args: {
|
|
40
|
-
method: 'eth_signTypedData' | 'eth_signTypedData_v1';
|
|
41
|
-
params: [object[], string];
|
|
42
|
-
}): Promise<string>;
|
|
43
|
-
request(args: {
|
|
44
|
-
method: 'eth_signTypedData_v3' | 'eth_signTypedData_v4';
|
|
45
|
-
params: string[];
|
|
46
|
-
}): Promise<string>;
|
|
47
|
-
request(args: {
|
|
48
|
-
method: 'eth_sendTransaction';
|
|
49
|
-
params: TransactionRequest[];
|
|
50
|
-
}): Promise<string>;
|
|
51
|
-
request(args: {
|
|
52
|
-
method: rpcMethods | string;
|
|
53
|
-
params?: any[];
|
|
54
|
-
}): Promise<any>;
|
|
55
|
-
emit(eventName: string, ...args: any[]): void;
|
|
56
|
-
on(eventName: string, listener: (eventName: string) => void): void;
|
|
57
|
-
}
|
|
58
|
-
type IRequiredContext = IAgentContext<IKeyManager>;
|
|
59
|
-
interface PendingRequest {
|
|
60
|
-
requestInfo: {
|
|
61
|
-
method: string;
|
|
62
|
-
params: any[];
|
|
63
|
-
};
|
|
64
|
-
reject: (err: {
|
|
65
|
-
message?: string;
|
|
66
|
-
code?: number;
|
|
67
|
-
}) => void;
|
|
68
|
-
authorize: () => Promise<void>;
|
|
69
|
-
}
|
|
70
|
-
interface ChainConnection {
|
|
71
|
-
chainId: number;
|
|
72
|
-
rpcUrl: string;
|
|
73
|
-
}
|
|
74
|
-
interface Web3ProviderConfig {
|
|
75
|
-
debug?: boolean;
|
|
76
|
-
logger: typeof console.log;
|
|
77
|
-
}
|
|
78
|
-
interface TypedDataSigner {
|
|
79
|
-
_signTypedData(domain: TypedDataDomain, types: Record<string, Array<TypedDataField>>, value: Record<string, any>): Promise<string>;
|
|
80
|
-
}
|
|
81
|
-
declare enum Web3Method {
|
|
82
|
-
RequestAccounts = "eth_requestAccounts",
|
|
83
|
-
Accounts = "eth_accounts",
|
|
84
|
-
SendTransaction = "eth_sendTransaction",
|
|
85
|
-
SwitchEthereumChain = "wallet_switchEthereumChain",
|
|
86
|
-
AddEthereumChain = "wallet_addEthereumChain",
|
|
87
|
-
SignMessage = "personal_sign",
|
|
88
|
-
SignTypedData = "eth_signTypedData",
|
|
89
|
-
SignTypedDataV1 = "eth_signTypedData_v1",
|
|
90
|
-
SignTypedDataV3 = "eth_signTypedData_v3",
|
|
91
|
-
SignTypedDataV4 = "eth_signTypedData_v4"
|
|
92
|
-
}
|
|
93
|
-
declare function without<T>(list: T[], item: T): T[];
|
|
94
|
-
|
|
95
|
-
declare class ErrorWithCode extends Error {
|
|
96
|
-
code?: number | undefined;
|
|
97
|
-
constructor(message?: string, code?: number | undefined);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
declare class EventEmitter {
|
|
101
|
-
private readonly listeners;
|
|
102
|
-
emit(eventName: string, ...args: any[]): boolean;
|
|
103
|
-
on(eventName: string, listener: (...args: any[]) => void): this;
|
|
104
|
-
off(eventName: string, listener: (...args: any[]) => void): this;
|
|
105
|
-
once(eventName: string, listener: (...args: any[]) => void): this;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
declare class EthersHeadlessProvider extends EventEmitter implements IWeb3Provider {
|
|
109
|
-
private readonly chains;
|
|
110
|
-
private _pendingRequests;
|
|
111
|
-
private _signers;
|
|
112
|
-
private _activeChainId;
|
|
113
|
-
private _rpc;
|
|
114
|
-
private _config;
|
|
115
|
-
private _authorizedRequests;
|
|
116
|
-
constructor(signers: Signer[], chains: ChainConnection[], config?: Web3ProviderConfig);
|
|
117
|
-
request(args: {
|
|
118
|
-
method: 'eth_call';
|
|
119
|
-
params: any[];
|
|
120
|
-
}): Promise<any>;
|
|
121
|
-
request(args: {
|
|
122
|
-
method: 'eth_getBalance';
|
|
123
|
-
params: string[];
|
|
124
|
-
}): Promise<string>;
|
|
125
|
-
request(args: {
|
|
126
|
-
method: 'eth_accounts';
|
|
127
|
-
params: [];
|
|
128
|
-
}): Promise<string[]>;
|
|
129
|
-
request(args: {
|
|
130
|
-
method: 'eth_requestAccounts';
|
|
131
|
-
params: string[];
|
|
132
|
-
}): Promise<string[]>;
|
|
133
|
-
request(args: {
|
|
134
|
-
method: 'net_version';
|
|
135
|
-
params: [];
|
|
136
|
-
}): Promise<number>;
|
|
137
|
-
request(args: {
|
|
138
|
-
method: 'eth_chainId';
|
|
139
|
-
params: [];
|
|
140
|
-
}): Promise<string>;
|
|
141
|
-
request(args: {
|
|
142
|
-
method: 'personal_sign';
|
|
143
|
-
params: string[];
|
|
144
|
-
}): Promise<string>;
|
|
145
|
-
request(args: {
|
|
146
|
-
method: 'eth_signTypedData' | 'eth_signTypedData_v1';
|
|
147
|
-
params: [object[], string];
|
|
148
|
-
}): Promise<string>;
|
|
149
|
-
request(args: {
|
|
150
|
-
method: 'eth_signTypedData_v3' | 'eth_signTypedData_v4';
|
|
151
|
-
params: string[];
|
|
152
|
-
}): Promise<string>;
|
|
153
|
-
request(args: {
|
|
154
|
-
method: 'eth_sendTransaction';
|
|
155
|
-
params: TransactionRequest[];
|
|
156
|
-
}): Promise<string>;
|
|
157
|
-
getCurrentWallet(): Signer;
|
|
158
|
-
waitAuthorization<T>(requestInfo: PendingRequest['requestInfo'], task: () => Promise<T>, permanentPermission?: boolean, methodOverride?: string): Promise<unknown>;
|
|
159
|
-
private consumeRequest;
|
|
160
|
-
private consumeAllRequests;
|
|
161
|
-
getPendingRequests(): PendingRequest['requestInfo'][];
|
|
162
|
-
getPendingRequestCount(requestKind?: Web3Method): number;
|
|
163
|
-
authorize(requestKind: Web3Method): Promise<void>;
|
|
164
|
-
reject(requestKind: Web3Method, reason?: ErrorWithCode): Promise<void>;
|
|
165
|
-
authorizeAll(): void;
|
|
166
|
-
rejectAll(reason?: ErrorWithCode): void;
|
|
167
|
-
changeAccounts(signers: Signer[]): Promise<void>;
|
|
168
|
-
private getCurrentChain;
|
|
169
|
-
getRpc(): ethers.providers.JsonRpcProvider;
|
|
170
|
-
getNetwork(): ChainConnection;
|
|
171
|
-
getNetworks(): ChainConnection[];
|
|
172
|
-
addNetwork(chainId: number, rpcUrl: string): void;
|
|
173
|
-
switchNetwork(chainId: number): void;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
declare class EthersKMSSignerBuilder {
|
|
177
|
-
private context?;
|
|
178
|
-
private keyRef?;
|
|
179
|
-
private provider?;
|
|
180
|
-
withContext(context: IRequiredContext): this;
|
|
181
|
-
withKid(kid: string): this;
|
|
182
|
-
withKeyRef(keyRef: Pick<IKey, 'kid'> | string): this;
|
|
183
|
-
withProvider(provider: ethers.providers.Provider): this;
|
|
184
|
-
build(): EthersKMSSigner;
|
|
185
|
-
}
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './ethers-headless-provider';
|
|
3
|
+
export * from './ethers-kms-signer';
|
|
4
|
+
export * from './factory';
|
|
5
|
+
export * from './event-emitter';
|
|
6
|
+
export * from './functions';
|
|
7
|
+
export * from './rpc-server';
|
|
186
8
|
/**
|
|
187
|
-
*
|
|
188
|
-
* This means we do not expose private keys and can use any Secp256k1 key stored in the KMS if we want
|
|
189
|
-
*
|
|
190
|
-
* Be aware that the provided KeyRef needs to belong to the respective KMS, as it will use a lookup for the key in the KMS to sign
|
|
9
|
+
* 8f2695a99c416ab9241fc75ae53f90b083aecff9e4463e046a1527f456b502c6
|
|
191
10
|
*/
|
|
192
|
-
|
|
193
|
-
private readonly context;
|
|
194
|
-
private readonly keyRef;
|
|
195
|
-
constructor({ provider, context, keyRef }: {
|
|
196
|
-
provider?: ethers.providers.Provider;
|
|
197
|
-
context: IRequiredContext;
|
|
198
|
-
keyRef: Pick<IKey, 'kid'>;
|
|
199
|
-
});
|
|
200
|
-
getAddress(): Promise<string>;
|
|
201
|
-
signTransaction(transaction: Deferrable<TransactionRequest>): Promise<string>;
|
|
202
|
-
signRaw(message: string | Uint8Array): Promise<string>;
|
|
203
|
-
signMessage(message: string | Uint8Array): Promise<string>;
|
|
204
|
-
_signTypedData(domain: TypedDataDomain$1, types: Record<string, Array<TypedDataField$1>>, value: Record<string, any>): Promise<string>;
|
|
205
|
-
connect(provider?: Provider): EthersKMSSigner;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
type Fn = (...args: any[]) => any;
|
|
209
|
-
declare function createWeb3Provider(signers: Signer[], chainId: number | number[], rpcUrl: string, evaluate?: <T extends keyof IWeb3Provider>(method: T, ...args: IWeb3Provider[T] extends Fn ? Parameters<IWeb3Provider[T]> : []) => Promise<void>, config?: Web3ProviderConfig): IWeb3Provider;
|
|
210
|
-
|
|
211
|
-
declare function getAddressFromAgent(context: IRequiredContext, keyRef: Pick<IKey, 'kid'>): Promise<string>;
|
|
212
|
-
declare function getKey(context: IRequiredContext, keyRef: Pick<IKey, 'kid'>): Promise<IKey | undefined>;
|
|
213
|
-
|
|
214
|
-
declare function createRpcServer(provider: EthersHeadlessProvider, expressSupport: ExpressSupport, opts?: ISingleEndpointOpts & {
|
|
215
|
-
basePath?: string;
|
|
216
|
-
}): void;
|
|
217
|
-
declare function createServiceMethod(method: string, service: Record<string, Function>, provider: EthersHeadlessProvider): void;
|
|
218
|
-
declare function createService(provider: EthersHeadlessProvider): {};
|
|
219
|
-
|
|
220
|
-
export { type ChainConnection, EthersHeadlessProvider, EthersKMSSigner, EthersKMSSignerBuilder, EventEmitter, type IRequiredContext, type IWeb3Provider, type PendingRequest, type TypedDataSigner, Web3Method, type Web3ProviderConfig, createRpcServer, createService, createServiceMethod, createWeb3Provider, getAddressFromAgent, getKey, type rpcMethods, without };
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAE5B;;GAEG"}
|