@kodiak-finance/orderly-default-evm-adapter 2.8.18-rc.1 → 2.8.19-rc.0
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/index.js +472 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +439 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,2 +1,473 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
10
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
+
var __spreadValues = (a, b) => {
|
|
14
|
+
for (var prop in b || (b = {}))
|
|
15
|
+
if (__hasOwnProp.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
if (__getOwnPropSymbols)
|
|
18
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
+
if (__propIsEnum.call(b, prop))
|
|
20
|
+
__defNormalProp(a, prop, b[prop]);
|
|
21
|
+
}
|
|
22
|
+
return a;
|
|
23
|
+
};
|
|
24
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
25
|
+
var __export = (target, all) => {
|
|
26
|
+
for (var name in all)
|
|
27
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
28
|
+
};
|
|
29
|
+
var __copyProps = (to, from, except, desc) => {
|
|
30
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
31
|
+
for (let key of __getOwnPropNames(from))
|
|
32
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
33
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
34
|
+
}
|
|
35
|
+
return to;
|
|
36
|
+
};
|
|
37
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
38
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
39
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
40
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
41
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
42
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
43
|
+
mod
|
|
44
|
+
));
|
|
45
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
46
|
+
var __publicField = (obj, key, value) => {
|
|
47
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
48
|
+
return value;
|
|
49
|
+
};
|
|
50
|
+
var __async = (__this, __arguments, generator) => {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
var fulfilled = (value) => {
|
|
53
|
+
try {
|
|
54
|
+
step(generator.next(value));
|
|
55
|
+
} catch (e) {
|
|
56
|
+
reject(e);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var rejected = (value) => {
|
|
60
|
+
try {
|
|
61
|
+
step(generator.throw(value));
|
|
62
|
+
} catch (e) {
|
|
63
|
+
reject(e);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
67
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// src/index.ts
|
|
72
|
+
var src_exports = {};
|
|
73
|
+
__export(src_exports, {
|
|
74
|
+
DefaultEVMWalletAdapter: () => DefaultEVMWalletAdapter,
|
|
75
|
+
version: () => version_default
|
|
76
|
+
});
|
|
77
|
+
module.exports = __toCommonJS(src_exports);
|
|
78
|
+
|
|
79
|
+
// src/version.ts
|
|
80
|
+
if (typeof window !== "undefined") {
|
|
81
|
+
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
82
|
+
window.__ORDERLY_VERSION__["@kodiak-finance/orderly-default-evm-adapter"] = "2.7.4";
|
|
83
|
+
}
|
|
84
|
+
var version_default = "2.7.4";
|
|
85
|
+
|
|
86
|
+
// src/walletAdapter.ts
|
|
87
|
+
var ed = __toESM(require("@noble/ed25519"));
|
|
88
|
+
var import_bs58 = require("bs58");
|
|
89
|
+
var import_orderly_core = require("@kodiak-finance/orderly-core");
|
|
90
|
+
var import_orderly_types2 = require("@kodiak-finance/orderly-types");
|
|
91
|
+
|
|
92
|
+
// src/helper.ts
|
|
93
|
+
var import_orderly_types = require("@kodiak-finance/orderly-types");
|
|
94
|
+
function withdrawMessage(inputs) {
|
|
95
|
+
return __async(this, null, function* () {
|
|
96
|
+
const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;
|
|
97
|
+
const primaryType = "Withdraw";
|
|
98
|
+
const timestamp = Date.now();
|
|
99
|
+
const typeDefinition = {
|
|
100
|
+
EIP712Domain: import_orderly_types.definedTypes.EIP712Domain,
|
|
101
|
+
[primaryType]: import_orderly_types.definedTypes[primaryType]
|
|
102
|
+
};
|
|
103
|
+
const message = {
|
|
104
|
+
brokerId,
|
|
105
|
+
chainId,
|
|
106
|
+
receiver,
|
|
107
|
+
token,
|
|
108
|
+
amount,
|
|
109
|
+
timestamp,
|
|
110
|
+
withdrawNonce: nonce
|
|
111
|
+
};
|
|
112
|
+
const toSignatureMessage = {
|
|
113
|
+
domain,
|
|
114
|
+
message,
|
|
115
|
+
primaryType,
|
|
116
|
+
types: typeDefinition
|
|
117
|
+
};
|
|
118
|
+
return [message, toSignatureMessage];
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function internalTransferMessage(inputs) {
|
|
122
|
+
return __async(this, null, function* () {
|
|
123
|
+
const { chainId, receiver, token, amount, nonce, domain } = inputs;
|
|
124
|
+
const primaryType = "InternalTransfer";
|
|
125
|
+
const typeDefinition = {
|
|
126
|
+
EIP712Domain: import_orderly_types.definedTypes.EIP712Domain,
|
|
127
|
+
[primaryType]: import_orderly_types.definedTypes[primaryType]
|
|
128
|
+
};
|
|
129
|
+
const message = {
|
|
130
|
+
chainId,
|
|
131
|
+
receiver,
|
|
132
|
+
token,
|
|
133
|
+
amount,
|
|
134
|
+
transferNonce: nonce
|
|
135
|
+
};
|
|
136
|
+
const toSignatureMessage = {
|
|
137
|
+
domain,
|
|
138
|
+
message,
|
|
139
|
+
primaryType,
|
|
140
|
+
types: typeDefinition
|
|
141
|
+
};
|
|
142
|
+
return [message, toSignatureMessage];
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
function addOrderlyKeyMessage(inputs) {
|
|
146
|
+
return __async(this, null, function* () {
|
|
147
|
+
const {
|
|
148
|
+
publicKey,
|
|
149
|
+
chainId,
|
|
150
|
+
// primaryType,
|
|
151
|
+
brokerId,
|
|
152
|
+
expiration = 365,
|
|
153
|
+
timestamp = Date.now(),
|
|
154
|
+
scope,
|
|
155
|
+
tag,
|
|
156
|
+
domain,
|
|
157
|
+
subAccountId
|
|
158
|
+
} = inputs;
|
|
159
|
+
const primaryType = "AddOrderlyKey";
|
|
160
|
+
const message = __spreadValues(__spreadValues({
|
|
161
|
+
brokerId,
|
|
162
|
+
orderlyKey: publicKey,
|
|
163
|
+
scope: scope || import_orderly_types.DEFAUL_ORDERLY_KEY_SCOPE,
|
|
164
|
+
chainId,
|
|
165
|
+
timestamp,
|
|
166
|
+
// chainType,
|
|
167
|
+
expiration: timestamp + 1e3 * 60 * 60 * 24 * expiration
|
|
168
|
+
}, typeof tag !== "undefined" ? { tag } : {}), typeof subAccountId !== "undefined" ? { subAccountId } : {});
|
|
169
|
+
const typeDefinition = {
|
|
170
|
+
EIP712Domain: import_orderly_types.definedTypes.EIP712Domain,
|
|
171
|
+
[primaryType]: import_orderly_types.definedTypes[primaryType]
|
|
172
|
+
};
|
|
173
|
+
const toSignatureMessage = {
|
|
174
|
+
domain,
|
|
175
|
+
message,
|
|
176
|
+
primaryType,
|
|
177
|
+
types: typeDefinition
|
|
178
|
+
};
|
|
179
|
+
return [message, toSignatureMessage];
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
function registerAccountMessage(inputs) {
|
|
183
|
+
return __async(this, null, function* () {
|
|
184
|
+
const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;
|
|
185
|
+
const primaryType = "Registration";
|
|
186
|
+
const message = {
|
|
187
|
+
brokerId,
|
|
188
|
+
chainId,
|
|
189
|
+
timestamp,
|
|
190
|
+
registrationNonce
|
|
191
|
+
};
|
|
192
|
+
const typeDefinition = {
|
|
193
|
+
EIP712Domain: import_orderly_types.definedTypes.EIP712Domain,
|
|
194
|
+
[primaryType]: import_orderly_types.definedTypes[primaryType]
|
|
195
|
+
};
|
|
196
|
+
const toSignatureMessage = {
|
|
197
|
+
domain,
|
|
198
|
+
message,
|
|
199
|
+
primaryType,
|
|
200
|
+
types: typeDefinition
|
|
201
|
+
};
|
|
202
|
+
return [message, toSignatureMessage];
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
function settleMessage(inputs) {
|
|
206
|
+
return __async(this, null, function* () {
|
|
207
|
+
const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;
|
|
208
|
+
const primaryType = "SettlePnl";
|
|
209
|
+
const typeDefinition = {
|
|
210
|
+
EIP712Domain: import_orderly_types.definedTypes.EIP712Domain,
|
|
211
|
+
[primaryType]: import_orderly_types.definedTypes[primaryType]
|
|
212
|
+
};
|
|
213
|
+
const message = {
|
|
214
|
+
brokerId,
|
|
215
|
+
chainId,
|
|
216
|
+
timestamp,
|
|
217
|
+
settleNonce: settlePnlNonce
|
|
218
|
+
};
|
|
219
|
+
const toSignatureMessage = {
|
|
220
|
+
domain,
|
|
221
|
+
message,
|
|
222
|
+
primaryType,
|
|
223
|
+
types: typeDefinition
|
|
224
|
+
};
|
|
225
|
+
return [message, toSignatureMessage];
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
function dexRequestMessage(inputs) {
|
|
229
|
+
return __async(this, null, function* () {
|
|
230
|
+
const {
|
|
231
|
+
payloadType,
|
|
232
|
+
nonce,
|
|
233
|
+
receiver,
|
|
234
|
+
amount,
|
|
235
|
+
vaultId,
|
|
236
|
+
token,
|
|
237
|
+
dexBrokerId,
|
|
238
|
+
domain
|
|
239
|
+
} = inputs;
|
|
240
|
+
const primaryType = "DexRequest";
|
|
241
|
+
const typeDefinition = {
|
|
242
|
+
EIP712Domain: import_orderly_types.definedTypes.EIP712Domain,
|
|
243
|
+
[primaryType]: import_orderly_types.definedTypes[primaryType]
|
|
244
|
+
};
|
|
245
|
+
const message = {
|
|
246
|
+
payloadType,
|
|
247
|
+
nonce,
|
|
248
|
+
receiver,
|
|
249
|
+
amount,
|
|
250
|
+
vaultId,
|
|
251
|
+
token,
|
|
252
|
+
dexBrokerId
|
|
253
|
+
};
|
|
254
|
+
const toSignatureMessage = {
|
|
255
|
+
domain,
|
|
256
|
+
message,
|
|
257
|
+
primaryType,
|
|
258
|
+
types: typeDefinition
|
|
259
|
+
};
|
|
260
|
+
return [message, toSignatureMessage];
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// src/walletAdapter.ts
|
|
265
|
+
var DefaultEVMWalletAdapter = class extends import_orderly_core.BaseWalletAdapter {
|
|
266
|
+
constructor(web3Provider) {
|
|
267
|
+
super();
|
|
268
|
+
this.web3Provider = web3Provider;
|
|
269
|
+
__publicField(this, "chainNamespace", import_orderly_types2.ChainNamespace.evm);
|
|
270
|
+
__publicField(this, "_address");
|
|
271
|
+
__publicField(this, "_chainId");
|
|
272
|
+
__publicField(this, "contractManager");
|
|
273
|
+
}
|
|
274
|
+
get address() {
|
|
275
|
+
return this._address;
|
|
276
|
+
}
|
|
277
|
+
get chainId() {
|
|
278
|
+
return this._chainId;
|
|
279
|
+
}
|
|
280
|
+
set chainId(chainId) {
|
|
281
|
+
this._chainId = chainId;
|
|
282
|
+
}
|
|
283
|
+
setConfig(config) {
|
|
284
|
+
this._address = config.address;
|
|
285
|
+
this._chainId = config.chain.id;
|
|
286
|
+
if (config.provider) {
|
|
287
|
+
this.web3Provider.provider = config.provider;
|
|
288
|
+
}
|
|
289
|
+
if (config.contractManager) {
|
|
290
|
+
this.contractManager = config.contractManager;
|
|
291
|
+
} else {
|
|
292
|
+
throw new Error("Please provide contract manager class");
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
active(config) {
|
|
296
|
+
this.setConfig(config);
|
|
297
|
+
this.lifecycleName("active", config);
|
|
298
|
+
}
|
|
299
|
+
deactivate() {
|
|
300
|
+
this.lifecycleName("deactivate", {});
|
|
301
|
+
}
|
|
302
|
+
update(config) {
|
|
303
|
+
this.lifecycleName("update", config);
|
|
304
|
+
this.setConfig(config);
|
|
305
|
+
}
|
|
306
|
+
generateSecretKey() {
|
|
307
|
+
let privKey, secretKey;
|
|
308
|
+
do {
|
|
309
|
+
privKey = ed.utils.randomPrivateKey();
|
|
310
|
+
secretKey = (0, import_bs58.encode)(privKey);
|
|
311
|
+
} while (secretKey.length !== 44);
|
|
312
|
+
return secretKey;
|
|
313
|
+
}
|
|
314
|
+
lifecycleName(name, data) {
|
|
315
|
+
console.log("lifecycle", name, data);
|
|
316
|
+
}
|
|
317
|
+
signTypedData(toSignatureMessage) {
|
|
318
|
+
return __async(this, null, function* () {
|
|
319
|
+
console.log("toSignatureMessage", this.address);
|
|
320
|
+
return yield this.web3Provider.signTypedData(
|
|
321
|
+
// address,
|
|
322
|
+
this.address,
|
|
323
|
+
// toSignatureMessage
|
|
324
|
+
JSON.stringify(toSignatureMessage)
|
|
325
|
+
);
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
generateRegisterAccountMessage(inputs) {
|
|
329
|
+
return __async(this, null, function* () {
|
|
330
|
+
const [message, toSignatureMessage] = yield registerAccountMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
331
|
+
chainId: this.chainId,
|
|
332
|
+
domain: this.getDomain()
|
|
333
|
+
}));
|
|
334
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
335
|
+
return {
|
|
336
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
337
|
+
chainType: "EVM"
|
|
338
|
+
}),
|
|
339
|
+
signatured: signedMessage
|
|
340
|
+
};
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
generateAddOrderlyKeyMessage(inputs) {
|
|
344
|
+
return __async(this, null, function* () {
|
|
345
|
+
const [message, toSignatureMessage] = yield addOrderlyKeyMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
346
|
+
chainId: this.chainId,
|
|
347
|
+
domain: this.getDomain()
|
|
348
|
+
}));
|
|
349
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
350
|
+
return {
|
|
351
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
352
|
+
chainType: "EVM"
|
|
353
|
+
}),
|
|
354
|
+
signatured: signedMessage
|
|
355
|
+
};
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
generateWithdrawMessage(inputs) {
|
|
359
|
+
return __async(this, null, function* () {
|
|
360
|
+
const domain = this.getDomain(true);
|
|
361
|
+
const [message, toSignatureMessage] = yield withdrawMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
362
|
+
chainId: this.chainId,
|
|
363
|
+
domain
|
|
364
|
+
}));
|
|
365
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
366
|
+
return {
|
|
367
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
368
|
+
chainType: "EVM"
|
|
369
|
+
}),
|
|
370
|
+
signatured: signedMessage,
|
|
371
|
+
domain
|
|
372
|
+
};
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
generateInternalTransferMessage(inputs) {
|
|
376
|
+
return __async(this, null, function* () {
|
|
377
|
+
const domain = this.getDomain(true);
|
|
378
|
+
const [message, toSignatureMessage] = yield internalTransferMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
379
|
+
chainId: this.chainId,
|
|
380
|
+
domain
|
|
381
|
+
}));
|
|
382
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
383
|
+
return {
|
|
384
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
385
|
+
chainType: "EVM"
|
|
386
|
+
}),
|
|
387
|
+
signatured: signedMessage,
|
|
388
|
+
domain
|
|
389
|
+
};
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
generateSettleMessage(inputs) {
|
|
393
|
+
return __async(this, null, function* () {
|
|
394
|
+
const domain = this.getDomain(true);
|
|
395
|
+
const [message, toSignatureMessage] = yield settleMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
396
|
+
chainId: this.chainId,
|
|
397
|
+
domain
|
|
398
|
+
}));
|
|
399
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
400
|
+
return {
|
|
401
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
402
|
+
chainType: "EVM"
|
|
403
|
+
}),
|
|
404
|
+
signatured: signedMessage,
|
|
405
|
+
domain
|
|
406
|
+
};
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
generateDexRequestMessage(inputs) {
|
|
410
|
+
return __async(this, null, function* () {
|
|
411
|
+
const [message, toSignatureMessage] = yield dexRequestMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
412
|
+
chainId: this.chainId
|
|
413
|
+
}));
|
|
414
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
415
|
+
return {
|
|
416
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
417
|
+
chainType: "EVM"
|
|
418
|
+
}),
|
|
419
|
+
signatured: signedMessage,
|
|
420
|
+
domain: inputs.domain
|
|
421
|
+
};
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
getBalance() {
|
|
425
|
+
return this.web3Provider.getBalance(this.address);
|
|
426
|
+
}
|
|
427
|
+
call(address, method, params, options) {
|
|
428
|
+
return this.web3Provider.call(address, method, params, options);
|
|
429
|
+
}
|
|
430
|
+
sendTransaction(contractAddress, method, payload, options) {
|
|
431
|
+
return this.web3Provider.sendTransaction(
|
|
432
|
+
contractAddress,
|
|
433
|
+
method,
|
|
434
|
+
payload,
|
|
435
|
+
options
|
|
436
|
+
);
|
|
437
|
+
}
|
|
438
|
+
callOnChain(chain, address, method, params, options) {
|
|
439
|
+
return this.web3Provider.callOnChain(
|
|
440
|
+
chain,
|
|
441
|
+
address,
|
|
442
|
+
method,
|
|
443
|
+
params,
|
|
444
|
+
options
|
|
445
|
+
);
|
|
446
|
+
}
|
|
447
|
+
getDomain(onChainDomain) {
|
|
448
|
+
if (!this.web3Provider) {
|
|
449
|
+
throw new Error("web3Provider is undefined");
|
|
450
|
+
}
|
|
451
|
+
const chainId = this.chainId;
|
|
452
|
+
return {
|
|
453
|
+
name: "Orderly",
|
|
454
|
+
version: "1",
|
|
455
|
+
chainId,
|
|
456
|
+
verifyingContract: onChainDomain ? this.contractManager.getContractInfoByEnv().verifyContractAddress : "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
pollTransactionReceiptWithBackoff(txHash, baseInterval, maxInterval, maxRetries) {
|
|
460
|
+
return this.web3Provider.pollTransactionReceiptWithBackoff(
|
|
461
|
+
txHash,
|
|
462
|
+
baseInterval,
|
|
463
|
+
maxInterval,
|
|
464
|
+
maxRetries
|
|
465
|
+
);
|
|
466
|
+
}
|
|
467
|
+
};
|
|
468
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
469
|
+
0 && (module.exports = {
|
|
470
|
+
DefaultEVMWalletAdapter,
|
|
471
|
+
version
|
|
472
|
+
});
|
|
2
473
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["export { default as version } from \"./version\";\nexport { DefaultEVMWalletAdapter } from \"./walletAdapter\";\nexport type { Web3Provider } from \"./provider/web3Provider.interface\";\n","declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] =\n \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"kpCAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GCOI,OAAO,QAAW,cACpB,OAAO,oBAAsB,OAAO,qBAAuB,CAAC,EAC5D,OAAO,oBAAoB,6CAA6C,EACtE,SAGJ,IAAOK,EAAQ,QCbf,IAAAC,EAAoB,6BACpBC,EAA2D,gBAC3DC,EAWO,wCACPC,EAAoC,yCCLpC,IAAAC,EAAuD,yCAEvD,SAAsBC,EACpBC,EAIA,QAAAC,EAAA,sBACA,GAAM,CAAE,QAAAC,EAAS,SAAAC,EAAU,MAAAC,EAAO,OAAAC,EAAQ,MAAAC,EAAO,SAAAC,EAAU,OAAAC,CAAO,EAAIR,EAGhES,EAAc,WACdC,EAAY,KAAK,IAAI,EAErBC,EAAiB,CACrB,aAAc,eAAa,aAC3B,CAACF,CAAW,EAAG,eAAaA,CAAW,CACzC,EAEMG,EAAU,CACd,SAAAL,EACA,QAAAL,EACA,SAAAC,EACA,MAAAC,EACA,OAAAC,EACA,UAAAK,EACA,cAAeJ,CACjB,EASA,MAAO,CAACM,EAPmB,CACzB,OAAAJ,EACA,QAAAI,EACA,YAAAH,EACA,MAAOE,CACT,CAEmC,CACrC,GAEA,SAAsBE,EACpBb,EAIA,QAAAC,EAAA,sBACA,GAAM,CAAE,QAAAC,EAAS,SAAAC,EAAU,MAAAC,EAAO,OAAAC,EAAQ,MAAAC,EAAO,OAAAE,CAAO,EAAIR,EAEtDS,EAAc,mBAEdE,EAAiB,CACrB,aAAc,eAAa,aAC3B,CAACF,CAAW,EAAG,eAAaA,CAAW,CACzC,EAEMG,EAAU,CACd,QAAAV,EACA,SAAAC,EACA,MAAAC,EACA,OAAAC,EACA,cAAeC,CACjB,EASA,MAAO,CAACM,EAPmB,CACzB,OAAAJ,EACA,QAAAI,EACA,YAAAH,EACA,MAAOE,CACT,CAEmC,CACrC,GAEA,SAAsBG,EACpBd,EAKA,QAAAC,EAAA,sBACA,GAAM,CACJ,UAAAc,EACA,QAAAb,EAEA,SAAAK,EACA,WAAAS,EAAa,IACb,UAAAN,EAAY,KAAK,IAAI,EACrB,MAAAO,EACA,IAAAC,EACA,OAAAV,EACA,aAAAW,CACF,EAAInB,EAIES,EAAc,gBACdG,EAAUQ,IAAA,CACd,SAAAb,EACA,WAAYQ,EACZ,MAAOE,GAAS,2BAChB,QAAAf,EACA,UAAAQ,EAEA,WAAYA,EAAY,IAAO,GAAK,GAAK,GAAKM,GAC1C,OAAOE,GAAQ,YAAc,CAAE,IAAAA,CAAI,EAAI,CAAC,GACxC,OAAOC,GAAiB,YAAc,CAAE,aAAAA,CAAa,EAAI,CAAC,GAG1DR,EAAiB,CACrB,aAAc,eAAa,aAC3B,CAACF,CAAW,EAAG,eAAaA,CAAW,CACzC,EASA,MAAO,CAACG,EAPmB,CACzB,OAAAJ,EACA,QAAAI,EACA,YAAAH,EACA,MAAOE,CACT,CAEmC,CACrC,GAMA,SAAsBU,EACpBrB,EAIA,QAAAC,EAAA,sBACA,GAAM,CAAE,QAAAC,EAAS,OAAAM,EAAQ,kBAAAc,EAAmB,SAAAf,EAAU,UAAAG,CAAU,EAAIV,EAG9DS,EAAc,eACdG,EAAU,CACd,SAAAL,EACA,QAAAL,EACA,UAAAQ,EACA,kBAAAY,CACF,EAEMX,EAAiB,CACrB,aAAc,eAAa,aAC3B,CAACF,CAAW,EAAG,eAAaA,CAAW,CACzC,EASA,MAAO,CAACG,EAPmB,CACzB,OAAAJ,EACA,QAAAI,EACA,YAAAH,EACA,MAAOE,CACT,CAEmC,CACrC,GAEA,SAAsBY,EACpBvB,EAIA,QAAAC,EAAA,sBACA,GAAM,CAAE,eAAAuB,EAAgB,SAAAjB,EAAU,QAAAL,EAAS,UAAAQ,EAAW,OAAAF,CAAO,EAAIR,EAE3DS,EAAc,YAEdE,EAAiB,CACrB,aAAc,eAAa,aAC3B,CAACF,CAAW,EAAG,eAAaA,CAAW,CACzC,EAEMG,EAAU,CACd,SAAAL,EACA,QAASL,EACT,UAAWQ,EACX,YAAac,CACf,EASA,MAAO,CAACZ,EAPmB,CACzB,OAAAJ,EACA,QAAAI,EACA,YAAAH,EACA,MAAOE,CACT,CAEmC,CACrC,GAEA,SAAsBc,EACpBzB,EAIA,QAAAC,EAAA,sBACA,GAAM,CACJ,YAAAyB,EACA,MAAApB,EACA,SAAAH,EACA,OAAAE,EACA,QAAAsB,EACA,MAAAvB,EACA,YAAAwB,EACA,OAAApB,CACF,EAAIR,EAEES,EAAc,aAEdE,EAAiB,CACrB,aAAc,eAAa,aAC3B,CAACF,CAAW,EAAG,eAAaA,CAAW,CACzC,EAEMG,EAAU,CACd,YAAAc,EACA,MAAApB,EACA,SAAAH,EACA,OAAAE,EACA,QAAAsB,EACA,MAAAvB,EACA,YAAAwB,CACF,EASA,MAAO,CAAChB,EAPmB,CACzB,OAAAJ,EACA,QAAAI,EACA,YAAAH,EACA,MAAOE,CACT,CAEmC,CACrC,GDvNA,IAAMkB,EAAN,cAAsC,mBAAqC,CAMzE,YAA6BC,EAA4B,CACvD,MAAM,EADqB,kBAAAA,EAL7BC,EAAA,sBAAiC,iBAAe,KAChDA,EAAA,KAAQ,YACRA,EAAA,KAAQ,YACRA,EAAA,KAAQ,kBAIR,CAEA,IAAI,SAAkB,CACpB,OAAO,KAAK,QACd,CAEA,IAAI,SAAkB,CACpB,OAAO,KAAK,QACd,CAEA,IAAI,QAAQC,EAAiB,CAC3B,KAAK,SAAWA,CAClB,CAEQ,UAAUC,EAAiC,CAQjD,GAPA,KAAK,SAAWA,EAAO,QACvB,KAAK,SAAWA,EAAO,MAAM,GAEzBA,EAAO,WACT,KAAK,aAAa,SAAWA,EAAO,UAGlCA,EAAO,gBACT,KAAK,gBAAkBA,EAAO,oBAE9B,OAAM,IAAI,MAAM,uCAAuC,CAE3D,CAEA,OAAOA,EAAiC,CACtC,KAAK,UAAUA,CAAM,EACrB,KAAK,cAAc,SAAUA,CAAM,CACrC,CAEA,YAAmB,CACjB,KAAK,cAAc,aAAc,CAAC,CAAC,CACrC,CAEA,OAAOA,EAAiC,CACtC,KAAK,cAAc,SAAUA,CAAM,EACnC,KAAK,UAAUA,CAAM,CACvB,CAEA,mBAA4B,CAC1B,IAAIC,EAASC,EACb,GACED,EAAa,QAAM,iBAAiB,EACpCC,KAAY,EAAAC,QAAWF,CAAO,QACvBC,EAAU,SAAW,IAE9B,OAAOA,CACT,CAEQ,cAAcE,EAAcC,EAAW,CAC7C,QAAQ,IAAI,YAAaD,EAAMC,CAAI,CACrC,CAEc,cAAcC,EAAyC,QAAAC,EAAA,sBACnE,eAAQ,IAAI,qBAAsB,KAAK,OAAO,EACvC,MAAM,KAAK,aAAa,cAE7B,KAAK,QAEL,KAAK,UAAUD,CAAkB,CACnC,CACF,GAEM,+BACJE,EACkB,QAAAD,EAAA,sBAClB,GAAM,CAACE,EAASH,CAAkB,EAAI,MAAMI,EAAuBC,EAAAC,EAAA,GAC9DJ,GAD8D,CAGjE,QAAS,KAAK,QACd,OAAQ,KAAK,UAAU,CACzB,EAAC,EAEKK,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,CACd,CACF,GAEM,6BACJL,EACkB,QAAAD,EAAA,sBAClB,GAAM,CAACE,EAASH,CAAkB,EAAI,MAAMQ,EAAqBH,EAAAC,EAAA,GAC5DJ,GAD4D,CAE/D,QAAS,KAAK,QACd,OAAQ,KAAK,UAAU,CACzB,EAAC,EAEKK,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,CACd,CACF,GAEM,wBAAwBL,EAI5B,QAAAD,EAAA,sBAEA,IAAMQ,EAAS,KAAK,UAAU,EAAI,EAE5B,CAACN,EAASH,CAAkB,EAAI,MAAMU,EAAgBL,EAAAC,EAAA,GACvDJ,GADuD,CAE1D,QAAS,KAAK,QACd,OAAAO,CACF,EAAC,EAEKF,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,EACZ,OAAAE,CACF,CACF,GAEM,gCACJP,EAKA,QAAAD,EAAA,sBACA,IAAMQ,EAAS,KAAK,UAAU,EAAI,EAE5B,CAACN,EAASH,CAAkB,EAAI,MAAMW,EAAwBN,EAAAC,EAAA,GAC/DJ,GAD+D,CAElE,QAAS,KAAK,QACd,OAAAO,CACF,EAAC,EAEKF,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,EACZ,OAAAE,CACF,CACF,GAEM,sBAAsBP,EAI1B,QAAAD,EAAA,sBACA,IAAMQ,EAAS,KAAK,UAAU,EAAI,EAC5B,CAACN,EAASH,CAAkB,EAAI,MAAMY,EAAcP,EAAAC,EAAA,GACrDJ,GADqD,CAExD,QAAS,KAAK,QACd,OAAAO,CACF,EAAC,EAEKF,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,EACZ,OAAAE,CACF,CACF,GAEM,0BAA0BP,EAI9B,QAAAD,EAAA,sBACA,GAAM,CAACE,EAASH,CAAkB,EAAI,MAAMa,EAAkBR,EAAAC,EAAA,GACzDJ,GADyD,CAE5D,QAAS,KAAK,OAChB,EAAC,EAEKK,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,EACZ,OAAQL,EAAO,MACjB,CACF,GAEA,YAA8B,CAC5B,OAAO,KAAK,aAAa,WAAW,KAAK,OAAO,CAClD,CAEA,KACEY,EACAC,EACAC,EACAC,EACc,CACd,OAAO,KAAK,aAAa,KAAKH,EAASC,EAAQC,EAAQC,CAAO,CAChE,CAEA,gBACEC,EACAH,EACAI,EAMAF,EAGc,CACd,OAAO,KAAK,aAAa,gBACvBC,EACAH,EACAI,EACAF,CACF,CACF,CAEA,YACEG,EACAN,EACAC,EACAC,EACAC,EACc,CACd,OAAO,KAAK,aAAa,YACvBG,EACAN,EACAC,EACAC,EACAC,CACF,CACF,CAEA,UAAUI,EAA0C,CAClD,GAAI,CAAC,KAAK,aACR,MAAM,IAAI,MAAM,2BAA2B,EAK7C,MAAO,CACL,KAAM,UACN,QAAS,IACT,QANc,KAAK,QAOnB,kBAAmBA,EACf,KAAK,gBAAgB,qBAAqB,EAAE,sBAC5C,4CACN,CACF,CAEA,kCACEC,EACAC,EACAC,EACAC,EACc,CACd,OAAO,KAAK,aAAa,kCACvBH,EACAC,EACAC,EACAC,CACF,CACF,CACF","names":["src_exports","__export","DefaultEVMWalletAdapter","version_default","__toCommonJS","version_default","ed","import_bs58","import_orderly_core","import_orderly_types","import_orderly_types","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","message","internalTransferMessage","addOrderlyKeyMessage","publicKey","expiration","scope","tag","subAccountId","__spreadValues","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","dexRequestMessage","payloadType","vaultId","dexBrokerId","DefaultEVMWalletAdapter","web3Provider","__publicField","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","internalTransferMessage","settleMessage","dexRequestMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["export { default as version } from \"./version\";\nexport { DefaultEVMWalletAdapter } from \"./walletAdapter\";\nexport type { Web3Provider } from \"./provider/web3Provider.interface\";\n","declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] =\n \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"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","names":["import_orderly_types","bs58encode"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,440 @@
|
|
|
1
|
-
var
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __publicField = (obj, key, value) => {
|
|
21
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
return value;
|
|
23
|
+
};
|
|
24
|
+
var __async = (__this, __arguments, generator) => {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
var fulfilled = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
step(generator.next(value));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var rejected = (value) => {
|
|
34
|
+
try {
|
|
35
|
+
step(generator.throw(value));
|
|
36
|
+
} catch (e) {
|
|
37
|
+
reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
41
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// src/version.ts
|
|
46
|
+
if (typeof window !== "undefined") {
|
|
47
|
+
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
48
|
+
window.__ORDERLY_VERSION__["@kodiak-finance/orderly-default-evm-adapter"] = "2.7.4";
|
|
49
|
+
}
|
|
50
|
+
var version_default = "2.7.4";
|
|
51
|
+
|
|
52
|
+
// src/walletAdapter.ts
|
|
53
|
+
import * as ed from "@noble/ed25519";
|
|
54
|
+
import { encode as bs58encode } from "bs58";
|
|
55
|
+
import {
|
|
56
|
+
BaseWalletAdapter
|
|
57
|
+
} from "@kodiak-finance/orderly-core";
|
|
58
|
+
import { ChainNamespace } from "@kodiak-finance/orderly-types";
|
|
59
|
+
|
|
60
|
+
// src/helper.ts
|
|
61
|
+
import { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from "@kodiak-finance/orderly-types";
|
|
62
|
+
function withdrawMessage(inputs) {
|
|
63
|
+
return __async(this, null, function* () {
|
|
64
|
+
const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;
|
|
65
|
+
const primaryType = "Withdraw";
|
|
66
|
+
const timestamp = Date.now();
|
|
67
|
+
const typeDefinition = {
|
|
68
|
+
EIP712Domain: definedTypes.EIP712Domain,
|
|
69
|
+
[primaryType]: definedTypes[primaryType]
|
|
70
|
+
};
|
|
71
|
+
const message = {
|
|
72
|
+
brokerId,
|
|
73
|
+
chainId,
|
|
74
|
+
receiver,
|
|
75
|
+
token,
|
|
76
|
+
amount,
|
|
77
|
+
timestamp,
|
|
78
|
+
withdrawNonce: nonce
|
|
79
|
+
};
|
|
80
|
+
const toSignatureMessage = {
|
|
81
|
+
domain,
|
|
82
|
+
message,
|
|
83
|
+
primaryType,
|
|
84
|
+
types: typeDefinition
|
|
85
|
+
};
|
|
86
|
+
return [message, toSignatureMessage];
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function internalTransferMessage(inputs) {
|
|
90
|
+
return __async(this, null, function* () {
|
|
91
|
+
const { chainId, receiver, token, amount, nonce, domain } = inputs;
|
|
92
|
+
const primaryType = "InternalTransfer";
|
|
93
|
+
const typeDefinition = {
|
|
94
|
+
EIP712Domain: definedTypes.EIP712Domain,
|
|
95
|
+
[primaryType]: definedTypes[primaryType]
|
|
96
|
+
};
|
|
97
|
+
const message = {
|
|
98
|
+
chainId,
|
|
99
|
+
receiver,
|
|
100
|
+
token,
|
|
101
|
+
amount,
|
|
102
|
+
transferNonce: nonce
|
|
103
|
+
};
|
|
104
|
+
const toSignatureMessage = {
|
|
105
|
+
domain,
|
|
106
|
+
message,
|
|
107
|
+
primaryType,
|
|
108
|
+
types: typeDefinition
|
|
109
|
+
};
|
|
110
|
+
return [message, toSignatureMessage];
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function addOrderlyKeyMessage(inputs) {
|
|
114
|
+
return __async(this, null, function* () {
|
|
115
|
+
const {
|
|
116
|
+
publicKey,
|
|
117
|
+
chainId,
|
|
118
|
+
// primaryType,
|
|
119
|
+
brokerId,
|
|
120
|
+
expiration = 365,
|
|
121
|
+
timestamp = Date.now(),
|
|
122
|
+
scope,
|
|
123
|
+
tag,
|
|
124
|
+
domain,
|
|
125
|
+
subAccountId
|
|
126
|
+
} = inputs;
|
|
127
|
+
const primaryType = "AddOrderlyKey";
|
|
128
|
+
const message = __spreadValues(__spreadValues({
|
|
129
|
+
brokerId,
|
|
130
|
+
orderlyKey: publicKey,
|
|
131
|
+
scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,
|
|
132
|
+
chainId,
|
|
133
|
+
timestamp,
|
|
134
|
+
// chainType,
|
|
135
|
+
expiration: timestamp + 1e3 * 60 * 60 * 24 * expiration
|
|
136
|
+
}, typeof tag !== "undefined" ? { tag } : {}), typeof subAccountId !== "undefined" ? { subAccountId } : {});
|
|
137
|
+
const typeDefinition = {
|
|
138
|
+
EIP712Domain: definedTypes.EIP712Domain,
|
|
139
|
+
[primaryType]: definedTypes[primaryType]
|
|
140
|
+
};
|
|
141
|
+
const toSignatureMessage = {
|
|
142
|
+
domain,
|
|
143
|
+
message,
|
|
144
|
+
primaryType,
|
|
145
|
+
types: typeDefinition
|
|
146
|
+
};
|
|
147
|
+
return [message, toSignatureMessage];
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function registerAccountMessage(inputs) {
|
|
151
|
+
return __async(this, null, function* () {
|
|
152
|
+
const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;
|
|
153
|
+
const primaryType = "Registration";
|
|
154
|
+
const message = {
|
|
155
|
+
brokerId,
|
|
156
|
+
chainId,
|
|
157
|
+
timestamp,
|
|
158
|
+
registrationNonce
|
|
159
|
+
};
|
|
160
|
+
const typeDefinition = {
|
|
161
|
+
EIP712Domain: definedTypes.EIP712Domain,
|
|
162
|
+
[primaryType]: definedTypes[primaryType]
|
|
163
|
+
};
|
|
164
|
+
const toSignatureMessage = {
|
|
165
|
+
domain,
|
|
166
|
+
message,
|
|
167
|
+
primaryType,
|
|
168
|
+
types: typeDefinition
|
|
169
|
+
};
|
|
170
|
+
return [message, toSignatureMessage];
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
function settleMessage(inputs) {
|
|
174
|
+
return __async(this, null, function* () {
|
|
175
|
+
const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;
|
|
176
|
+
const primaryType = "SettlePnl";
|
|
177
|
+
const typeDefinition = {
|
|
178
|
+
EIP712Domain: definedTypes.EIP712Domain,
|
|
179
|
+
[primaryType]: definedTypes[primaryType]
|
|
180
|
+
};
|
|
181
|
+
const message = {
|
|
182
|
+
brokerId,
|
|
183
|
+
chainId,
|
|
184
|
+
timestamp,
|
|
185
|
+
settleNonce: settlePnlNonce
|
|
186
|
+
};
|
|
187
|
+
const toSignatureMessage = {
|
|
188
|
+
domain,
|
|
189
|
+
message,
|
|
190
|
+
primaryType,
|
|
191
|
+
types: typeDefinition
|
|
192
|
+
};
|
|
193
|
+
return [message, toSignatureMessage];
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
function dexRequestMessage(inputs) {
|
|
197
|
+
return __async(this, null, function* () {
|
|
198
|
+
const {
|
|
199
|
+
payloadType,
|
|
200
|
+
nonce,
|
|
201
|
+
receiver,
|
|
202
|
+
amount,
|
|
203
|
+
vaultId,
|
|
204
|
+
token,
|
|
205
|
+
dexBrokerId,
|
|
206
|
+
domain
|
|
207
|
+
} = inputs;
|
|
208
|
+
const primaryType = "DexRequest";
|
|
209
|
+
const typeDefinition = {
|
|
210
|
+
EIP712Domain: definedTypes.EIP712Domain,
|
|
211
|
+
[primaryType]: definedTypes[primaryType]
|
|
212
|
+
};
|
|
213
|
+
const message = {
|
|
214
|
+
payloadType,
|
|
215
|
+
nonce,
|
|
216
|
+
receiver,
|
|
217
|
+
amount,
|
|
218
|
+
vaultId,
|
|
219
|
+
token,
|
|
220
|
+
dexBrokerId
|
|
221
|
+
};
|
|
222
|
+
const toSignatureMessage = {
|
|
223
|
+
domain,
|
|
224
|
+
message,
|
|
225
|
+
primaryType,
|
|
226
|
+
types: typeDefinition
|
|
227
|
+
};
|
|
228
|
+
return [message, toSignatureMessage];
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// src/walletAdapter.ts
|
|
233
|
+
var DefaultEVMWalletAdapter = class extends BaseWalletAdapter {
|
|
234
|
+
constructor(web3Provider) {
|
|
235
|
+
super();
|
|
236
|
+
this.web3Provider = web3Provider;
|
|
237
|
+
__publicField(this, "chainNamespace", ChainNamespace.evm);
|
|
238
|
+
__publicField(this, "_address");
|
|
239
|
+
__publicField(this, "_chainId");
|
|
240
|
+
__publicField(this, "contractManager");
|
|
241
|
+
}
|
|
242
|
+
get address() {
|
|
243
|
+
return this._address;
|
|
244
|
+
}
|
|
245
|
+
get chainId() {
|
|
246
|
+
return this._chainId;
|
|
247
|
+
}
|
|
248
|
+
set chainId(chainId) {
|
|
249
|
+
this._chainId = chainId;
|
|
250
|
+
}
|
|
251
|
+
setConfig(config) {
|
|
252
|
+
this._address = config.address;
|
|
253
|
+
this._chainId = config.chain.id;
|
|
254
|
+
if (config.provider) {
|
|
255
|
+
this.web3Provider.provider = config.provider;
|
|
256
|
+
}
|
|
257
|
+
if (config.contractManager) {
|
|
258
|
+
this.contractManager = config.contractManager;
|
|
259
|
+
} else {
|
|
260
|
+
throw new Error("Please provide contract manager class");
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
active(config) {
|
|
264
|
+
this.setConfig(config);
|
|
265
|
+
this.lifecycleName("active", config);
|
|
266
|
+
}
|
|
267
|
+
deactivate() {
|
|
268
|
+
this.lifecycleName("deactivate", {});
|
|
269
|
+
}
|
|
270
|
+
update(config) {
|
|
271
|
+
this.lifecycleName("update", config);
|
|
272
|
+
this.setConfig(config);
|
|
273
|
+
}
|
|
274
|
+
generateSecretKey() {
|
|
275
|
+
let privKey, secretKey;
|
|
276
|
+
do {
|
|
277
|
+
privKey = ed.utils.randomPrivateKey();
|
|
278
|
+
secretKey = bs58encode(privKey);
|
|
279
|
+
} while (secretKey.length !== 44);
|
|
280
|
+
return secretKey;
|
|
281
|
+
}
|
|
282
|
+
lifecycleName(name, data) {
|
|
283
|
+
console.log("lifecycle", name, data);
|
|
284
|
+
}
|
|
285
|
+
signTypedData(toSignatureMessage) {
|
|
286
|
+
return __async(this, null, function* () {
|
|
287
|
+
console.log("toSignatureMessage", this.address);
|
|
288
|
+
return yield this.web3Provider.signTypedData(
|
|
289
|
+
// address,
|
|
290
|
+
this.address,
|
|
291
|
+
// toSignatureMessage
|
|
292
|
+
JSON.stringify(toSignatureMessage)
|
|
293
|
+
);
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
generateRegisterAccountMessage(inputs) {
|
|
297
|
+
return __async(this, null, function* () {
|
|
298
|
+
const [message, toSignatureMessage] = yield registerAccountMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
299
|
+
chainId: this.chainId,
|
|
300
|
+
domain: this.getDomain()
|
|
301
|
+
}));
|
|
302
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
303
|
+
return {
|
|
304
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
305
|
+
chainType: "EVM"
|
|
306
|
+
}),
|
|
307
|
+
signatured: signedMessage
|
|
308
|
+
};
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
generateAddOrderlyKeyMessage(inputs) {
|
|
312
|
+
return __async(this, null, function* () {
|
|
313
|
+
const [message, toSignatureMessage] = yield addOrderlyKeyMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
314
|
+
chainId: this.chainId,
|
|
315
|
+
domain: this.getDomain()
|
|
316
|
+
}));
|
|
317
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
318
|
+
return {
|
|
319
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
320
|
+
chainType: "EVM"
|
|
321
|
+
}),
|
|
322
|
+
signatured: signedMessage
|
|
323
|
+
};
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
generateWithdrawMessage(inputs) {
|
|
327
|
+
return __async(this, null, function* () {
|
|
328
|
+
const domain = this.getDomain(true);
|
|
329
|
+
const [message, toSignatureMessage] = yield withdrawMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
330
|
+
chainId: this.chainId,
|
|
331
|
+
domain
|
|
332
|
+
}));
|
|
333
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
334
|
+
return {
|
|
335
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
336
|
+
chainType: "EVM"
|
|
337
|
+
}),
|
|
338
|
+
signatured: signedMessage,
|
|
339
|
+
domain
|
|
340
|
+
};
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
generateInternalTransferMessage(inputs) {
|
|
344
|
+
return __async(this, null, function* () {
|
|
345
|
+
const domain = this.getDomain(true);
|
|
346
|
+
const [message, toSignatureMessage] = yield internalTransferMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
347
|
+
chainId: this.chainId,
|
|
348
|
+
domain
|
|
349
|
+
}));
|
|
350
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
351
|
+
return {
|
|
352
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
353
|
+
chainType: "EVM"
|
|
354
|
+
}),
|
|
355
|
+
signatured: signedMessage,
|
|
356
|
+
domain
|
|
357
|
+
};
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
generateSettleMessage(inputs) {
|
|
361
|
+
return __async(this, null, function* () {
|
|
362
|
+
const domain = this.getDomain(true);
|
|
363
|
+
const [message, toSignatureMessage] = yield settleMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
364
|
+
chainId: this.chainId,
|
|
365
|
+
domain
|
|
366
|
+
}));
|
|
367
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
368
|
+
return {
|
|
369
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
370
|
+
chainType: "EVM"
|
|
371
|
+
}),
|
|
372
|
+
signatured: signedMessage,
|
|
373
|
+
domain
|
|
374
|
+
};
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
generateDexRequestMessage(inputs) {
|
|
378
|
+
return __async(this, null, function* () {
|
|
379
|
+
const [message, toSignatureMessage] = yield dexRequestMessage(__spreadProps(__spreadValues({}, inputs), {
|
|
380
|
+
chainId: this.chainId
|
|
381
|
+
}));
|
|
382
|
+
const signedMessage = yield this.signTypedData(toSignatureMessage);
|
|
383
|
+
return {
|
|
384
|
+
message: __spreadProps(__spreadValues({}, message), {
|
|
385
|
+
chainType: "EVM"
|
|
386
|
+
}),
|
|
387
|
+
signatured: signedMessage,
|
|
388
|
+
domain: inputs.domain
|
|
389
|
+
};
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
getBalance() {
|
|
393
|
+
return this.web3Provider.getBalance(this.address);
|
|
394
|
+
}
|
|
395
|
+
call(address, method, params, options) {
|
|
396
|
+
return this.web3Provider.call(address, method, params, options);
|
|
397
|
+
}
|
|
398
|
+
sendTransaction(contractAddress, method, payload, options) {
|
|
399
|
+
return this.web3Provider.sendTransaction(
|
|
400
|
+
contractAddress,
|
|
401
|
+
method,
|
|
402
|
+
payload,
|
|
403
|
+
options
|
|
404
|
+
);
|
|
405
|
+
}
|
|
406
|
+
callOnChain(chain, address, method, params, options) {
|
|
407
|
+
return this.web3Provider.callOnChain(
|
|
408
|
+
chain,
|
|
409
|
+
address,
|
|
410
|
+
method,
|
|
411
|
+
params,
|
|
412
|
+
options
|
|
413
|
+
);
|
|
414
|
+
}
|
|
415
|
+
getDomain(onChainDomain) {
|
|
416
|
+
if (!this.web3Provider) {
|
|
417
|
+
throw new Error("web3Provider is undefined");
|
|
418
|
+
}
|
|
419
|
+
const chainId = this.chainId;
|
|
420
|
+
return {
|
|
421
|
+
name: "Orderly",
|
|
422
|
+
version: "1",
|
|
423
|
+
chainId,
|
|
424
|
+
verifyingContract: onChainDomain ? this.contractManager.getContractInfoByEnv().verifyContractAddress : "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
pollTransactionReceiptWithBackoff(txHash, baseInterval, maxInterval, maxRetries) {
|
|
428
|
+
return this.web3Provider.pollTransactionReceiptWithBackoff(
|
|
429
|
+
txHash,
|
|
430
|
+
baseInterval,
|
|
431
|
+
maxInterval,
|
|
432
|
+
maxRetries
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
};
|
|
436
|
+
export {
|
|
437
|
+
DefaultEVMWalletAdapter,
|
|
438
|
+
version_default as version
|
|
439
|
+
};
|
|
2
440
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] =\n \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"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","names":["version_default","ed","bs58encode","BaseWalletAdapter","ChainNamespace","DEFAUL_ORDERLY_KEY_SCOPE","definedTypes","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","definedTypes","message","internalTransferMessage","addOrderlyKeyMessage","publicKey","expiration","scope","tag","subAccountId","__spreadValues","DEFAUL_ORDERLY_KEY_SCOPE","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","dexRequestMessage","payloadType","vaultId","dexBrokerId","DefaultEVMWalletAdapter","BaseWalletAdapter","web3Provider","__publicField","ChainNamespace","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","internalTransferMessage","settleMessage","dexRequestMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
|
|
1
|
+
{"version":3,"sources":["../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] =\n \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kodiak-finance/orderly-default-evm-adapter",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.19-rc.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@noble/ed25519": "^2.0.0",
|
|
16
16
|
"bs58": "^5.0.0",
|
|
17
|
-
"@kodiak-finance/orderly-core": "2.8.
|
|
18
|
-
"@kodiak-finance/orderly-types": "2.8.
|
|
17
|
+
"@kodiak-finance/orderly-core": "2.8.19-rc.0",
|
|
18
|
+
"@kodiak-finance/orderly-types": "2.8.19-rc.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"jest": "^29.7.0",
|
|
22
22
|
"tsup": "^7.1.0",
|
|
23
23
|
"typescript": "^5.1.6",
|
|
24
|
-
"tsconfig": "0.11.
|
|
24
|
+
"tsconfig": "0.11.18-rc.0"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"Orderly",
|