@1inch/fusion-sdk 0.0.10 → 0.0.11

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 (59) hide show
  1. package/README.md +1 -0
  2. package/connector/index.d.ts +1 -0
  3. package/connector/index.js +1 -0
  4. package/connector/index.js.map +1 -1
  5. package/connector/ws/index.d.ts +3 -0
  6. package/connector/ws/index.js +7 -0
  7. package/connector/ws/index.js.map +1 -0
  8. package/connector/ws/types.d.ts +8 -0
  9. package/connector/ws/types.js +3 -0
  10. package/connector/ws/types.js.map +1 -0
  11. package/connector/ws/websocket-client.connector.d.ts +19 -0
  12. package/connector/ws/websocket-client.connector.js +68 -0
  13. package/connector/ws/websocket-client.connector.js.map +1 -0
  14. package/connector/ws/websocket-provider.connector.d.ts +12 -0
  15. package/connector/ws/websocket-provider.connector.js +3 -0
  16. package/connector/ws/websocket-provider.connector.js.map +1 -0
  17. package/index.d.ts +1 -0
  18. package/index.js +1 -0
  19. package/index.js.map +1 -1
  20. package/package.json +4 -2
  21. package/sdk/encoders/cancel-order.encoder.d.ts +2 -0
  22. package/sdk/encoders/cancel-order.encoder.js +14 -0
  23. package/sdk/encoders/cancel-order.encoder.js.map +1 -0
  24. package/sdk/encoders/index.d.ts +1 -0
  25. package/sdk/encoders/index.js +5 -0
  26. package/sdk/encoders/index.js.map +1 -0
  27. package/sdk/index.d.ts +1 -0
  28. package/sdk/index.js +1 -0
  29. package/sdk/index.js.map +1 -1
  30. package/sdk/sdk.d.ts +1 -0
  31. package/sdk/sdk.js +23 -0
  32. package/sdk/sdk.js.map +1 -1
  33. package/sdk/sdk.spec.d.ts +1 -0
  34. package/sdk/sdk.spec.js +85 -0
  35. package/sdk/sdk.spec.js.map +1 -0
  36. package/ws-api/active-websocket-orders-api.d.ts +12 -0
  37. package/ws-api/active-websocket-orders-api.js +53 -0
  38. package/ws-api/active-websocket-orders-api.js.map +1 -0
  39. package/ws-api/constants.d.ts +2 -0
  40. package/ws-api/constants.js +11 -0
  41. package/ws-api/constants.js.map +1 -0
  42. package/ws-api/index.d.ts +2 -0
  43. package/ws-api/index.js +6 -0
  44. package/ws-api/index.js.map +1 -0
  45. package/ws-api/rpc-websocket-api.d.ts +10 -0
  46. package/ws-api/rpc-websocket-api.js +30 -0
  47. package/ws-api/rpc-websocket-api.js.map +1 -0
  48. package/ws-api/types.d.ts +52 -0
  49. package/ws-api/types.js +3 -0
  50. package/ws-api/types.js.map +1 -0
  51. package/ws-api/url.d.ts +1 -0
  52. package/ws-api/url.js +11 -0
  53. package/ws-api/url.js.map +1 -0
  54. package/ws-api/ws-api.d.ts +20 -0
  55. package/ws-api/ws-api.js +59 -0
  56. package/ws-api/ws-api.js.map +1 -0
  57. package/ws-api/ws.spec.d.ts +1 -0
  58. package/ws-api/ws.spec.js +522 -0
  59. package/ws-api/ws.spec.js.map +1 -0
package/README.md CHANGED
@@ -21,6 +21,7 @@ yarn add @1inch/fusion-sdk
21
21
  - [auction-suffix](src/auction-suffix/README.md)
22
22
  - [fusion-order](src/fusion-order/README.md)
23
23
  - [sdk](src/sdk/README.md)
24
+ - [ws-api](src/ws-api/README.md)
24
25
 
25
26
  ## How to swap with Fusion Mode
26
27
 
@@ -1,2 +1,3 @@
1
1
  export * from './blockchain/index';
2
2
  export * from './http/index';
