@portkey/socket 0.0.2-alpha.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 (53) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +54 -0
  3. package/dist/commonjs/didSignalr.d.ts +16 -0
  4. package/dist/commonjs/didSignalr.js +51 -0
  5. package/dist/commonjs/index.d.ts +4 -0
  6. package/dist/commonjs/index.js +20 -0
  7. package/dist/commonjs/package.json +1 -0
  8. package/dist/commonjs/sellSignalr.d.ts +21 -0
  9. package/dist/commonjs/sellSignalr.js +66 -0
  10. package/dist/commonjs/signalr.d.ts +24 -0
  11. package/dist/commonjs/signalr.js +87 -0
  12. package/dist/commonjs/types/did.d.ts +36 -0
  13. package/dist/commonjs/types/did.js +9 -0
  14. package/dist/commonjs/types/index.d.ts +3 -0
  15. package/dist/commonjs/types/index.js +19 -0
  16. package/dist/commonjs/types/sell.d.ts +34 -0
  17. package/dist/commonjs/types/sell.js +24 -0
  18. package/dist/commonjs/types/signalr.d.ts +35 -0
  19. package/dist/commonjs/types/signalr.js +7 -0
  20. package/dist/esm/didSignalr.d.ts +16 -0
  21. package/dist/esm/didSignalr.js +47 -0
  22. package/dist/esm/index.d.ts +4 -0
  23. package/dist/esm/index.js +4 -0
  24. package/dist/esm/package.json +1 -0
  25. package/dist/esm/sellSignalr.d.ts +21 -0
  26. package/dist/esm/sellSignalr.js +62 -0
  27. package/dist/esm/signalr.d.ts +24 -0
  28. package/dist/esm/signalr.js +83 -0
  29. package/dist/esm/types/did.d.ts +36 -0
  30. package/dist/esm/types/did.js +6 -0
  31. package/dist/esm/types/index.d.ts +3 -0
  32. package/dist/esm/types/index.js +3 -0
  33. package/dist/esm/types/sell.d.ts +34 -0
  34. package/dist/esm/types/sell.js +21 -0
  35. package/dist/esm/types/signalr.d.ts +35 -0
  36. package/dist/esm/types/signalr.js +4 -0
  37. package/dist/types/didSignalr.d.ts +17 -0
  38. package/dist/types/didSignalr.d.ts.map +1 -0
  39. package/dist/types/index.d.ts +5 -0
  40. package/dist/types/index.d.ts.map +1 -0
  41. package/dist/types/sellSignalr.d.ts +22 -0
  42. package/dist/types/sellSignalr.d.ts.map +1 -0
  43. package/dist/types/signalr.d.ts +25 -0
  44. package/dist/types/signalr.d.ts.map +1 -0
  45. package/dist/types/types/did.d.ts +37 -0
  46. package/dist/types/types/did.d.ts.map +1 -0
  47. package/dist/types/types/index.d.ts +4 -0
  48. package/dist/types/types/index.d.ts.map +1 -0
  49. package/dist/types/types/sell.d.ts +35 -0
  50. package/dist/types/types/sell.d.ts.map +1 -0
  51. package/dist/types/types/signalr.d.ts +36 -0
  52. package/dist/types/types/signalr.d.ts.map +1 -0
  53. package/package.json +50 -0
