@onekeyfe/onekey-near-provider 0.0.5 → 0.0.7-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.
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
#
|
|
1
|
+
# cross-inpage-provider
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { ProviderNearBase } from './ProviderNearBase';
|
|
3
2
|
import { IJsonRpcRequest } from '@onekeyfe/cross-inpage-provider-types';
|
|
3
|
+
import { IInpageProviderConfig } from '@onekeyfe/cross-inpage-provider-core';
|
|
4
4
|
import { Account, Connection, transactions } from 'near-api-js';
|
|
5
5
|
import type { Action as NearTransactionAction, Transaction as NearTransaction } from 'near-api-js/lib/transaction';
|
|
6
6
|
import type { AccessKeyInfoView, FinalExecutionOutcome } from 'near-api-js/lib/providers/provider';
|
|
7
|
-
import {
|
|
7
|
+
import { ProviderNearBase } from './ProviderNearBase';
|
|
8
8
|
export declare type NearAccountInfo = {
|
|
9
9
|
accountId: string;
|
|
10
10
|
publicKey: string;
|
|
@@ -127,7 +127,7 @@ declare class OneKeyNearProvider extends ProviderNearBase {
|
|
|
127
127
|
_isInstalled: boolean;
|
|
128
128
|
_isInstalledDetected: boolean;
|
|
129
129
|
_isUnlocked: boolean;
|
|
130
|
-
constructor({ connection, networkId, enablePageReload, connectEagerly, timeout, logger, keyPrefix, transactionCreator, bridge, shouldSendMetadata, maxEventListeners, }
|
|
130
|
+
constructor({ connection, networkId, enablePageReload, connectEagerly, timeout, logger, keyPrefix, transactionCreator, bridge, shouldSendMetadata, maxEventListeners, }?: OneKeyNearWalletProps);
|
|
131
131
|
_initializedEmitted: boolean;
|
|
132
132
|
detectWalletInstalled(): Promise<boolean>;
|
|
133
133
|
_registerEvents(): void;
|
|
@@ -8,19 +8,25 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
10
|
import depd from 'depd';
|
|
11
|
-
import {
|
|
11
|
+
import { getOrCreateExtInjectedJsBridge } from '@onekeyfe/extension-bridge-injected';
|
|
12
|
+
import { web3Errors } from '@onekeyfe/cross-inpage-provider-errors';
|
|
12
13
|
import entries from 'lodash/entries';
|
|
13
14
|
import isString from 'lodash/isString';
|
|
14
15
|
import { baseEncode, baseDecode } from 'borsh';
|
|
15
16
|
import { Account, utils, transactions } from 'near-api-js';
|
|
16
|
-
import {
|
|
17
|
-
import { web3Errors } from '@onekeyfe/cross-inpage-provider-errors';
|
|
17
|
+
import { ProviderNearBase } from './ProviderNearBase';
|
|
18
18
|
function serializeTransaction({ transaction }) {
|
|
19
19
|
if (isString(transaction)) {
|
|
20
20
|
return transaction;
|
|
21
21
|
}
|
|
22
22
|
const message = transaction.encode();
|
|
23
|
-
|
|
23
|
+
// const hash = new Uint8Array(sha256.sha256.array(message));
|
|
24
|
+
if (typeof Buffer !== 'undefined' && Buffer.from) {
|
|
25
|
+
return Buffer.from(message).toString('base64');
|
|
26
|
+
}
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
return message.toString('base64');
|
|
24
30
|
}
|
|
25
31
|
const DEFAULT_AUTH_DATA = {
|
|
26
32
|
accountId: '',
|
|
@@ -68,7 +74,7 @@ function defaultTransactionCreator({ accountId, publicKey, receiverId, nonce, ac
|
|
|
68
74
|
// @ts-ignore
|
|
69
75
|
class OneKeyNearProvider extends ProviderNearBase {
|
|
70
76
|
// TODO package.json version (process.env.npm_package_version)
|
|
71
|
-
constructor({ connection, networkId, enablePageReload, connectEagerly =
|
|
77
|
+
constructor({ connection, networkId, enablePageReload, connectEagerly = true, timeout, logger, keyPrefix = '', transactionCreator, bridge, shouldSendMetadata = true, maxEventListeners, } = {}) {
|
|
72
78
|
super({
|
|
73
79
|
bridge: bridge || getOrCreateExtInjectedJsBridge({ timeout }),
|
|
74
80
|
logger,
|
|
@@ -76,7 +82,7 @@ class OneKeyNearProvider extends ProviderNearBase {
|
|
|
76
82
|
maxEventListeners,
|
|
77
83
|
});
|
|
78
84
|
this._enablePageReload = false;
|
|
79
|
-
this._connectEagerly =
|
|
85
|
+
this._connectEagerly = true;
|
|
80
86
|
this._authData = DEFAULT_AUTH_DATA;
|
|
81
87
|
this._authDataKey = '@OneKeyNearWalletAuthData';
|
|
82
88
|
this._networkId = '';
|
|
@@ -211,6 +217,7 @@ class OneKeyNearProvider extends ProviderNearBase {
|
|
|
211
217
|
_handleUnlockStateChanged(payload) {
|
|
212
218
|
const isUnlocked = payload === null || payload === void 0 ? void 0 : payload.isUnlocked;
|
|
213
219
|
if (typeof isUnlocked !== 'boolean') {
|
|
220
|
+
// TODO log same error only once
|
|
214
221
|
console.error('Received invalid isUnlocked parameter. Please report this bug.');
|
|
215
222
|
return;
|
|
216
223
|
}
|
|
@@ -303,7 +310,7 @@ class OneKeyNearProvider extends ProviderNearBase {
|
|
|
303
310
|
return this._authData || DEFAULT_AUTH_DATA;
|
|
304
311
|
}
|
|
305
312
|
getNetworkInfo() {
|
|
306
|
-
return this._selectedNetwork;
|
|
313
|
+
return this._selectedNetwork || DEFAULT_NETWORK_INFO;
|
|
307
314
|
}
|
|
308
315
|
_saveAuthData(data) {
|
|
309
316
|
localStorage.setItem(this._authDataKey, JSON.stringify(data));
|
|
@@ -479,6 +486,8 @@ class OneKeyWalletAccount extends Account {
|
|
|
479
486
|
super(connection, accountId);
|
|
480
487
|
this._wallet = wallet;
|
|
481
488
|
}
|
|
489
|
+
// TODO
|
|
490
|
+
// state()
|
|
482
491
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
483
492
|
// @ts-ignore
|
|
484
493
|
signAndSendTransaction(signAndSendTransactionOptions) {
|
|
@@ -493,6 +502,7 @@ class OneKeyWalletAccount extends Account {
|
|
|
493
502
|
actions: args[1],
|
|
494
503
|
};
|
|
495
504
|
}
|
|
505
|
+
// TODO walletMeta, walletCallbackUrl
|
|
496
506
|
const { receiverId, actions, meta, callbackUrl } = options;
|
|
497
507
|
const transaction = yield this.createTransaction({
|
|
498
508
|
receiverId,
|
|
@@ -14,19 +14,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.serializeTransaction = exports.OneKeyWalletAccount = exports.OneKeyNearProvider = void 0;
|
|
16
16
|
const depd_1 = __importDefault(require("depd"));
|
|
17
|
-
const
|
|
17
|
+
const extension_bridge_injected_1 = require("@onekeyfe/extension-bridge-injected");
|
|
18
|
+
const cross_inpage_provider_errors_1 = require("@onekeyfe/cross-inpage-provider-errors");
|
|
18
19
|
const entries_1 = __importDefault(require("lodash/entries"));
|
|
19
20
|
const isString_1 = __importDefault(require("lodash/isString"));
|
|
20
21
|
const borsh_1 = require("borsh");
|
|
21
22
|
const near_api_js_1 = require("near-api-js");
|
|
22
|
-
const
|
|
23
|
-
const cross_inpage_provider_errors_1 = require("@onekeyfe/cross-inpage-provider-errors");
|
|
23
|
+
const ProviderNearBase_1 = require("./ProviderNearBase");
|
|
24
24
|
function serializeTransaction({ transaction }) {
|
|
25
25
|
if ((0, isString_1.default)(transaction)) {
|
|
26
26
|
return transaction;
|
|
27
27
|
}
|
|
28
28
|
const message = transaction.encode();
|
|
29
|
-
|
|
29
|
+
// const hash = new Uint8Array(sha256.sha256.array(message));
|
|
30
|
+
if (typeof Buffer !== 'undefined' && Buffer.from) {
|
|
31
|
+
return Buffer.from(message).toString('base64');
|
|
32
|
+
}
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
return message.toString('base64');
|
|
30
36
|
}
|
|
31
37
|
exports.serializeTransaction = serializeTransaction;
|
|
32
38
|
const DEFAULT_AUTH_DATA = {
|
|
@@ -75,7 +81,7 @@ function defaultTransactionCreator({ accountId, publicKey, receiverId, nonce, ac
|
|
|
75
81
|
// @ts-ignore
|
|
76
82
|
class OneKeyNearProvider extends ProviderNearBase_1.ProviderNearBase {
|
|
77
83
|
// TODO package.json version (process.env.npm_package_version)
|
|
78
|
-
constructor({ connection, networkId, enablePageReload, connectEagerly =
|
|
84
|
+
constructor({ connection, networkId, enablePageReload, connectEagerly = true, timeout, logger, keyPrefix = '', transactionCreator, bridge, shouldSendMetadata = true, maxEventListeners, } = {}) {
|
|
79
85
|
super({
|
|
80
86
|
bridge: bridge || (0, extension_bridge_injected_1.getOrCreateExtInjectedJsBridge)({ timeout }),
|
|
81
87
|
logger,
|
|
@@ -83,7 +89,7 @@ class OneKeyNearProvider extends ProviderNearBase_1.ProviderNearBase {
|
|
|
83
89
|
maxEventListeners,
|
|
84
90
|
});
|
|
85
91
|
this._enablePageReload = false;
|
|
86
|
-
this._connectEagerly =
|
|
92
|
+
this._connectEagerly = true;
|
|
87
93
|
this._authData = DEFAULT_AUTH_DATA;
|
|
88
94
|
this._authDataKey = '@OneKeyNearWalletAuthData';
|
|
89
95
|
this._networkId = '';
|
|
@@ -218,6 +224,7 @@ class OneKeyNearProvider extends ProviderNearBase_1.ProviderNearBase {
|
|
|
218
224
|
_handleUnlockStateChanged(payload) {
|
|
219
225
|
const isUnlocked = payload === null || payload === void 0 ? void 0 : payload.isUnlocked;
|
|
220
226
|
if (typeof isUnlocked !== 'boolean') {
|
|
227
|
+
// TODO log same error only once
|
|
221
228
|
console.error('Received invalid isUnlocked parameter. Please report this bug.');
|
|
222
229
|
return;
|
|
223
230
|
}
|
|
@@ -310,7 +317,7 @@ class OneKeyNearProvider extends ProviderNearBase_1.ProviderNearBase {
|
|
|
310
317
|
return this._authData || DEFAULT_AUTH_DATA;
|
|
311
318
|
}
|
|
312
319
|
getNetworkInfo() {
|
|
313
|
-
return this._selectedNetwork;
|
|
320
|
+
return this._selectedNetwork || DEFAULT_NETWORK_INFO;
|
|
314
321
|
}
|
|
315
322
|
_saveAuthData(data) {
|
|
316
323
|
localStorage.setItem(this._authDataKey, JSON.stringify(data));
|
|
@@ -487,6 +494,8 @@ class OneKeyWalletAccount extends near_api_js_1.Account {
|
|
|
487
494
|
super(connection, accountId);
|
|
488
495
|
this._wallet = wallet;
|
|
489
496
|
}
|
|
497
|
+
// TODO
|
|
498
|
+
// state()
|
|
490
499
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
491
500
|
// @ts-ignore
|
|
492
501
|
signAndSendTransaction(signAndSendTransactionOptions) {
|
|
@@ -501,6 +510,7 @@ class OneKeyWalletAccount extends near_api_js_1.Account {
|
|
|
501
510
|
actions: args[1],
|
|
502
511
|
};
|
|
503
512
|
}
|
|
513
|
+
// TODO walletMeta, walletCallbackUrl
|
|
504
514
|
const { receiverId, actions, meta, callbackUrl } = options;
|
|
505
515
|
const transaction = yield this.createTransaction({
|
|
506
516
|
receiverId,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onekeyfe/onekey-near-provider",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7-alpha.2",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"cross-inpage-provider"
|
|
6
6
|
],
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
"near-api-js": "^0.44.2"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@onekeyfe/cross-inpage-provider-core": "^0.0.
|
|
39
|
-
"@onekeyfe/cross-inpage-provider-errors": "^0.0.
|
|
40
|
-
"@onekeyfe/cross-inpage-provider-types": "^0.0.
|
|
41
|
-
"@onekeyfe/extension-bridge-injected": "^0.0.
|
|
38
|
+
"@onekeyfe/cross-inpage-provider-core": "^0.0.7-alpha.2",
|
|
39
|
+
"@onekeyfe/cross-inpage-provider-errors": "^0.0.7-alpha.2",
|
|
40
|
+
"@onekeyfe/cross-inpage-provider-types": "^0.0.7-alpha.2",
|
|
41
|
+
"@onekeyfe/extension-bridge-injected": "^0.0.7-alpha.2",
|
|
42
42
|
"borsh": "^0.6.0",
|
|
43
43
|
"depd": "^2.0.0",
|
|
44
44
|
"tweetnacl": "^1.0.3"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "ed05282b43f00a712dae7f62ea12063eb56c8cce"
|
|
47
47
|
}
|