3
+ export * from './ws';
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./blockchain/index"), exports);
5
5
  tslib_1.__exportStar(require("./http/index"), exports);
6
+ tslib_1.__exportStar(require("./ws"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connector/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,uDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connector/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,uDAA4B;AAC5B,+CAAoB"}
@@ -0,0 +1,3 @@
1
+ export * from './websocket-client.connector';
2
+ export * from './types';
3
+ export * from './websocket-provider.connector';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./websocket-client.connector"), exports);
5
+ tslib_1.__exportStar(require("./types"), exports);
6
+ tslib_1.__exportStar(require("./websocket-provider.connector"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connector/ws/index.ts"],"names":[],"mappings":";;;AAAA,uEAA4C;AAC5C,kDAAuB;AACvB,yEAA8C"}
@@ -0,0 +1,8 @@
1
+ import { WebSocket } from 'ws';
2
+ export declare type AnyFunction = (...args: any[]) => any;
3
+ export declare type AnyFunctionWithThis = (this: WebSocket, ...args: any[]) => void;
4
+ export declare type WsApiConfig = {
5
+ url: string;
6
+ lazyInit?: boolean;
7
+ };
8
+ export declare type OnMessageCb = (data: any) => void;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/connector/ws/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import WebSocket from 'ws';
2
+ import { AnyFunction, AnyFunctionWithThis, OnMessageCb, WsApiConfig } from './types';
3
+ import { WsProviderConnector } from './websocket-provider.connector';
4
+ export declare class WebsocketClient implements WsProviderConnector {
5
+ readonly ws: WebSocket;
6
+ private readonly url;
7
+ private readonly initialized;
8
+ constructor(config: WsApiConfig);
9
+ init(): void;
10
+ on(event: string, cb: AnyFunctionWithThis): void;
11
+ off(event: string, cb: AnyFunctionWithThis): void;
12
+ onOpen(cb: AnyFunctionWithThis): void;
13
+ send<T>(message: T): void;
14
+ onMessage(cb: OnMessageCb): void;
15
+ onClose(cb: AnyFunction): void;
16
+ onError(cb: AnyFunction): void;
17
+ close(): void;
18
+ private checkInitialized;
19
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebsocketClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ws_1 = tslib_1.__importDefault(require("ws"));
6
+ class WebsocketClient {
7
+ constructor(config) {
8
+ this.url = config.url;
9
+ const lazyInit = config.lazyInit || false;
10
+ if (!lazyInit) {
11
+ this.initialized = true;
12
+ this.ws = new ws_1.default(this.url);
13
+ return;
14
+ }
15
+ this.initialized = false;
16
+ }
17
+ init() {
18
+ if (this.initialized) {
19
+ throw new Error('WebSocket is already initialized');
20
+ }
21
+ // @ts-expect-error hack for readonly property
22
+ this.initialized = true;
23
+ // @ts-expect-error hack for readonly property
24
+ this.ws = new ws_1.default(this.url);
25
+ }
26
+ on(event, cb) {
27
+ this.checkInitialized();
28
+ this.ws.on(event, cb);
29
+ }
30
+ off(event, cb) {
31
+ this.checkInitialized();
32
+ this.ws.off(event, cb);
33
+ }
34
+ onOpen(cb) {
35
+ this.on('open', cb);
36
+ }
37
+ send(message) {
38
+ this.checkInitialized();
39
+ const serialized = JSON.stringify(message);
40
+ this.ws.send(serialized);
41
+ }
42
+ onMessage(cb) {
43
+ this.on('message', (data) => {
44
+ const parsedData = JSON.parse(data);
45
+ cb(parsedData);
46
+ });
47
+ }
48
+ onClose(cb) {
49
+ this.on('close', cb);
50
+ }
51
+ onError(cb) {
52
+ this.on('error', cb);
53
+ }
54
+ close() {
55
+ this.checkInitialized();
56
+ this.ws.close();
57
+ }
58
+ checkInitialized() {
59
+ if (!this.initialized) {
60
+ throwInitError();
61
+ }
62
+ }
63
+ }
64
+ exports.WebsocketClient = WebsocketClient;
65
+ function throwInitError() {
66
+ throw new Error('WebSocket is not initialized. Call init() first.');
67
+ }
68
+ //# sourceMappingURL=websocket-client.connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-client.connector.js","sourceRoot":"","sources":["../../../src/connector/ws/websocket-client.connector.ts"],"names":[],"mappings":";;;;AAAA,oDAA0B;AAS1B,MAAa,eAAe;IAOxB,YAAY,MAAmB;QAC3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QAErB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAA;QAEzC,IAAI,CAAC,QAAQ,EAAE;YACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;YACvB,IAAI,CAAC,EAAE,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEjC,OAAM;SACT;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;IAC5B,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;SACtD;QAED,8CAA8C;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,8CAA8C;QAC9C,IAAI,CAAC,EAAE,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAED,EAAE,CAAC,KAAa,EAAE,EAAuB;QACrC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,EAAuB;QACtC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,EAAuB;QAC1B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAI,OAAU;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC5B,CAAC;IAED,SAAS,CAAC,EAAe;QACrB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAEnC,EAAE,CAAC,UAAU,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,EAAe;QACnB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,cAAc,EAAE,CAAA;SACnB;IACL,CAAC;CACJ;AA/ED,0CA+EC;AAED,SAAS,cAAc;IACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;AACvE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { AnyFunctionWithThis, AnyFunction, OnMessageCb } from './types';
2
+ export interface WsProviderConnector {
3
+ init(): void;
4
+ on(event: string, cb: AnyFunctionWithThis): void;
5
+ off(event: string, cb: AnyFunctionWithThis): void;
6
+ onOpen(cb: AnyFunctionWithThis): void;
7
+ send<T>(message: T): void;
8
+ close(): void;
9
+ onMessage(cb: OnMessageCb): void;
10
+ onClose(cb: AnyFunction): void;
11
+ onError(cb: AnyFunction): void;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=websocket-provider.connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-provider.connector.js","sourceRoot":"","sources":["../../../src/connector/ws/websocket-provider.connector.ts"],"names":[],"mappings":""}
package/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export * from './constants';
9
9
  export * from './utils';
10
10
  export * from './validations';
11
11
  export * from './settlement';
12
+ export * from './ws-api';
package/index.js CHANGED
@@ -12,4 +12,5 @@ tslib_1.__exportStar(require("./constants"), exports);
12
12
  tslib_1.__exportStar(require("./utils"), exports);
13
13
  tslib_1.__exportStar(require("./validations"), exports);
14
14
  tslib_1.__exportStar(require("./settlement"), exports);
15
+ tslib_1.__exportStar(require("./ws-api"), exports);
15
16
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC;AACtC,+DAAoC;AACpC,+DAAoC;AACpC,8DAAmC;AACnC,qEAA0C;AAC1C,4DAAiC;AACjC,sDAA2B;AAC3B,sDAA2B;AAC3B,kDAAuB;AACvB,wDAA6B;AAC7B,uDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC;AACtC,+DAAoC;AACpC,+DAAoC;AACpC,8DAAmC;AACnC,qEAA0C;AAC1C,4DAAiC;AACjC,sDAA2B;AAC3B,sDAA2B;AAC3B,kDAAuB;AACvB,wDAA6B;AAC7B,uDAA4B;AAC5B,mDAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1inch/fusion-sdk",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "1inch Fusion Mode SDK",
5
5
  "private": false,
6
6
  "main": "index.js",
@@ -30,7 +30,8 @@
30
30
  "@ethersproject/bignumber": "^5.1.1",
31
31
  "@metamask/eth-sig-util": "^5.0.2",
32
32
  "bn.js": "^5.2.1",
33
- "web3": "^1.8.1"
33
+ "web3": "^1.8.1",
34
+ "ws": "^8.12.1"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@babel/core": "^7.13.16",
@@ -38,6 +39,7 @@
38
39
  "@babel/preset-typescript": "^7.13.0",
39
40
  "@types/jest": "^26.0.22",
40
41
  "@types/prompts": "^2.0.12",
42
+ "@types/ws": "^8.5.4",
41
43
  "@typescript-eslint/eslint-plugin": "4",
42
44
  "axios": "^1.2.3",
43
45
  "babel-jest": "^26.6.3",
@@ -0,0 +1,2 @@
1
+ import { LimitOrderV3Struct } from '../../limit-order';
2
+ export declare function encodeCancelOrder(params: LimitOrderV3Struct): string;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeCancelOrder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const web3_eth_contract_1 = tslib_1.__importDefault(require("web3-eth-contract"));
6
+ const AggregationRouterV5_abi_json_1 = tslib_1.__importDefault(require("../../abi/AggregationRouterV5.abi.json"));
7
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
+ // @ts-ignore
9
+ const limitOrderV3 = new web3_eth_contract_1.default(AggregationRouterV5_abi_json_1.default);
10
+ function encodeCancelOrder(params) {
11
+ return limitOrderV3.methods.cancelOrder(params).encodeABI();
12
+ }
13
+ exports.encodeCancelOrder = encodeCancelOrder;
14
+ //# sourceMappingURL=cancel-order.encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancel-order.encoder.js","sourceRoot":"","sources":["../../../src/sdk/encoders/cancel-order.encoder.ts"],"names":[],"mappings":";;;;AAAA,kFAAwC;AACxC,kHAAoE;AAIpE,6DAA6D;AAC7D,aAAa;AACb,MAAM,YAAY,GAAG,IAAI,2BAAQ,CAAC,sCAA4B,CAAC,CAAA;AAE/D,SAAgB,iBAAiB,CAAC,MAA0B;IACxD,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA;AAC/D,CAAC;AAFD,8CAEC"}
@@ -0,0 +1 @@
1
+ export * from './cancel-order.encoder';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./cancel-order.encoder"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/encoders/index.ts"],"names":[],"mappings":";;;AAAA,iEAAsC"}
package/sdk/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './sdk';
2
2
  export * from './types';
3
+ export * from './encoders';
package/sdk/index.js CHANGED
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./sdk"), exports);
5
5
  tslib_1.__exportStar(require("./types"), exports);
6
+ tslib_1.__exportStar(require("./encoders"), exports);
6
7
  //# sourceMappingURL=index.js.map
package/sdk/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":";;;AAAA,gDAAqB;AACrB,kDAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":";;;AAAA,gDAAqB;AACrB,kDAAuB;AACvB,qDAA0B"}
package/sdk/sdk.d.ts CHANGED
@@ -13,5 +13,6 @@ export declare class FusionSDK {
13
13
  createOrder(params: OrderParams): Promise<PreparedOrder>;
14
14
  submitOrder(order: FusionOrder, quoteId: string): Promise<OrderInfo>;
15
15
  placeOrder(params: OrderParams): Promise<OrderInfo>;
16
+ buildCancelOrderCallData(orderHash: string): Promise<string>;
16
17
  private getNonce;
17
18
  }
package/sdk/sdk.js CHANGED
@@ -8,6 +8,7 @@ const limit_order_1 = require("../limit-order");
8
8
  const orders_1 = require("../api/orders");
9
9
  const nonce_manager_1 = require("../nonce-manager/nonce-manager");
10
10
  const types_1 = require("../nonce-manager/types");
11
+ const encoders_1 = require("./encoders");
11
12
  class FusionSDK {
12
13
  constructor(config) {
13
14
  this.config = config;
@@ -102,6 +103,28 @@ class FusionSDK {
102
103
  return this.submitOrder(order, quoteId);
103
104
  });
104
105
  }
106
+ buildCancelOrderCallData(orderHash) {
107
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
108
+ const getOrderRequest = orders_1.OrderStatusRequest.new({ orderHash });
109
+ const orderData = yield this.api.getOrderStatus(getOrderRequest);
110
+ if (!orderData) {
111
+ throw new Error(`Can not get order with the specified orderHash ${orderHash}`);
112
+ }
113
+ const { order } = orderData;
114
+ return (0, encoders_1.encodeCancelOrder)({
115
+ makerAsset: order.makerAsset,
116
+ takerAsset: order.takerAsset,
117
+ maker: order.maker,
118
+ receiver: order.receiver,
119
+ allowedSender: order.allowedSender,
120
+ interactions: order.interactions,
121
+ makingAmount: order.makingAmount,
122
+ takingAmount: order.takingAmount,
123
+ salt: order.salt,
124
+ offsets: order.offsets
125
+ });
126
+ });
127
+ }
105
128
  getNonce(walletAddress, nonce) {
106
129
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
107
130
  if (!this.config.blockchainProvider) {
package/sdk/sdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const ts_mockito_1 = require("ts-mockito");
5
+ const connector_1 = require("../connector");
6
+ const sdk_1 = require("./sdk");
7
+ const constants_1 = require("../constants");
8
+ function createHttpProviderFake(mock) {
9
+ const httpProvider = {
10
+ get: jest.fn().mockImplementationOnce(() => {
11
+ return Promise.resolve(mock);
12
+ }),
13
+ post: jest.fn().mockImplementation(() => {
14
+ return Promise.resolve(null);
15
+ })
16
+ };
17
+ return httpProvider;
18
+ }
19
+ describe(__filename, () => {
20
+ let web3Provider;
21
+ let web3ProviderConnector;
22
+ beforeEach(() => {
23
+ web3Provider = (0, ts_mockito_1.mock)();
24
+ web3ProviderConnector = new connector_1.Web3ProviderConnector((0, ts_mockito_1.instance)(web3Provider));
25
+ });
26
+ it('returns encoded call data to cancel order', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
27
+ const url = 'https://test.com';
28
+ const expected = {
29
+ order: {
30
+ salt: '45144194282371711345892930501725766861375817078109214409479816083205610767025',
31
+ maker: '0x6f250c769001617aff9bdf4b9fd878062e94af83',
32
+ offsets: '970558080243398695134547109586957793750899628853613079895592438595584',
33
+ receiver: '0x0000000000000000000000000000000000000000',
34
+ makerAsset: '0x6eb15148d0ea88433dd8088a3acc515d27e36c1b',
35
+ takerAsset: '0xdac17f958d2ee523a2206206994597c13d831ec7',
36
+ interactions: '0x2cc2878d000063ceb60f0000000000006f250c769001617aff9bdf4b9fd878062e94af83006c00c2fe001800c44c0000000084d99aa569d93a9ca187d83734c8c4a519c4e9b1ffffffff0a',
37
+ makingAmount: '2246481050155000',
38
+ takingAmount: '349837736598',
39
+ allowedSender: '0xa88800cd213da5ae406ce248380802bd53b47647'
40
+ },
41
+ cancelTx: null,
42
+ points: null,
43
+ auctionStartDate: 1674491231,
44
+ auctionDuration: 180,
45
+ initialRateBump: 50484,
46
+ status: 'filled',
47
+ createdAt: '2023-01-23T16:26:38.803Z',
48
+ fromTokenToUsdPrice: '0.01546652159249409068',
49
+ toTokenToUsdPrice: '1.00135361305236370022',
50
+ fills: [
51
+ {
52
+ txHash: '0xcdd81e6860fc038d4fe8549efdf18488154667a2088d471cdaa7d492f24178a1',
53
+ filledMakerAmount: '2246481050155001',
54
+ filledAuctionTakerAmount: '351593117428'
55
+ }
56
+ ],
57
+ isNativeCurrency: false
58
+ };
59
+ const httpProvider = createHttpProviderFake(expected);
60
+ const sdk = new sdk_1.FusionSDK({
61
+ url,
62
+ network: constants_1.NetworkEnum.ETHEREUM,
63
+ httpProvider,
64
+ blockchainProvider: web3ProviderConnector
65
+ });
66
+ const orderHash = `0x1beee023ab933cf5446c298eadadb61c05705f2156ef5b2db36c160b36f31ce4`;
67
+ const callData = yield sdk.buildCancelOrderCallData(orderHash);
68
+ expect(callData).toBe('0x2d9a56f6000000000000000000000000000000000000000000000000000000000000002063ceb55f0000b400c53400000000000000000000000000000000006dc95382b10000000000000000000000006eb15148d0ea88433dd8088a3acc515d27e36c1b000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006f250c769001617aff9bdf4b9fd878062e94af830000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a88800cd213da5ae406ce248380802bd53b476470000000000000000000000000000000000000000000000000007fb29a0fd37f80000000000000000000000000000000000000000000000000000005173f43a9600000024000000240000002400000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000004b2cc2878d000063ceb60f0000000000006f250c769001617aff9bdf4b9fd878062e94af83006c00c2fe001800c44c0000000084d99aa569d93a9ca187d83734c8c4a519c4e9b1ffffffff0a000000000000000000000000000000000000000000');
69
+ }));
70
+ it('throws an exception if order is not get from api', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
71
+ const url = 'https://test.com';
72
+ const expected = undefined;
73
+ const httpProvider = createHttpProviderFake(expected);
74
+ const sdk = new sdk_1.FusionSDK({
75
+ url,
76
+ network: constants_1.NetworkEnum.ETHEREUM,
77
+ httpProvider,
78
+ blockchainProvider: web3ProviderConnector
79
+ });
80
+ const orderHash = `0x1beee023ab933cf5446c298eadadb61c05705f2156ef5b2db36c160b36f31ce4`;
81
+ const promise = sdk.buildCancelOrderCallData(orderHash);
82
+ yield expect(promise).rejects.toThrow('Can not get order with the specified orderHash 0x1beee023ab933cf5446c298eadadb61c05705f2156ef5b2db36c160b36f31ce4');
83
+ }));
84
+ });
85
+ //# sourceMappingURL=sdk.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.spec.js","sourceRoot":"","sources":["../../src/sdk/sdk.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { WsProviderConnector } from '../connector/ws';
2
+ import { OnOrderCb, OnOrderCreatedCb, OnOrderFilledCb, OnOrderFilledPartiallyCb, OnOrderInvalidCb, OnOrderNotEnoughBalanceOrAllowanceCb } from './types';
3
+ export declare class ActiveOrdersWebSocketApi {
4
+ readonly provider: WsProviderConnector;
5
+ constructor(provider: WsProviderConnector);
6
+ onOrder(cb: OnOrderCb): void;
7
+ onOrderCreated(cb: OnOrderCreatedCb): void;
8
+ onOrderInvalid(cb: OnOrderInvalidCb): void;
9
+ onOrderBalanceOrAllowanceChange(cb: OnOrderNotEnoughBalanceOrAllowanceCb): void;
10
+ onOrderFilled(cb: OnOrderFilledCb): void;
11
+ onOrderFilledPartially(cb: OnOrderFilledPartiallyCb): void;
12
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActiveOrdersWebSocketApi = void 0;
4
+ const constants_1 = require("./constants");
5
+ class ActiveOrdersWebSocketApi {
6
+ constructor(provider) {
7
+ this.provider = provider;
8
+ }
9
+ onOrder(cb) {
10
+ this.provider.onMessage((data) => {
11
+ if (constants_1.orderEvents.includes(data.event)) {
12
+ cb(data);
13
+ }
14
+ });
15
+ }
16
+ onOrderCreated(cb) {
17
+ this.provider.onMessage((data) => {
18
+ if (data.event === 'order_created') {
19
+ cb(data);
20
+ }
21
+ });
22
+ }
23
+ onOrderInvalid(cb) {
24
+ this.provider.onMessage((data) => {
25
+ if (data.event === 'order_invalid') {
26
+ cb(data);
27
+ }
28
+ });
29
+ }
30
+ onOrderBalanceOrAllowanceChange(cb) {
31
+ this.provider.onMessage((data) => {
32
+ if (data.event === 'order_balance_or_allowance_change') {
33
+ cb(data);
34
+ }
35
+ });
36
+ }
37
+ onOrderFilled(cb) {
38
+ this.provider.onMessage((data) => {
39
+ if (data.event === 'order_filled') {
40
+ cb(data);
41
+ }
42
+ });
43
+ }
44
+ onOrderFilledPartially(cb) {
45
+ this.provider.onMessage((data) => {
46
+ if (data.event === 'order_filled_partially') {
47
+ cb(data);
48
+ }
49
+ });
50
+ }
51
+ }
52
+ exports.ActiveOrdersWebSocketApi = ActiveOrdersWebSocketApi;
53
+ //# sourceMappingURL=active-websocket-orders-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-websocket-orders-api.js","sourceRoot":"","sources":["../../src/ws-api/active-websocket-orders-api.ts"],"names":[],"mappings":";;;AACA,2CAAuC;AAWvC,MAAa,wBAAwB;IAGjC,YAAY,QAA6B;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,OAAO,CAAC,EAAa;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC7C,IAAI,uBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAClC,EAAE,CAAC,IAAI,CAAC,CAAA;aACX;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,cAAc,CAAC,EAAoB;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,EAAE;gBAChC,EAAE,CAAC,IAAI,CAAC,CAAA;aACX;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,cAAc,CAAC,EAAoB;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,eAAe,EAAE;gBAChC,EAAE,CAAC,IAAI,CAAC,CAAA;aACX;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,+BAA+B,CAC3B,EAAwC;QAExC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,mCAAmC,EAAE;gBACpD,EAAE,CAAC,IAAI,CAAC,CAAA;aACX;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,aAAa,CAAC,EAAmB;QAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,EAAE;gBAC/B,EAAE,CAAC,IAAI,CAAC,CAAA;aACX;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,sBAAsB,CAAC,EAA4B;QAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,wBAAwB,EAAE;gBACzC,EAAE,CAAC,IAAI,CAAC,CAAA;aACX;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAxDD,4DAwDC"}
@@ -0,0 +1,2 @@
1
+ import { OrderEventType } from './types';
2
+ export declare const orderEvents: OrderEventType['event'][];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.orderEvents = void 0;
4
+ exports.orderEvents = [
5
+ 'order_created',
6
+ 'order_invalid',
7
+ 'order_balance_or_allowance_change',
8
+ 'order_filled',
9
+ 'order_filled_partially'
10
+ ];
11
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/ws-api/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAA8B;IAClD,eAAe;IACf,eAAe;IACf,mCAAmC;IACnC,cAAc;IACd,wBAAwB;CAC3B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ws-api';
2
+ export * from './types';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./ws-api"), exports);
5
+ tslib_1.__exportStar(require("./types"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ws-api/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,kDAAuB"}
@@ -0,0 +1,10 @@
1
+ import { WsProviderConnector } from '../connector/ws';
2
+ import { OnGetAllowedMethodsCb, OnPongCb } from './types';
3
+ export declare class RpcWebsocketApi {
4
+ readonly provider: WsProviderConnector;
5
+ constructor(provider: WsProviderConnector);
6
+ onPong(cb: OnPongCb): void;
7
+ ping(): void;
8
+ getAllowedMethods(): void;
9
+ onGetAllowedMethods(cb: OnGetAllowedMethodsCb): void;
10
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RpcWebsocketApi = void 0;
4
+ class RpcWebsocketApi {
5
+ constructor(provider) {
6
+ this.provider = provider;
7
+ }
8
+ onPong(cb) {
9
+ this.provider.onMessage((data) => {
10
+ if (data.method === 'ping') {
11
+ cb(data.result);
12
+ }
13
+ });
14
+ }
15
+ ping() {
16
+ this.provider.send({ method: 'ping' });
17
+ }
18
+ getAllowedMethods() {
19
+ this.provider.send({ method: 'getAllowedMethods' });
20
+ }
21
+ onGetAllowedMethods(cb) {
22
+ this.provider.onMessage((data) => {
23
+ if (data.method === 'getAllowedMethods') {
24
+ cb(data.result);
25
+ }
26
+ });
27
+ }
28
+ }
29
+ exports.RpcWebsocketApi = RpcWebsocketApi;
30
+ //# sourceMappingURL=rpc-websocket-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-websocket-api.js","sourceRoot":"","sources":["../../src/ws-api/rpc-websocket-api.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAGxB,YAAY,QAA6B;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,EAAY;QACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAkB,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;gBACxB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAClB;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,IAAI;QACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAA;IACxC,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,mBAAmB,EAAC,CAAC,CAAA;IACrD,CAAC;IAED,mBAAmB,CAAC,EAAyB;QACzC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAkB,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,EAAE;gBACrC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;aAClB;QACL,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AA9BD,0CA8BC"}