@cardano-sdk/dapp-connector 0.9.16 → 0.11.0

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.
@@ -1,4 +1,4 @@
1
- import { WalletApi, WalletApiExtension, WalletMethod } from './types';
1
+ import { Cip30WalletApiWithPossibleExtensions, WalletApi, WalletApiExtension, WalletMethod } from './types';
2
2
  import { Logger } from 'ts-log';
3
3
  import { RemoteAuthenticator } from '../AuthenticatorApi';
4
4
  export declare const CipMethodsMapping: Record<number, WalletMethod[]>;
@@ -26,6 +26,6 @@ export declare class Cip30Wallet {
26
26
  readonly supportedExtensions: WalletApiExtension[];
27
27
  constructor(properties: WalletProperties, { api, authenticator, logger }: WalletDependencies);
28
28
  isEnabled(): Promise<Boolean>;
29
- enable(options?: Cip30EnableOptions): Promise<WalletApi>;
29
+ enable(options?: Cip30EnableOptions): Promise<Cip30WalletApiWithPossibleExtensions>;
30
30
  }
31
31
  //# sourceMappingURL=Cip30Wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cip30Wallet.d.ts","sourceRoot":"","sources":["../../../src/WalletApi/Cip30Wallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7F,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAe5D,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAA4C,CAAC;AAyC5F,oBAAY,UAAU,GAAG,MAAM,CAAC;AAKhC,oBAAY,UAAU,GAAG,MAAM,CAAC;AAOhC,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC,oBAAY,gBAAgB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5E,oBAAY,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,mBAAmB,CAAC;IACnC,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC;AAKtE,qBAAa,WAAW;;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAW;IAC1C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,CAAiB;gBAMvD,UAAU,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB;IA2C/E,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAmB7B,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;CAUtE"}