@@ -0,0 +1,62 @@
1
+ import { BaseSignalr } from './signalr.js';
2
+ export class SignalrSell extends BaseSignalr {
3
+ requestAchTxAddress(clientId, orderId) {
4
+ console.log('invoke RequestAchTxAddress', clientId, orderId);
5
+ return this.invoke('RequestAchTxAddress', {
6
+ TargetClientId: clientId,
7
+ OrderId: orderId,
8
+ });
9
+ }
10
+ onAchTxAddressReceived({ orderId }, callback) {
11
+ return this.listen('onAchTxAddressReceived', (data) => {
12
+ var _a;
13
+ if (((_a = data === null || data === void 0 ? void 0 : data.body) === null || _a === void 0 ? void 0 : _a.orderId) === orderId) {
14
+ callback(data.body);
15
+ }
16
+ else {
17
+ callback(null);
18
+ }
19
+ });
20
+ }
21
+ requestOrderTransferred(clientId, orderId) {
22
+ console.log('invoke RequestOrderTransferred', clientId, orderId);
23
+ return this.invoke('RequestOrderTransferred', {
24
+ TargetClientId: clientId,
25
+ OrderId: orderId,
26
+ });
27
+ }
28
+ onRequestOrderTransferred({ orderId }, callback) {
29
+ return this.listen('onOrderTransferredReceived', (data) => {
30
+ var _a;
31
+ if (((_a = data === null || data === void 0 ? void 0 : data.body) === null || _a === void 0 ? void 0 : _a.orderId) === orderId) {
32
+ callback(data.body);
33
+ }
34
+ else {
35
+ callback(null);
36
+ }
37
+ });
38
+ }
39
+ requestNFTOrderStatus(clientId, orderId) {
40
+ console.log('invoke RequestNFTOrderStatus', clientId, orderId);
41
+ return this.invoke('RequestNFTOrderStatus', {
42
+ targetClientId: clientId,
43
+ orderId: orderId,
44
+ });
45
+ }
46
+ OnNFTOrderChanged({ orderId }, callback) {
47
+ return this.listen('OnNFTOrderChanged', (data) => {
48
+ var _a;
49
+ console.log('OnNFTOrderChanged:', data, orderId);
50
+ if (((_a = data === null || data === void 0 ? void 0 : data.body) === null || _a === void 0 ? void 0 : _a.orderId) === orderId) {
51
+ callback(data.body);
52
+ }
53
+ else {
54
+ callback(null);
55
+ }
56
+ });
57
+ }
58
+ }
59
+ export const sellListenList = ['onAchTxAddressReceived', 'onOrderTransferredReceived', 'OnNFTOrderChanged'];
60
+ export const signalrSell = new SignalrSell({
61
+ listenList: sellListenList,
62
+ });
@@ -0,0 +1,24 @@
1
+ import { HubConnection } from '@microsoft/signalr';
2
+ import { IListen, ISignalr, ISignalrOptions } from './types/index.js';
3
+ export declare class BaseSignalr<ListenList = any> implements ISignalr<ListenList> {
4
+ url?: string;
5
+ signalr: HubConnection | null;
6
+ connectionId: string;
7
+ private _messageMap;
8
+ private _listenList;
9
+ constructor({ listenList }: ISignalrOptions<ListenList>);
10
+ doOpen: ({ url, clientId }: {
11
+ url: string;
12
+ clientId: string;
13
+ }) => Promise<HubConnection>;
14
+ listen: (name: ListenList[keyof ListenList], handler: (data?: any) => void) => IListen;
15
+ start: HubConnection['start'];
16
+ on: HubConnection['on'];
17
+ invoke: HubConnection['invoke'];
18
+ onClose: HubConnection['onclose'];
19
+ stop: HubConnection['stop'];
20
+ destroy: HubConnection['stop'];
21
+ private _listener;
22
+ private _onReceiver;
23
+ private _checkSignalr;
24
+ }
@@ -0,0 +1,83 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { HubConnectionBuilder } from '@microsoft/signalr';
11
+ import { randomId } from '@portkey/utils';
12
+ import { SocketError } from './types/index.js';
13
+ export class BaseSignalr {
14
+ constructor({ listenList }) {
15
+ this.doOpen = ({ url, clientId }) => __awaiter(this, void 0, void 0, function* () {
16
+ var _a;
17
+ const signalr = new HubConnectionBuilder().withUrl(url).withAutomaticReconnect().build();
18
+ this._listener(signalr);
19
+ if (this.signalr)
20
+ yield this.signalr.stop();
21
+ yield signalr.start();
22
+ yield signalr.invoke('Connect', clientId);
23
+ this.connectionId = (_a = signalr.connectionId) !== null && _a !== void 0 ? _a : '';
24
+ this.signalr = signalr;
25
+ this.url = url;
26
+ return signalr;
27
+ });
28
+ this.listen = (name, handler) => {
29
+ const key = randomId();
30
+ let _name = name;
31
+ if (!this._messageMap[_name])
32
+ this._messageMap[_name] = {};
33
+ this._messageMap[_name][key] = handler;
34
+ return {
35
+ remove: () => {
36
+ delete this._messageMap[_name][key];
37
+ },
38
+ };
39
+ };
40
+ this.start = (...args) => {
41
+ return this._checkSignalr().start(...args);
42
+ };
43
+ this.on = (...args) => {
44
+ return this._checkSignalr().on(...args);
45
+ };
46
+ this.invoke = (...args) => {
47
+ return this._checkSignalr().invoke(...args);
48
+ };
49
+ this.onClose = (...args) => {
50
+ return this._checkSignalr().onclose(...args);
51
+ };
52
+ this.stop = (...args) => {
53
+ return this._checkSignalr().stop(...args);
54
+ };
55
+ this.destroy = () => {
56
+ this._messageMap = {};
57
+ return this._checkSignalr().stop();
58
+ };
59
+ this.connectionId = '';
60
+ this._messageMap = {};
61
+ this.signalr = null;
62
+ this._listenList = listenList;
63
+ }
64
+ _listener(signalr) {
65
+ this._listenList.forEach(listenType => {
66
+ signalr.on(listenType, (data) => {
67
+ this._onReceiver({ Event: listenType, Data: data });
68
+ });
69
+ });
70
+ }
71
+ _onReceiver(data) {
72
+ const callback = this._messageMap[data.Event];
73
+ callback &&
74
+ Object.values(callback).forEach(handler => {
75
+ handler(data.Data);
76
+ });
77
+ }
78
+ _checkSignalr() {
79
+ if (!this.signalr)
80
+ throw SocketError.notConnect;
81
+ return this.signalr;
82
+ }
83
+ }
@@ -0,0 +1,36 @@
1
+ import { BaseSocketMessage, IListen, ISignalr } from './signalr.js';
2
+ export declare const DefaultDIDListenList: readonly ["caAccountRegister", "caAccountRecover", "onScanLoginSuccess", "onScanLogin"];
3
+ export type DefaultDIDListenListType = typeof DefaultDIDListenList;
4
+ export type RegisterStatus = 'pass' | 'pending' | 'fail' | null;
5
+ export interface RegisterBody {
6
+ caAddress: string;
7
+ caHash: string;
8
+ registerMessage: null | string;
9
+ registerStatus: RegisterStatus;
10
+ }
11
+ export interface RecoverBody {
12
+ caAddress: string;
13
+ caHash: string;
14
+ recoveryMessage: null | string;
15
+ recoveryStatus: RegisterStatus;
16
+ }
17
+ export interface CaAccountRegisterResult {
18
+ requestId: string;
19
+ body: RegisterBody;
20
+ }
21
+ export interface CaAccountRecoverResult {
22
+ requestId: string;
23
+ body: RecoverBody;
24
+ }
25
+ export interface IDIDSignalr<T> extends ISignalr<T> {
26
+ onCaAccountRegister({ clientId, requestId }: {
27
+ clientId: string;
28
+ requestId: string;
29
+ }, callback: (data: CaAccountRegisterResult) => void): IListen;
30
+ onCaAccountRecover({ clientId, requestId }: {
31
+ clientId: string;
32
+ requestId: string;
33
+ }, callback: (data: CaAccountRecoverResult) => void): IListen;
34
+ onScanLoginSuccess(callback: (data: BaseSocketMessage) => void): IListen;
35
+ onScanLogin(callback: (data: BaseSocketMessage) => void): IListen;
36
+ }
@@ -0,0 +1,6 @@
1
+ export const DefaultDIDListenList = [
2
+ 'caAccountRegister',
3
+ 'caAccountRecover',
4
+ 'onScanLoginSuccess',
5
+ 'onScanLogin',
6
+ ];
@@ -0,0 +1,3 @@
1
+ export * from './did.js';
2
+ export * from './signalr.js';
3
+ export * from './sell.js';
@@ -0,0 +1,3 @@
1
+ export * from './did.js';
2
+ export * from './signalr.js';
3
+ export * from './sell.js';
@@ -0,0 +1,34 @@
1
+ export type PaymentMerchantType = 'Alchemy';
2
+ export interface AchTxAddressReceivedType {
3
+ merchantName: PaymentMerchantType;
4
+ orderId: string;
5
+ crypto: string;
6
+ network: string;
7
+ cryptoAmount: string;
8
+ address: string;
9
+ }
10
+ export interface RequestOrderTransferredType extends AchTxAddressReceivedType {
11
+ status: 'Transferred' | 'TransferFailed';
12
+ }
13
+ export type TransDirectType = 'TokenBuy' | 'TokenSell' | 'NFTBuy' | 'NFTSell';
14
+ export declare enum OrderStatusEnum {
15
+ Initialized = "Initialized",
16
+ Created = "Created",
17
+ Pending = "Pending",
18
+ StartTransfer = "StartTransfer",
19
+ Transferring = "Transferring",
20
+ Transferred = "Transferred",
21
+ TransferFailed = "TransferFailed",
22
+ Failed = "Failed",
23
+ Finish = "Finish"
24
+ }
25
+ export interface NFTOrderChangedData {
26
+ orderId: string;
27
+ merchantName: string;
28
+ address: string;
29
+ network: string;
30
+ crypto: string;
31
+ cryptoAmount: string;
32
+ status: `${OrderStatusEnum}`;
33
+ transDirect: 'NFTBuy';
34
+ }
@@ -0,0 +1,21 @@
1
+ export var OrderStatusEnum;
2
+ (function (OrderStatusEnum) {
3
+ // The order is initialized, and no callback from the payment supplier is received at this time.
4
+ OrderStatusEnum["Initialized"] = "Initialized";
5
+ // The supplier calls back a new order and the user has not paid successfully. When the front end jumps back to Portkey, this is the most likely state.
6
+ OrderStatusEnum["Created"] = "Created";
7
+ // Order payment successful
8
+ OrderStatusEnum["Pending"] = "Pending";
9
+ // Start settling ELF with merchants
10
+ OrderStatusEnum["StartTransfer"] = "StartTransfer";
11
+ // The transfer transaction has been sent, but the transaction has not been packaged yet
12
+ OrderStatusEnum["Transferring"] = "Transferring";
13
+ // The transaction has been packaged and is waiting for LIB (the transaction is in Mined status)
14
+ OrderStatusEnum["Transferred"] = "Transferred";
15
+ // Transfer transaction failed, ready to try again (When the Pending status is waiting for packaging, other statuses other than Mined are queried)
16
+ OrderStatusEnum["TransferFailed"] = "TransferFailed";
17
+ // User payment failed
18
+ OrderStatusEnum["Failed"] = "Failed";
19
+ // LIB confirmed
20
+ OrderStatusEnum["Finish"] = "Finish";
21
+ })(OrderStatusEnum || (OrderStatusEnum = {}));
@@ -0,0 +1,35 @@
1
+ import { HubConnection } from '@microsoft/signalr';
2
+ export interface ISignalrOptions<T> {
3
+ listenList: T;
4
+ }
5
+ export interface IMessageMap {
6
+ [eventName: string]: {
7
+ [key: string]: (data?: any) => void;
8
+ };
9
+ }
10
+ export interface Receive {
11
+ Event: string;
12
+ Data?: any;
13
+ }
14
+ export declare enum SocketError {
15
+ notConnect = "Signalr is null, please doOpen"
16
+ }
17
+ export type BaseSocketMessage = {
18
+ body: string;
19
+ };
20
+ export interface IListen {
21
+ remove(): void;
22
+ }
23
+ export interface ISignalr<T> {
24
+ doOpen: ({ url, clientId }: {
25
+ url: string;
26
+ clientId: string;
27
+ }) => Promise<HubConnection>;
28
+ listen: (name: T[keyof T], handler: (data?: any) => void) => IListen;
29
+ start: HubConnection['start'];
30
+ invoke: HubConnection['invoke'];
31
+ onClose: HubConnection['onclose'];
32
+ stop: HubConnection['stop'];
33
+ on: HubConnection['on'];
34
+ destroy: HubConnection['stop'];
35
+ }
@@ -0,0 +1,4 @@
1
+ export var SocketError;
2
+ (function (SocketError) {
3
+ SocketError["notConnect"] = "Signalr is null, please doOpen";
4
+ })(SocketError || (SocketError = {}));
@@ -0,0 +1,17 @@
1
+ import { BaseSignalr } from './signalr';
2
+ import { BaseSocketMessage, ISignalrOptions, CaAccountRecoverResult, CaAccountRegisterResult, DefaultDIDListenListType, IDIDSignalr } from './types';
3
+ export declare class DIDSignalr<T extends DefaultDIDListenListType = DefaultDIDListenListType> extends BaseSignalr<T> implements IDIDSignalr<T> {
4
+ constructor(options?: ISignalrOptions<T>);
5
+ Ack(clientId: string, requestId: string): void;
6
+ onCaAccountRegister({ clientId, requestId }: {
7
+ clientId: string;
8
+ requestId: string;
9
+ }, callback: (data: CaAccountRegisterResult) => void): import("./types").IListen;
10
+ onCaAccountRecover({ clientId, requestId }: {
11
+ clientId: string;
12
+ requestId: string;
13
+ }, callback: (data: CaAccountRecoverResult) => void): import("./types").IListen;
14
+ onScanLoginSuccess(callback: (data: BaseSocketMessage) => void): import("./types").IListen;
15
+ onScanLogin(callback: (data: BaseSocketMessage) => void): import("./types").IListen;
16
+ }
17
+ //# sourceMappingURL=didSignalr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"didSignalr.d.ts","sourceRoot":"","sources":["../../src/didSignalr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EAEvB,wBAAwB,EACxB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,qBAAa,UAAU,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CACnF,SAAQ,WAAW,CAAC,CAAC,CACrB,YAAW,WAAW,CAAC,CAAC,CAAC;gBAEb,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;IAIjC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAIvC,mBAAmB,CACxB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAChE,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI;IAY5C,kBAAkB,CACvB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAChE,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI;IAY3C,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;IAS9D,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;CAQ/D"}
@@ -0,0 +1,5 @@
1
+ export * from './didSignalr';
2
+ export * from './signalr';
3
+ export * from './sellSignalr';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAE9B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { BaseSignalr } from './signalr';
2
+ import { AchTxAddressReceivedType, NFTOrderChangedData, RequestOrderTransferredType } from './types/sell';
3
+ export declare class SignalrSell extends BaseSignalr {
4
+ requestAchTxAddress(clientId: string, orderId: string): Promise<any>;
5
+ onAchTxAddressReceived({ orderId }: {
6
+ clientId: string;
7
+ orderId: string;
8
+ }, callback: (data: AchTxAddressReceivedType | null) => void): import("./types").IListen;
9
+ requestOrderTransferred(clientId: string, orderId: string): Promise<any>;
10
+ onRequestOrderTransferred({ orderId }: {
11
+ clientId: string;
12
+ orderId: string;
13
+ }, callback: (data: RequestOrderTransferredType | null) => void): import("./types").IListen;
14
+ requestNFTOrderStatus(clientId: string, orderId: string): Promise<any>;
15
+ OnNFTOrderChanged({ orderId }: {
16
+ clientId: string;
17
+ orderId: string;
18
+ }, callback: (data: NFTOrderChangedData | null) => void): import("./types").IListen;
19
+ }
20
+ export declare const sellListenList: readonly ["onAchTxAddressReceived", "onOrderTransferredReceived", "OnNFTOrderChanged"];
21
+ export declare const signalrSell: BaseSignalr<readonly ["onAchTxAddressReceived", "onOrderTransferredReceived", "OnNFTOrderChanged"]> & SignalrSell;
22
+ //# sourceMappingURL=sellSignalr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sellSignalr.d.ts","sourceRoot":"","sources":["../../src/sellSignalr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE1G,qBAAa,WAAY,SAAQ,WAAW;IACnC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQrD,sBAAsB,CAC3B,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAClD,QAAQ,EAAE,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,KAAK,IAAI;IAWpD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQzD,yBAAyB,CAC9B,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAClD,QAAQ,EAAE,CAAC,IAAI,EAAE,2BAA2B,GAAG,IAAI,KAAK,IAAI;IAWvD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IASvD,iBAAiB,CACtB,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAClD,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI;CAWvD;AAED,eAAO,MAAM,cAAc,wFAAyF,CAAC;AAErH,eAAO,MAAM,WAAW,mHAE8B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { HubConnection } from '@microsoft/signalr';
2
+ import { IListen, ISignalr, ISignalrOptions } from './types';
3
+ export declare class BaseSignalr<ListenList = any> implements ISignalr<ListenList> {
4
+ url?: string;
5
+ signalr: HubConnection | null;
6
+ connectionId: string;
7
+ private _messageMap;
8
+ private _listenList;
9
+ constructor({ listenList }: ISignalrOptions<ListenList>);
10
+ doOpen: ({ url, clientId }: {
11
+ url: string;
12
+ clientId: string;
13
+ }) => Promise<HubConnection>;
14
+ listen: (name: ListenList[keyof ListenList], handler: (data?: any) => void) => IListen;
15
+ start: HubConnection['start'];
16
+ on: HubConnection['on'];
17
+ invoke: HubConnection['invoke'];
18
+ onClose: HubConnection['onclose'];
19
+ stop: HubConnection['stop'];
20
+ destroy: HubConnection['stop'];
21
+ private _listener;
22
+ private _onReceiver;
23
+ private _checkSignalr;
24
+ }
25
+ //# sourceMappingURL=signalr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signalr.d.ts","sourceRoot":"","sources":["../../src/signalr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAe,QAAQ,EAAE,eAAe,EAAwB,MAAM,SAAS,CAAC;AAEhG,qBAAa,WAAW,CAAC,UAAU,GAAG,GAAG,CAAE,YAAW,QAAQ,CAAC,UAAU,CAAC;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAa;gBACpB,EAAE,UAAU,EAAE,EAAE,eAAe,CAAC,UAAU,CAAC;IAOhD,MAAM;aAAoC,MAAM;kBAAY,MAAM;iCAUvE;IAEK,MAAM,SAAU,UAAU,CAAC,MAAM,UAAU,CAAC,mBAAmB,GAAG,KAAK,IAAI,KAAG,OAAO,CAU1F;IAEK,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAElC;IAEK,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAE5B;IAEK,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAEpC;IAEK,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAEtC;IAEK,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAEhC;IAEK,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAGnC;IAEF,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,aAAa;CAItB"}
@@ -0,0 +1,37 @@
1
+ import { BaseSocketMessage, IListen, ISignalr } from './signalr';
2
+ export declare const DefaultDIDListenList: readonly ["caAccountRegister", "caAccountRecover", "onScanLoginSuccess", "onScanLogin"];
3
+ export type DefaultDIDListenListType = typeof DefaultDIDListenList;
4
+ export type RegisterStatus = 'pass' | 'pending' | 'fail' | null;
5
+ export interface RegisterBody {
6
+ caAddress: string;
7
+ caHash: string;
8
+ registerMessage: null | string;
9
+ registerStatus: RegisterStatus;
10
+ }
11
+ export interface RecoverBody {
12
+ caAddress: string;
13
+ caHash: string;
14
+ recoveryMessage: null | string;
15
+ recoveryStatus: RegisterStatus;
16
+ }
17
+ export interface CaAccountRegisterResult {
18
+ requestId: string;
19
+ body: RegisterBody;
20
+ }
21
+ export interface CaAccountRecoverResult {
22
+ requestId: string;
23
+ body: RecoverBody;
24
+ }
25
+ export interface IDIDSignalr<T> extends ISignalr<T> {
26
+ onCaAccountRegister({ clientId, requestId }: {
27
+ clientId: string;
28
+ requestId: string;
29
+ }, callback: (data: CaAccountRegisterResult) => void): IListen;
30
+ onCaAccountRecover({ clientId, requestId }: {
31
+ clientId: string;
32
+ requestId: string;
33
+ }, callback: (data: CaAccountRecoverResult) => void): IListen;
34
+ onScanLoginSuccess(callback: (data: BaseSocketMessage) => void): IListen;
35
+ onScanLogin(callback: (data: BaseSocketMessage) => void): IListen;
36
+ }
37
+ //# sourceMappingURL=did.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../../src/types/did.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEjE,eAAO,MAAM,oBAAoB,yFAKvB,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,OAAO,oBAAoB,CAAC;AAEnE,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,IAAI,GAAG,MAAM,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACjD,mBAAmB,CACjB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAChE,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,GAChD,OAAO,CAAC;IACX,kBAAkB,CAChB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAChE,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,GAC/C,OAAO,CAAC;IACX,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC;IACzE,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC;CACnE"}
@@ -0,0 +1,4 @@
1
+ export * from './did';
2
+ export * from './signalr';
3
+ export * from './sell';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,35 @@
1
+ export type PaymentMerchantType = 'Alchemy';
2
+ export interface AchTxAddressReceivedType {
3
+ merchantName: PaymentMerchantType;
4
+ orderId: string;
5
+ crypto: string;
6
+ network: string;
7
+ cryptoAmount: string;
8
+ address: string;
9
+ }
10
+ export interface RequestOrderTransferredType extends AchTxAddressReceivedType {
11
+ status: 'Transferred' | 'TransferFailed';
12
+ }
13
+ export type TransDirectType = 'TokenBuy' | 'TokenSell' | 'NFTBuy' | 'NFTSell';
14
+ export declare enum OrderStatusEnum {
15
+ Initialized = "Initialized",
16
+ Created = "Created",
17
+ Pending = "Pending",
18
+ StartTransfer = "StartTransfer",
19
+ Transferring = "Transferring",
20
+ Transferred = "Transferred",
21
+ TransferFailed = "TransferFailed",
22
+ Failed = "Failed",
23
+ Finish = "Finish"
24
+ }
25
+ export interface NFTOrderChangedData {
26
+ orderId: string;
27
+ merchantName: string;
28
+ address: string;
29
+ network: string;
30
+ crypto: string;
31
+ cryptoAmount: string;
32
+ status: `${OrderStatusEnum}`;
33
+ transDirect: 'NFTBuy';
34
+ }
35
+ //# sourceMappingURL=sell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sell.d.ts","sourceRoot":"","sources":["../../../src/types/sell.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE5C,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,mBAAmB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IAC3E,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC;CAC1C;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE9E,oBAAY,eAAe;IAEzB,WAAW,gBAAgB;IAE3B,OAAO,YAAY;IAEnB,OAAO,YAAY;IAEnB,aAAa,kBAAkB;IAE/B,YAAY,iBAAiB;IAE7B,WAAW,gBAAgB;IAE3B,cAAc,mBAAmB;IAEjC,MAAM,WAAW;IAEjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;IAC7B,WAAW,EAAE,QAAQ,CAAC;CACvB"}
@@ -0,0 +1,36 @@
1
+ import { HubConnection } from '@microsoft/signalr';
2
+ export interface ISignalrOptions<T> {
3
+ listenList: T;
4
+ }
5
+ export interface IMessageMap {
6
+ [eventName: string]: {
7
+ [key: string]: (data?: any) => void;
8
+ };
9
+ }
10
+ export interface Receive {
11
+ Event: string;
12
+ Data?: any;
13
+ }
14
+ export declare enum SocketError {
15
+ notConnect = "Signalr is null, please doOpen"
16
+ }
17
+ export type BaseSocketMessage = {
18
+ body: string;
19
+ };
20
+ export interface IListen {
21
+ remove(): void;
22
+ }
23
+ export interface ISignalr<T> {
24
+ doOpen: ({ url, clientId }: {
25
+ url: string;
26
+ clientId: string;
27
+ }) => Promise<HubConnection>;
28
+ listen: (name: T[keyof T], handler: (data?: any) => void) => IListen;
29
+ start: HubConnection['start'];
30
+ invoke: HubConnection['invoke'];
31
+ onClose: HubConnection['onclose'];
32
+ stop: HubConnection['stop'];
33
+ on: HubConnection['on'];
34
+ destroy: HubConnection['stop'];
35
+ }
36
+ //# sourceMappingURL=signalr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signalr.d.ts","sourceRoot":"","sources":["../../../src/types/signalr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,oBAAY,WAAW;IACrB,UAAU,mCAAmC;CAC9C;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACzF,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,OAAO,CAAC;IACrE,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@portkey/socket",
3
+ "version": "0.0.2-alpha.2",
4
+ "description": "",
5
+ "main": "./dist/commonjs/index.js",
6
+ "module": "./dist/esm/index.js",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/types/index.d.ts",
10
+ "import": "./dist/esm/index.js",
11
+ "require": "./dist/commonjs/index.js"
12
+ }
13
+ },
14
+ "author": "",
15
+ "license": "ISC",
16
+ "publishConfig": {
17
+ "access": "public",
18
+ "registry": "https://registry.npmjs.org"
19
+ },
20
+ "files": [
21
+ "dist/*"
22
+ ],
23
+ "homepage": "https://portkey.finance/",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/Portkey-Wallet/portkey-web.git",
27
+ "directory": "packages/services"
28
+ },
29
+ "scripts": {
30
+ "clean": "rm -rf dist",
31
+ "prebuild": "yarn clean",
32
+ "build": "yarn build:cjs & yarn build:esm & yarn build:types",
33
+ "build:cjs": "tsc && echo '{\"type\": \"commonjs\"}' > ./dist/commonjs/package.json",
34
+ "build:esm": "tsc --build tsconfig.esm.json && echo '{\"type\": \"module\"}' > ./dist/esm/package.json && yarn esm:fix",
35
+ "build:types": "tsc --build tsconfig.types.json",
36
+ "esm:fix": "node ../../scripts/fix-esm.js dist/esm",
37
+ "lint": "eslint --ext .js,.ts .",
38
+ "lint:fix": "eslint --fix --ext .js,.ts .",
39
+ "format": "prettier --write '**/*'",
40
+ "start": "tsc --watch",
41
+ "test": "jest"
42
+ },
43
+ "dependencies": {
44
+ "@abp/signalr": "^7.0.0"
45
+ },
46
+ "peerDependencies": {
47
+ "@portkey/utils": "^1.5.1"
48
+ },
49
+ "gitHead": "f47ad5bac9db1797d7c86639f4bfca105528452d"
50
+ }