@portal-hq/provider 0.3.8 → 1.0.1

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.
@@ -32,7 +32,7 @@ class Provider {
32
32
  // Required options
33
33
  apiKey, chainId, keychain,
34
34
  // Optional options
35
- apiUrl = 'api.portalhq.io', autoApprove = false, mpcUrl = 'mpc.portalhq.io', mpcVersion = 'v3', gatewayConfig = {}, }) {
35
+ apiUrl = 'api.portalhq.io', autoApprove = false, mpcUrl = 'mpc.portalhq.io', mpcVersion = 'v4', gatewayConfig = {}, }) {
36
36
  // Handle required fields
37
37
  if (!apiKey || apiKey.length === 0) {
38
38
  throw new utils_1.InvalidApiKeyError();
@@ -12,8 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const react_native_1 = require("react-native");
13
13
  const utils_1 = require("@portal-hq/utils");
14
14
  class MpcSigner {
15
- constructor({ keychain, mpcUrl, mpcVersion = 'v3' }) {
16
- this.mpcVersion = 'v3';
15
+ constructor({ keychain, mpcUrl, mpcVersion = 'v4' }) {
16
+ this.mpcVersion = 'v4';
17
17
  this.buildParams = (method, txParams) => {
18
18
  let params = txParams;
19
19
  switch (method) {
@@ -30,7 +30,7 @@ class Provider {
30
30
  // Required options
31
31
  apiKey, chainId, keychain,
32
32
  // Optional options
33
- apiUrl = 'api.portalhq.io', autoApprove = false, mpcUrl = 'mpc.portalhq.io', mpcVersion = 'v3', gatewayConfig = {}, }) {
33
+ apiUrl = 'api.portalhq.io', autoApprove = false, mpcUrl = 'mpc.portalhq.io', mpcVersion = 'v4', gatewayConfig = {}, }) {
34
34
  // Handle required fields
35
35
  if (!apiKey || apiKey.length === 0) {
36
36
  throw new InvalidApiKeyError();
@@ -10,8 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { NativeModules } from 'react-native';
11
11
  import { PortalMpcError, } from '@portal-hq/utils';
12
12
  class MpcSigner {
13
- constructor({ keychain, mpcUrl, mpcVersion = 'v3' }) {
14
- this.mpcVersion = 'v3';
13
+ constructor({ keychain, mpcUrl, mpcVersion = 'v4' }) {
14
+ this.mpcVersion = 'v4';
15
15
  this.buildParams = (method, txParams) => {
16
16
  let params = txParams;
17
17
  switch (method) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portal-hq/provider",
3
- "version": "0.3.8",
3
+ "version": "1.0.1",
4
4
  "license": "MIT",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/esm/index",
@@ -19,7 +19,7 @@
19
19
  "test": "jest"
20
20
  },
21
21
  "dependencies": {
22
- "@portal-hq/utils": "^0.3.8"
22
+ "@portal-hq/utils": "^1.0.1"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@babel/preset-typescript": "^7.18.6",
@@ -29,5 +29,5 @@
29
29
  "ts-jest": "^29.0.3",
30
30
  "typescript": "^4.8.4"
31
31
  },
32
- "gitHead": "0bcfd2f4399118cf5bb541e3f347778828ad994f"
32
+ "gitHead": "3d6be3c95922b6bed09fcc59351806fd63557fa3"
33
33
  }
@@ -67,7 +67,7 @@ class Provider {
67
67
  apiUrl = 'api.portalhq.io',
68
68
  autoApprove = false,
69
69
  mpcUrl = 'mpc.portalhq.io',
70
- mpcVersion = 'v3',
70
+ mpcVersion = 'v4',
71
71
  gatewayConfig = {},
72
72
  }: ProviderOptions) {
73
73
  // Handle required fields
@@ -20,9 +20,9 @@ class MpcSigner implements Signer {
20
20
  public address?: string
21
21
  public keychain: KeychainAdapter
22
22
  public mpcUrl: string // should we add a default here mpc.portalhq.io
23
- public mpcVersion: string = 'v3'
23
+ public mpcVersion: string = 'v4'
24
24
 
25
- constructor({ keychain, mpcUrl, mpcVersion = 'v3' }: MpcSignerOptions) {
25
+ constructor({ keychain, mpcUrl, mpcVersion = 'v4' }: MpcSignerOptions) {
26
26
  this.keychain = keychain
27
27
  this.mpc = NativeModules.PortalMobileMpc
28
28
  this.mpcUrl = mpcUrl
@@ -1,52 +0,0 @@
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
- const utils_1 = require("@portal-hq/utils");
13
- class HttpRequester {
14
- constructor({ baseUrl }) {
15
- this.baseUrl = baseUrl.startsWith('https://')
16
- ? baseUrl
17
- : `https://${baseUrl}`;
18
- }
19
- get(path, options) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- const requestOptions = {
22
- method: 'GET',
23
- url: `${this.baseUrl}${path}`,
24
- };
25
- if (options && options.headers) {
26
- requestOptions.headers = this.buildHeaders(options.headers);
27
- }
28
- const request = new utils_1.HttpRequest(requestOptions);
29
- const response = (yield request.send());
30
- return response;
31
- });
32
- }
33
- post(path, options) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const requestOptions = {
36
- method: 'POST',
37
- url: `${this.baseUrl}${path}`,
38
- };
39
- requestOptions.headers = this.buildHeaders(options && options.headers ? options.headers : {});
40
- if (options && options.body) {
41
- requestOptions.body = options.body;
42
- }
43
- const request = new utils_1.HttpRequest(requestOptions);
44
- const response = (yield request.send());
45
- return response;
46
- });
47
- }
48
- buildHeaders(headers) {
49
- return Object.assign({ 'Content-Type': 'application/json' }, headers);
50
- }
51
- }
52
- exports.default = HttpRequester;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HttpRequester = void 0;
7
- var http_1 = require("./http");
8
- Object.defineProperty(exports, "HttpRequester", { enumerable: true, get: function () { return __importDefault(http_1).default; } });
@@ -1,56 +0,0 @@
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
- const utils_1 = require("@portal-hq/utils");
13
- class HttpSigner {
14
- constructor(opts) {
15
- if (!opts.portal) {
16
- throw new utils_1.MissingOptionError({
17
- className: 'HttpSigner',
18
- option: 'portal',
19
- });
20
- }
21
- this.keychain = opts.keychain;
22
- this.portal = opts.portal;
23
- }
24
- sign(message, provider) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const address = yield this.keychain.getAddress();
27
- const { chainId, method, params } = message;
28
- switch (method) {
29
- case 'eth_requestAccounts':
30
- return [address];
31
- case 'eth_accounts':
32
- return [address];
33
- default:
34
- break;
35
- }
36
- console.log(`[Portal:HttpSigner] Requesting signature from exchange for:`, JSON.stringify({
37
- chainId,
38
- method,
39
- params: JSON.stringify([params]),
40
- }, null, 2));
41
- const signatureResponse = yield this.portal.post('/api/v1/clients/transactions/sign', {
42
- body: {
43
- chainId,
44
- method,
45
- params: JSON.stringify([params]),
46
- },
47
- headers: {
48
- Authorization: `Bearer ${provider.apiKey}`,
49
- 'Content-Type': 'application/json',
50
- },
51
- });
52
- return signatureResponse;
53
- });
54
- }
55
- }
56
- exports.default = HttpSigner;
@@ -1,50 +0,0 @@
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 { HttpRequest, } from '@portal-hq/utils';
11
- class HttpRequester {
12
- constructor({ baseUrl }) {
13
- this.baseUrl = baseUrl.startsWith('https://')
14
- ? baseUrl
15
- : `https://${baseUrl}`;
16
- }
17
- get(path, options) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- const requestOptions = {
20
- method: 'GET',
21
- url: `${this.baseUrl}${path}`,
22
- };
23
- if (options && options.headers) {
24
- requestOptions.headers = this.buildHeaders(options.headers);
25
- }
26
- const request = new HttpRequest(requestOptions);
27
- const response = (yield request.send());
28
- return response;
29
- });
30
- }
31
- post(path, options) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- const requestOptions = {
34
- method: 'POST',
35
- url: `${this.baseUrl}${path}`,
36
- };
37
- requestOptions.headers = this.buildHeaders(options && options.headers ? options.headers : {});
38
- if (options && options.body) {
39
- requestOptions.body = options.body;
40
- }
41
- const request = new HttpRequest(requestOptions);
42
- const response = (yield request.send());
43
- return response;
44
- });
45
- }
46
- buildHeaders(headers) {
47
- return Object.assign({ 'Content-Type': 'application/json' }, headers);
48
- }
49
- }
50
- export default HttpRequester;
@@ -1 +0,0 @@
1
- export { default as HttpRequester } from './http';
@@ -1,54 +0,0 @@
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 { MissingOptionError, } from '@portal-hq/utils';
11
- class HttpSigner {
12
- constructor(opts) {
13
- if (!opts.portal) {
14
- throw new MissingOptionError({
15
- className: 'HttpSigner',
16
- option: 'portal',
17
- });
18
- }
19
- this.keychain = opts.keychain;
20
- this.portal = opts.portal;
21
- }
22
- sign(message, provider) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const address = yield this.keychain.getAddress();
25
- const { chainId, method, params } = message;
26
- switch (method) {
27
- case 'eth_requestAccounts':
28
- return [address];
29
- case 'eth_accounts':
30
- return [address];
31
- default:
32
- break;
33
- }
34
- console.log(`[Portal:HttpSigner] Requesting signature from exchange for:`, JSON.stringify({
35
- chainId,
36
- method,
37
- params: JSON.stringify([params]),
38
- }, null, 2));
39
- const signatureResponse = yield this.portal.post('/api/v1/clients/transactions/sign', {
40
- body: {
41
- chainId,
42
- method,
43
- params: JSON.stringify([params]),
44
- },
45
- headers: {
46
- Authorization: `Bearer ${provider.apiKey}`,
47
- 'Content-Type': 'application/json',
48
- },
49
- });
50
- return signatureResponse;
51
- });
52
- }
53
- }
54
- export default HttpSigner;