@eluvio/elv-client-js 4.0.10 → 4.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.
- package/dist/ElvClient-min.js +10 -11
- package/dist/ElvClient-node-min.js +10 -11
- package/dist/ElvFrameClient-min.js +10 -11
- package/dist/ElvPermissionsClient-min.js +9 -10
- package/dist/ElvWalletClient-min.js +9 -10
- package/dist/ElvWalletClient-node-min.js +9 -10
- package/dist/src/AuthorizationClient.js +2070 -1550
- package/dist/src/ContentObjectVerification.js +185 -134
- package/dist/src/Crypto.js +319 -224
- package/dist/src/ElvClient.js +1114 -822
- package/dist/src/ElvWallet.js +106 -64
- package/dist/src/EthClient.js +974 -719
- package/dist/src/FrameClient.js +318 -222
- package/dist/src/HttpClient.js +154 -112
- package/dist/src/Id.js +6 -1
- package/dist/src/LogMessage.js +8 -4
- package/dist/src/PermissionsClient.js +1271 -973
- package/dist/src/RemoteSigner.js +232 -161
- package/dist/src/UserProfileClient.js +1038 -781
- package/dist/src/Utils.js +299 -159
- package/dist/src/Validation.js +17 -2
- package/dist/src/client/ABRPublishing.js +942 -772
- package/dist/src/client/AccessGroups.js +1095 -849
- package/dist/src/client/ContentAccess.js +4196 -3323
- package/dist/src/client/ContentManagement.js +2288 -1814
- package/dist/src/client/Contracts.js +614 -468
- package/dist/src/client/Files.js +1831 -1490
- package/dist/src/client/NFT.js +116 -94
- package/dist/src/client/NTP.js +425 -326
- package/dist/src/index.js +5 -2
- package/dist/src/walletClient/ClientMethods.js +1763 -1368
- package/dist/src/walletClient/Configuration.js +2 -4
- package/dist/src/walletClient/Notifications.js +127 -98
- package/dist/src/walletClient/Profile.js +246 -184
- package/dist/src/walletClient/Utils.js +122 -76
- package/dist/src/walletClient/index.js +1496 -1171
- package/package.json +1 -1
- package/src/AuthorizationClient.js +5 -5
- package/src/client/Files.js +1 -1
- package/testScripts/CreateMezMonolithic.js +0 -779
package/dist/src/RemoteSigner.js
CHANGED
|
@@ -1,33 +1,51 @@
|
|
|
1
1
|
var _regeneratorRuntime = require("@babel/runtime/regenerator");
|
|
2
|
+
|
|
2
3
|
var _asyncToGenerator = require("@babel/runtime/helpers/asyncToGenerator");
|
|
4
|
+
|
|
3
5
|
var _classCallCheck = require("@babel/runtime/helpers/classCallCheck");
|
|
6
|
+
|
|
4
7
|
var _createClass = require("@babel/runtime/helpers/createClass");
|
|
8
|
+
|
|
5
9
|
var _inherits = require("@babel/runtime/helpers/inherits");
|
|
10
|
+
|
|
6
11
|
var _possibleConstructorReturn = require("@babel/runtime/helpers/possibleConstructorReturn");
|
|
12
|
+
|
|
7
13
|
var _getPrototypeOf = require("@babel/runtime/helpers/getPrototypeOf");
|
|
14
|
+
|
|
8
15
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
16
|
+
|
|
9
17
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
18
|
+
|
|
10
19
|
var Ethers = require("ethers");
|
|
20
|
+
|
|
11
21
|
var Utils = require("./Utils");
|
|
22
|
+
|
|
12
23
|
var HttpClient = require("./HttpClient");
|
|
24
|
+
|
|
13
25
|
var UrlJoin = require("url-join");
|
|
26
|
+
|
|
14
27
|
var RemoteSigner = /*#__PURE__*/function (_Ethers$Signer) {
|
|
15
28
|
"use strict";
|
|
16
29
|
|
|
17
30
|
_inherits(RemoteSigner, _Ethers$Signer);
|
|
31
|
+
|
|
18
32
|
var _super = _createSuper(RemoteSigner);
|
|
33
|
+
|
|
19
34
|
function RemoteSigner(_ref) {
|
|
20
35
|
var _this;
|
|
36
|
+
|
|
21
37
|
var signerURIs = _ref.signerURIs,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
38
|
+
idToken = _ref.idToken,
|
|
39
|
+
authToken = _ref.authToken,
|
|
40
|
+
tenantId = _ref.tenantId,
|
|
41
|
+
provider = _ref.provider,
|
|
42
|
+
_ref$extraData = _ref.extraData,
|
|
43
|
+
extraData = _ref$extraData === void 0 ? {} : _ref$extraData,
|
|
44
|
+
_ref$unsignedPublicAu = _ref.unsignedPublicAuth,
|
|
45
|
+
unsignedPublicAuth = _ref$unsignedPublicAu === void 0 ? false : _ref$unsignedPublicAu;
|
|
46
|
+
|
|
30
47
|
_classCallCheck(this, RemoteSigner);
|
|
48
|
+
|
|
31
49
|
_this = _super.call(this);
|
|
32
50
|
_this.remoteSigner = true;
|
|
33
51
|
_this.unsignedPublicAuth = unsignedPublicAuth;
|
|
@@ -42,148 +60,177 @@ var RemoteSigner = /*#__PURE__*/function (_Ethers$Signer) {
|
|
|
42
60
|
_this.signatureCache = {};
|
|
43
61
|
return _this;
|
|
44
62
|
}
|
|
63
|
+
|
|
45
64
|
_createClass(RemoteSigner, [{
|
|
46
65
|
key: "Initialize",
|
|
47
66
|
value: function () {
|
|
48
67
|
var _Initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
49
68
|
var _yield$Utils$Response, addr, eth, token, keys, address;
|
|
69
|
+
|
|
50
70
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
51
|
-
while (1)
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
while (1) {
|
|
72
|
+
switch (_context.prev = _context.next) {
|
|
73
|
+
case 0:
|
|
74
|
+
if (this.authToken) {
|
|
75
|
+
_context.next = 10;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
_context.next = 3;
|
|
80
|
+
return Utils.ResponseToJson(this.HttpClient.Request({
|
|
81
|
+
path: UrlJoin("as", "wlt", "login", "jwt"),
|
|
82
|
+
method: "POST",
|
|
83
|
+
body: this.tenantId ? {
|
|
84
|
+
tid: this.tenantId,
|
|
85
|
+
ext: this.extraLoginData || {}
|
|
86
|
+
} : {
|
|
87
|
+
ext: this.extraLoginData || {}
|
|
88
|
+
},
|
|
89
|
+
headers: {
|
|
90
|
+
Authorization: "Bearer ".concat(this.idToken)
|
|
91
|
+
}
|
|
92
|
+
}));
|
|
93
|
+
|
|
94
|
+
case 3:
|
|
95
|
+
_yield$Utils$Response = _context.sent;
|
|
96
|
+
addr = _yield$Utils$Response.addr;
|
|
97
|
+
eth = _yield$Utils$Response.eth;
|
|
98
|
+
token = _yield$Utils$Response.token;
|
|
99
|
+
this.authToken = token;
|
|
100
|
+
this.address = Utils.FormatAddress(addr);
|
|
101
|
+
this.id = eth;
|
|
102
|
+
|
|
103
|
+
case 10:
|
|
104
|
+
if (this.address) {
|
|
105
|
+
_context.next = 16;
|
|
106
|
+
break;
|
|
69
107
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
headers: {
|
|
89
|
-
Authorization: "Bearer ".concat(this.authToken)
|
|
108
|
+
|
|
109
|
+
_context.next = 13;
|
|
110
|
+
return Utils.ResponseToJson(this.HttpClient.Request({
|
|
111
|
+
method: "GET",
|
|
112
|
+
path: UrlJoin("as", "wlt", "keys"),
|
|
113
|
+
headers: {
|
|
114
|
+
Authorization: "Bearer ".concat(this.authToken)
|
|
115
|
+
}
|
|
116
|
+
}));
|
|
117
|
+
|
|
118
|
+
case 13:
|
|
119
|
+
keys = _context.sent;
|
|
120
|
+
address = keys.eth[0];
|
|
121
|
+
|
|
122
|
+
if (address && address.startsWith("0x")) {
|
|
123
|
+
this.address = address;
|
|
124
|
+
} else {
|
|
125
|
+
this.address = Utils.HashToAddress(keys.eth[0]);
|
|
90
126
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
case 16:
|
|
101
|
-
this.id = this.address ? "ikms".concat(Utils.AddressToHash(this.address)) : undefined;
|
|
102
|
-
this.signer = this.provider.getSigner(this.address);
|
|
103
|
-
case 18:
|
|
104
|
-
case "end":
|
|
105
|
-
return _context.stop();
|
|
127
|
+
|
|
128
|
+
case 16:
|
|
129
|
+
this.id = this.address ? "ikms".concat(Utils.AddressToHash(this.address)) : undefined;
|
|
130
|
+
this.signer = this.provider.getSigner(this.address);
|
|
131
|
+
|
|
132
|
+
case 18:
|
|
133
|
+
case "end":
|
|
134
|
+
return _context.stop();
|
|
135
|
+
}
|
|
106
136
|
}
|
|
107
137
|
}, _callee, this);
|
|
108
138
|
}));
|
|
139
|
+
|
|
109
140
|
function Initialize() {
|
|
110
141
|
return _Initialize.apply(this, arguments);
|
|
111
142
|
}
|
|
143
|
+
|
|
112
144
|
return Initialize;
|
|
113
145
|
}() // Overrides
|
|
146
|
+
|
|
114
147
|
}, {
|
|
115
148
|
key: "getAddress",
|
|
116
149
|
value: function getAddress() {
|
|
117
150
|
return this.address;
|
|
118
151
|
}
|
|
119
|
-
|
|
120
152
|
/**
|
|
121
153
|
* Sign a hashed piece of data
|
|
122
154
|
* @param {String} digest - Hex string of hashed data
|
|
123
155
|
* @returns - the signed message as a hex string
|
|
124
156
|
*/
|
|
157
|
+
|
|
125
158
|
}, {
|
|
126
159
|
key: "signDigest",
|
|
127
160
|
value: function () {
|
|
128
161
|
var _signDigest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(digest) {
|
|
129
162
|
var _this2 = this;
|
|
163
|
+
|
|
130
164
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
131
|
-
while (1)
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
this.signatureCache[digest]
|
|
135
|
-
|
|
136
|
-
var
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
_context2.prev =
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
165
|
+
while (1) {
|
|
166
|
+
switch (_context3.prev = _context3.next) {
|
|
167
|
+
case 0:
|
|
168
|
+
if (!this.signatureCache[digest]) {
|
|
169
|
+
this.signatureCache[digest] = new Promise( /*#__PURE__*/function () {
|
|
170
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve, reject) {
|
|
171
|
+
var signature;
|
|
172
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
173
|
+
while (1) {
|
|
174
|
+
switch (_context2.prev = _context2.next) {
|
|
175
|
+
case 0:
|
|
176
|
+
_context2.prev = 0;
|
|
177
|
+
_context2.next = 3;
|
|
178
|
+
return Utils.ResponseToJson(_this2.HttpClient.Request({
|
|
179
|
+
method: "POST",
|
|
180
|
+
path: UrlJoin("as", "wlt", "sign", "eth", _this2.id),
|
|
181
|
+
headers: {
|
|
182
|
+
Authorization: "Bearer ".concat(_this2.authToken)
|
|
183
|
+
},
|
|
184
|
+
body: {
|
|
185
|
+
hash: digest
|
|
186
|
+
}
|
|
187
|
+
}));
|
|
188
|
+
|
|
189
|
+
case 3:
|
|
190
|
+
signature = _context2.sent;
|
|
191
|
+
signature.v = parseInt(signature.v, 16);
|
|
192
|
+
signature.recoveryParam = signature.v - 27;
|
|
193
|
+
resolve(signature);
|
|
194
|
+
_context2.next = 12;
|
|
195
|
+
break;
|
|
196
|
+
|
|
197
|
+
case 9:
|
|
198
|
+
_context2.prev = 9;
|
|
199
|
+
_context2.t0 = _context2["catch"](0);
|
|
200
|
+
reject(_context2.t0);
|
|
201
|
+
|
|
202
|
+
case 12:
|
|
203
|
+
case "end":
|
|
204
|
+
return _context2.stop();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}, _callee2, null, [[0, 9]]);
|
|
208
|
+
}));
|
|
209
|
+
|
|
210
|
+
return function (_x2, _x3) {
|
|
211
|
+
return _ref2.apply(this, arguments);
|
|
212
|
+
};
|
|
213
|
+
}());
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
_context3.next = 3;
|
|
217
|
+
return this.signatureCache[digest];
|
|
218
|
+
|
|
219
|
+
case 3:
|
|
220
|
+
return _context3.abrupt("return", _context3.sent);
|
|
221
|
+
|
|
222
|
+
case 4:
|
|
223
|
+
case "end":
|
|
224
|
+
return _context3.stop();
|
|
225
|
+
}
|
|
181
226
|
}
|
|
182
227
|
}, _callee3, this);
|
|
183
228
|
}));
|
|
229
|
+
|
|
184
230
|
function signDigest(_x) {
|
|
185
231
|
return _signDigest.apply(this, arguments);
|
|
186
232
|
}
|
|
233
|
+
|
|
187
234
|
return signDigest;
|
|
188
235
|
}()
|
|
189
236
|
}, {
|
|
@@ -191,27 +238,33 @@ var RemoteSigner = /*#__PURE__*/function (_Ethers$Signer) {
|
|
|
191
238
|
value: function () {
|
|
192
239
|
var _signMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(message) {
|
|
193
240
|
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
194
|
-
while (1)
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
241
|
+
while (1) {
|
|
242
|
+
switch (_context4.prev = _context4.next) {
|
|
243
|
+
case 0:
|
|
244
|
+
_context4.t0 = Promise;
|
|
245
|
+
_context4.t1 = Ethers.utils;
|
|
246
|
+
_context4.t2 = "0x";
|
|
247
|
+
_context4.next = 5;
|
|
248
|
+
return this.signDigest(Ethers.utils.hashMessage(message));
|
|
249
|
+
|
|
250
|
+
case 5:
|
|
251
|
+
_context4.t3 = _context4.sent;
|
|
252
|
+
_context4.t4 = _context4.t2.concat.call(_context4.t2, _context4.t3);
|
|
253
|
+
_context4.t5 = _context4.t1.joinSignature.call(_context4.t1, _context4.t4);
|
|
254
|
+
return _context4.abrupt("return", _context4.t0.resolve.call(_context4.t0, _context4.t5));
|
|
255
|
+
|
|
256
|
+
case 9:
|
|
257
|
+
case "end":
|
|
258
|
+
return _context4.stop();
|
|
259
|
+
}
|
|
209
260
|
}
|
|
210
261
|
}, _callee4, this);
|
|
211
262
|
}));
|
|
263
|
+
|
|
212
264
|
function signMessage(_x4) {
|
|
213
265
|
return _signMessage.apply(this, arguments);
|
|
214
266
|
}
|
|
267
|
+
|
|
215
268
|
return signMessage;
|
|
216
269
|
}()
|
|
217
270
|
}, {
|
|
@@ -220,26 +273,33 @@ var RemoteSigner = /*#__PURE__*/function (_Ethers$Signer) {
|
|
|
220
273
|
var _sign = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(transaction) {
|
|
221
274
|
var signature;
|
|
222
275
|
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
223
|
-
while (1)
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
276
|
+
while (1) {
|
|
277
|
+
switch (_context5.prev = _context5.next) {
|
|
278
|
+
case 0:
|
|
279
|
+
_context5.next = 2;
|
|
280
|
+
return Ethers.utils.resolveProperties(transaction);
|
|
281
|
+
|
|
282
|
+
case 2:
|
|
283
|
+
transaction = _context5.sent;
|
|
284
|
+
_context5.next = 5;
|
|
285
|
+
return this.signDigest(Ethers.utils.keccak256(Ethers.utils.serializeTransaction(transaction)));
|
|
286
|
+
|
|
287
|
+
case 5:
|
|
288
|
+
signature = _context5.sent;
|
|
289
|
+
return _context5.abrupt("return", Ethers.utils.serializeTransaction(transaction, signature));
|
|
290
|
+
|
|
291
|
+
case 7:
|
|
292
|
+
case "end":
|
|
293
|
+
return _context5.stop();
|
|
294
|
+
}
|
|
237
295
|
}
|
|
238
296
|
}, _callee5, this);
|
|
239
297
|
}));
|
|
298
|
+
|
|
240
299
|
function sign(_x5) {
|
|
241
300
|
return _sign.apply(this, arguments);
|
|
242
301
|
}
|
|
302
|
+
|
|
243
303
|
return sign;
|
|
244
304
|
}()
|
|
245
305
|
}, {
|
|
@@ -247,39 +307,50 @@ var RemoteSigner = /*#__PURE__*/function (_Ethers$Signer) {
|
|
|
247
307
|
value: function () {
|
|
248
308
|
var _sendTransaction = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(transaction) {
|
|
249
309
|
var _this3 = this;
|
|
310
|
+
|
|
250
311
|
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
251
|
-
while (1)
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
312
|
+
while (1) {
|
|
313
|
+
switch (_context6.prev = _context6.next) {
|
|
314
|
+
case 0:
|
|
315
|
+
if (!(transaction.nonce == null)) {
|
|
316
|
+
_context6.next = 5;
|
|
317
|
+
break;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
transaction = Ethers.utils.shallowCopy(transaction);
|
|
321
|
+
_context6.next = 4;
|
|
322
|
+
return this.provider.getTransactionCount(this.address, "pending");
|
|
323
|
+
|
|
324
|
+
case 4:
|
|
325
|
+
transaction.nonce = _context6.sent;
|
|
326
|
+
|
|
327
|
+
case 5:
|
|
328
|
+
return _context6.abrupt("return", Ethers.utils.populateTransaction(transaction, this.provider, this.address).then(function (tx) {
|
|
329
|
+
return _this3.sign(tx).then(function (signedTransaction) {
|
|
330
|
+
return _this3.provider.sendTransaction(signedTransaction);
|
|
331
|
+
});
|
|
332
|
+
}));
|
|
333
|
+
|
|
334
|
+
case 6:
|
|
335
|
+
case "end":
|
|
336
|
+
return _context6.stop();
|
|
337
|
+
}
|
|
271
338
|
}
|
|
272
339
|
}, _callee6, this);
|
|
273
340
|
}));
|
|
341
|
+
|
|
274
342
|
function sendTransaction(_x6) {
|
|
275
343
|
return _sendTransaction.apply(this, arguments);
|
|
276
344
|
}
|
|
345
|
+
|
|
277
346
|
return sendTransaction;
|
|
278
347
|
}()
|
|
279
348
|
}, {
|
|
280
349
|
key: "connect",
|
|
281
350
|
value: function connect() {}
|
|
282
351
|
}]);
|
|
352
|
+
|
|
283
353
|
return RemoteSigner;
|
|
284
354
|
}(Ethers.Signer);
|
|
355
|
+
|
|
285
356
|
module.exports = RemoteSigner;
|