@sphereon/ssi-sdk-web3.headless-provider 0.33.1-feature.vcdm2.tsup.31 → 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.
Files changed (41) hide show
  1. package/dist/errors.d.ts +11 -0
  2. package/dist/errors.d.ts.map +1 -0
  3. package/dist/errors.js +24 -0
  4. package/dist/errors.js.map +1 -0
  5. package/dist/ethers-headless-provider.d.ts +73 -0
  6. package/dist/ethers-headless-provider.d.ts.map +1 -0
  7. package/dist/ethers-headless-provider.js +276 -0
  8. package/dist/ethers-headless-provider.js.map +1 -0
  9. package/dist/ethers-kms-signer.d.ts +37 -0
  10. package/dist/ethers-kms-signer.d.ts.map +1 -0
  11. package/dist/ethers-kms-signer.js +183 -0
  12. package/dist/ethers-kms-signer.js.map +1 -0
  13. package/dist/event-emitter.d.ts +8 -0
  14. package/dist/event-emitter.d.ts.map +1 -0
  15. package/dist/event-emitter.js +44 -0
  16. package/dist/event-emitter.js.map +1 -0
  17. package/dist/factory.d.ts +6 -0
  18. package/dist/factory.d.ts.map +1 -0
  19. package/dist/factory.js +30 -0
  20. package/dist/factory.js.map +1 -0
  21. package/dist/functions.d.ts +5 -0
  22. package/dist/functions.d.ts.map +1 -0
  23. package/dist/functions.js +33 -0
  24. package/dist/functions.js.map +1 -0
  25. package/dist/index.d.ts +9 -218
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +25 -619
  28. package/dist/index.js.map +1 -1
  29. package/dist/rpc-server.d.ts +8 -0
  30. package/dist/rpc-server.d.ts.map +1 -0
  31. package/dist/rpc-server.js +99 -0
  32. package/dist/rpc-server.js.map +1 -0
  33. package/dist/types.d.ts +90 -0
  34. package/dist/types.d.ts.map +1 -0
  35. package/dist/types.js +25 -0
  36. package/dist/types.js.map +1 -0
  37. package/package.json +16 -25
  38. package/src/ethers-kms-signer.ts +3 -4
  39. package/dist/index.cjs +0 -652
  40. package/dist/index.cjs.map +0 -1
  41. 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"}
@@ -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
- import { TransactionRequest, Provider } from '@ethersproject/abstract-provider';
2
- import { TypedDataDomain, TypedDataField } from '@ethersproject/abstract-signer';
3
- import { IAgentContext, IKeyManager, IKey } from '@veramo/core';
4
- import { Signer, ethers, TypedDataDomain as TypedDataDomain$1, TypedDataField as TypedDataField$1 } from 'ethers';
5
- import { Deferrable } from '@ethersproject/properties';
6
- import { ExpressSupport, ISingleEndpointOpts } from '@sphereon/ssi-express-support';
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
- * This is a Ethers signer that delegates back to the KMS for the actual signatures.
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
- declare class EthersKMSSigner extends Signer implements TypedDataSigner {
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"}