1
+ {"version":3,"file":"Cip30Wallet.d.ts","sourceRoot":"","sources":["../../../src/WalletApi/Cip30Wallet.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,oCAAoC,EAGpC,SAAS,EACT,kBAAkB,EAClB,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAgB5D,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAA4C,CAAC;AAqD5F,oBAAY,UAAU,GAAG,MAAM,CAAC;AAKhC,oBAAY,UAAU,GAAG,MAAM,CAAC;AAOhC,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC,oBAAY,gBAAgB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5E,oBAAY,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,mBAAmB,CAAC;IACnC,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAAE,UAAU,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC;AAKtE,qBAAa,WAAW;;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAW;IAC1C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,CAAiB;gBAMvD,UAAU,EAAE,gBAAgB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB;IA8B/E,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAmB7B,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oCAAoC,CAAC;CAajG"}
@@ -9,15 +9,15 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
9
9
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
- var _Cip30Wallet_instances, _Cip30Wallet_logger, _Cip30Wallet_api, _Cip30Wallet_authenticator, _Cip30Wallet_getAllowedApiMethods, _Cip30Wallet_validateExtensions;
12
+ var _Cip30Wallet_instances, _Cip30Wallet_logger, _Cip30Wallet_api, _Cip30Wallet_authenticator, _Cip30Wallet_validateExtensions;
13
13
  import { APIErrorCode, ApiError } from '../errors';
14
- import uniq from 'lodash/uniq';
15
14
  export const CipMethodsMapping = {
16
15
  30: [
17
16
  'getNetworkId',
18
17
  'getUtxos',
19
18
  'getCollateral',
20
19
  'getBalance',
20
+ 'getExtensions',
21
21
  'getUsedAddresses',
22
22
  'getUnusedAddresses',
23
23
  'getChangeAddress',
@@ -26,17 +26,19 @@ export const CipMethodsMapping = {
26
26
  'signData',
27
27
  'submitTx'
28
28
  ],
29
- 95: ['getActivePubStakeKeys', 'getPubDRepKey']
29
+ 95: ['getRegisteredPubStakeKeys', 'getUnregisteredPubStakeKeys', 'getPubDRepKey']
30
30
  };
31
31
  export const WalletApiMethodNames = Object.values(CipMethodsMapping).flat();
32
- const wrapAndEnableApi = (walletApi, allowedApiMethods) => {
33
- const objectApi = {
34
- getActivePubStakeKeys: () => walletApi.getActivePubStakeKeys(),
32
+ const wrapAndEnableApi = (walletApi, enabledExtensions) => {
33
+ const baseApi = {
34
+ experimental: {
35
+ getCollateral: (params) => walletApi.getCollateral(params)
36
+ },
35
37
  getBalance: () => walletApi.getBalance(),
36
38
  getChangeAddress: () => walletApi.getChangeAddress(),
37
39
  getCollateral: (params) => walletApi.getCollateral(params),
40
+ getExtensions: () => Promise.resolve(enabledExtensions || []),
38
41
  getNetworkId: () => walletApi.getNetworkId(),
39
- getPubDRepKey: () => walletApi.getPubDRepKey(),
40
42
  getRewardAddresses: () => walletApi.getRewardAddresses(),
41
43
  getUnusedAddresses: () => walletApi.getUnusedAddresses(),
42
44
  getUsedAddresses: (paginate) => walletApi.getUsedAddresses(paginate),
@@ -45,13 +47,22 @@ const wrapAndEnableApi = (walletApi, allowedApiMethods) => {
45
47
  signTx: (tx, partialSign) => walletApi.signTx(tx, partialSign),
46
48
  submitTx: (tx) => walletApi.submitTx(tx)
47
49
  };
48
- const enabledApi = Object.fromEntries(Object.entries(objectApi).filter(([methodName, _]) => allowedApiMethods.includes(methodName)));
49
- if (allowedApiMethods.includes('getCollateral')) {
50
- enabledApi.experimental = {
51
- getCollateral: (params) => walletApi.getCollateral(params)
52
- };
50
+ const additionalCipApis = {
51
+ cip95: {
52
+ getPubDRepKey: () => walletApi.getPubDRepKey(),
53
+ getRegisteredPubStakeKeys: () => walletApi.getRegisteredPubStakeKeys(),
54
+ getUnregisteredPubStakeKeys: () => walletApi.getUnregisteredPubStakeKeys()
55
+ }
56
+ };
57
+ if (enabledExtensions) {
58
+ for (const extension of enabledExtensions) {
59
+ const cipName = `cip${extension.cip}`;
60
+ if (additionalCipApis[cipName]) {
61
+ baseApi[cipName] = additionalCipApis[cipName];
62
+ }
63
+ }
53
64
  }
54
- return enabledApi;
65
+ return baseApi;
55
66
  };
56
67
  export class Cip30Wallet {
57
68
  constructor(properties, { api, authenticator, logger }) {
@@ -61,9 +72,7 @@ export class Cip30Wallet {
61
72
  _Cip30Wallet_logger.set(this, void 0);
62
73
  _Cip30Wallet_api.set(this, void 0);
63
74
  _Cip30Wallet_authenticator.set(this, void 0);
64
- this.enable = this.enable.bind(this);
65
75
  this.icon = properties.icon;
66
- this.isEnabled = this.isEnabled.bind(this);
67
76
  this.name = properties.walletName;
68
77
  __classPrivateFieldSet(this, _Cip30Wallet_api, api, "f");
69
78
  __classPrivateFieldSet(this, _Cip30Wallet_logger, logger, "f");
@@ -76,16 +85,14 @@ export class Cip30Wallet {
76
85
  __classPrivateFieldGet(this, _Cip30Wallet_instances, "m", _Cip30Wallet_validateExtensions).call(this, options?.extensions);
77
86
  if (await __classPrivateFieldGet(this, _Cip30Wallet_authenticator, "f").requestAccess()) {
78
87
  __classPrivateFieldGet(this, _Cip30Wallet_logger, "f").debug(`${location.origin} has been granted access to wallet api`);
79
- return wrapAndEnableApi(__classPrivateFieldGet(this, _Cip30Wallet_api, "f"), __classPrivateFieldGet(this, _Cip30Wallet_instances, "m", _Cip30Wallet_getAllowedApiMethods).call(this, options?.extensions));
88
+ const extensions = options?.extensions?.filter(({ cip: requestedCip }) => this.supportedExtensions.some(({ cip: supportedCip }) => supportedCip === requestedCip));
89
+ return wrapAndEnableApi(__classPrivateFieldGet(this, _Cip30Wallet_api, "f"), extensions);
80
90
  }
81
91
  __classPrivateFieldGet(this, _Cip30Wallet_logger, "f").debug(`${location.origin} not authorized to access wallet api`);
82
92
  throw new ApiError(APIErrorCode.Refused, 'wallet not authorized.');
83
93
  }
84
94
  }
85
- _Cip30Wallet_logger = new WeakMap(), _Cip30Wallet_api = new WeakMap(), _Cip30Wallet_authenticator = new WeakMap(), _Cip30Wallet_instances = new WeakSet(), _Cip30Wallet_getAllowedApiMethods = function _Cip30Wallet_getAllowedApiMethods(extensions = []) {
86
- const enabledExtensions = extensions.filter((extension) => this.supportedExtensions.some(({ cip }) => cip === extension.cip));
87
- return uniq([...CipMethodsMapping[30], ...enabledExtensions.flatMap(({ cip }) => CipMethodsMapping[cip])]);
88
- }, _Cip30Wallet_validateExtensions = function _Cip30Wallet_validateExtensions(extensions = []) {
95
+ _Cip30Wallet_logger = new WeakMap(), _Cip30Wallet_api = new WeakMap(), _Cip30Wallet_authenticator = new WeakMap(), _Cip30Wallet_instances = new WeakSet(), _Cip30Wallet_validateExtensions = function _Cip30Wallet_validateExtensions(extensions = []) {
89
96
  if (!Array.isArray(extensions) ||
90
97
  extensions.some((extension) => !extension || typeof extension !== 'object' || !extension.cip || Number.isNaN(Number(extension.cip)))) {
91
98
  __classPrivateFieldGet(this, _Cip30Wallet_logger, "f").debug(`Invalid extensions: ${extensions}`);
@@ -1 +1 @@
1
- {"version":3,"file":"Cip30Wallet.js","sourceRoot":"","sources":["../../../src/WalletApi/Cip30Wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cip30Wallet.js","sourceRoot":"","sources":["../../../src/WalletApi/Cip30Wallet.ts"],"names":[],"mappings":"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"}
@@ -13,24 +13,29 @@ export interface Cip30DataSignature {
13
13
  key: CoseKeyCborHex;
14
14
  signature: CoseSign1CborHex;
15
15
  }
16
+ export declare type WalletApiExtension = {
17
+ cip: number;
18
+ };
16
19
  export declare type GetNetworkId = () => Promise<Cardano.NetworkId>;
17
20
  export declare type GetUtxos = (amount?: Cbor, paginate?: Paginate) => Promise<Cbor[] | null>;
18
21
  export declare type GetCollateral = (params?: {
19
22
  amount?: Cbor;
20
23
  }) => Promise<Cbor[] | null>;
21
24
  export declare type GetBalance = () => Promise<Cbor>;
25
+ export declare type GetExtensions = () => Promise<WalletApiExtension[]>;
22
26
  export declare type GetUsedAddresses = (paginate?: Paginate) => Promise<Cbor[]>;
23
27
  export declare type GetUnusedAddresses = () => Promise<Cbor[]>;
24
28
  export declare type GetChangeAddress = () => Promise<Cbor>;
25
29
  export declare type GetRewardAddresses = () => Promise<Cbor[]>;
26
30
  export declare type SignTx = (tx: Cbor, partialSign?: Boolean) => Promise<Cbor>;
27
- export declare type SignData = (addr: Cardano.PaymentAddress | Bytes, payload: Bytes) => Promise<Cip30DataSignature>;
31
+ export declare type SignData = (addr: Cardano.PaymentAddress | Cardano.DRepID | Bytes, payload: Bytes) => Promise<Cip30DataSignature>;
28
32
  export declare type SubmitTx = (tx: Cbor) => Promise<string>;
29
33
  export interface Cip30WalletApi {
30
34
  getNetworkId: GetNetworkId;
31
35
  getUtxos: GetUtxos;
32
36
  getBalance: GetBalance;
33
37
  getCollateral: GetCollateral;
38
+ getExtensions: GetExtensions;
34
39
  getUsedAddresses: GetUsedAddresses;
35
40
  getUnusedAddresses: GetUnusedAddresses;
36
41
  getChangeAddress: GetChangeAddress;
@@ -38,15 +43,18 @@ export interface Cip30WalletApi {
38
43
  signTx: SignTx;
39
44
  signData: SignData;
40
45
  submitTx: SubmitTx;
46
+ experimental?: any;
41
47
  }
42
48
  export interface Cip95WalletApi {
43
- getActivePubStakeKeys: () => Promise<Ed25519PublicKeyHex[]>;
49
+ getRegisteredPubStakeKeys: () => Promise<Ed25519PublicKeyHex[]>;
50
+ getUnregisteredPubStakeKeys: () => Promise<Ed25519PublicKeyHex[]>;
44
51
  getPubDRepKey: () => Promise<Ed25519PublicKeyHex>;
45
52
  }
46
53
  export declare type WalletApi = Cip30WalletApi & Cip95WalletApi;
47
54
  export declare type WalletMethod = keyof WalletApi;
48
- export declare type WalletApiExtension = {
49
- cip: number;
50
- };
55
+ export interface CipExtensionApis {
56
+ cip95: Cip95WalletApi;
57
+ }
58
+ export declare type Cip30WalletApiWithPossibleExtensions = Cip30WalletApi & Partial<CipExtensionApis>;
51
59
  export {};
52
60
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/WalletApi/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,oBAAY,KAAK,GAAG,MAAM,CAAC;AAO3B,oBAAY,IAAI,GAAG,MAAM,CAAC;AAO1B,oBAAY,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMvD,aAAK,gBAAgB,GAAG,OAAO,CAAC;AAChC,aAAK,cAAc,GAAG,OAAO,CAAC;AAE9B,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAWD,oBAAY,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAc5D,oBAAY,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAStF,oBAAY,aAAa,GAAG,CAAC,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,IAAI,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAWnF,oBAAY,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAU7C,oBAAY,gBAAgB,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAOxE,oBAAY,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAUvD,oBAAY,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAOnD,oBAAY,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAqBvD,oBAAY,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAcxE,oBAAY,QAAQ,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAa7G,oBAAY,QAAQ,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAE3B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,UAAU,EAAE,UAAU,CAAC;IAEvB,aAAa,EAAE,aAAa,CAAC;IAE7B,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,QAAQ,CAAC;IAEnB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,qBAAqB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE5D,aAAa,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACnD;AAED,oBAAY,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC;AAExD,oBAAY,YAAY,GAAG,MAAM,SAAS,CAAC;AAE3C,oBAAY,kBAAkB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/WalletApi/types.ts"],"names":[],"mappings":"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"}