@kodiak-finance/orderly-default-evm-adapter 2.8.18 → 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 CHANGED
@@ -1,2 +1,473 @@
1
- "use strict";var k=Object.create;var I=Object.defineProperty,K=Object.defineProperties,V=Object.getOwnPropertyDescriptor,W=Object.getOwnPropertyDescriptors,q=Object.getOwnPropertyNames,w=Object.getOwnPropertySymbols,B=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable;var D=(a,n,e)=>n in a?I(a,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[n]=e,g=(a,n)=>{for(var e in n||(n={}))v.call(n,e)&&D(a,e,n[e]);if(w)for(var e of w(n))L.call(n,e)&&D(a,e,n[e]);return a},p=(a,n)=>K(a,W(n));var Y=(a,n)=>{for(var e in n)I(a,e,{get:n[e],enumerable:!0})},P=(a,n,e,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of q(n))!v.call(a,s)&&s!==e&&I(a,s,{get:()=>n[s],enumerable:!(t=V(n,s))||t.enumerable});return a};var F=(a,n,e)=>(e=a!=null?k(B(a)):{},P(n||!a||!a.__esModule?I(e,"default",{value:a,enumerable:!0}):e,a)),J=a=>P(I({},"__esModule",{value:!0}),a);var l=(a,n,e)=>(D(a,typeof n!="symbol"?n+"":n,e),e);var m=(a,n,e)=>new Promise((t,s)=>{var i=o=>{try{c(e.next(o))}catch(d){s(d)}},r=o=>{try{c(e.throw(o))}catch(d){s(d)}},c=o=>o.done?t(o.value):Promise.resolve(o.value).then(i,r);c((e=e.apply(a,n)).next())});var U={};Y(U,{DefaultEVMWalletAdapter:()=>M,version:()=>S});module.exports=J(U);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@kodiak-finance/orderly-default-evm-adapter"]="2.7.4");var S="2.7.4";var O=F(require("@noble/ed25519")),x=require("bs58"),A=require("@kodiak-finance/orderly-core"),N=require("@kodiak-finance/orderly-types");var u=require("@kodiak-finance/orderly-types");function b(a){return m(this,null,function*(){let{chainId:n,receiver:e,token:t,amount:s,nonce:i,brokerId:r,domain:c}=a,o="Withdraw",d=Date.now(),y={EIP712Domain:u.definedTypes.EIP712Domain,[o]:u.definedTypes[o]},h={brokerId:r,chainId:n,receiver:e,token:t,amount:s,timestamp:d,withdrawNonce:i};return[h,{domain:c,message:h,primaryType:o,types:y}]})}function E(a){return m(this,null,function*(){let{chainId:n,receiver:e,token:t,amount:s,nonce:i,domain:r}=a,c="InternalTransfer",o={EIP712Domain:u.definedTypes.EIP712Domain,[c]:u.definedTypes[c]},d={chainId:n,receiver:e,token:t,amount:s,transferNonce:i};return[d,{domain:r,message:d,primaryType:c,types:o}]})}function C(a){return m(this,null,function*(){let{publicKey:n,chainId:e,brokerId:t,expiration:s=365,timestamp:i=Date.now(),scope:r,tag:c,domain:o,subAccountId:d}=a,y="AddOrderlyKey",h=g(g({brokerId:t,orderlyKey:n,scope:r||u.DEFAUL_ORDERLY_KEY_SCOPE,chainId:e,timestamp:i,expiration:i+1e3*60*60*24*s},typeof c!="undefined"?{tag:c}:{}),typeof d!="undefined"?{subAccountId:d}:{}),f={EIP712Domain:u.definedTypes.EIP712Domain,[y]:u.definedTypes[y]};return[h,{domain:o,message:h,primaryType:y,types:f}]})}function T(a){return m(this,null,function*(){let{chainId:n,domain:e,registrationNonce:t,brokerId:s,timestamp:i}=a,r="Registration",c={brokerId:s,chainId:n,timestamp:i,registrationNonce:t},o={EIP712Domain:u.definedTypes.EIP712Domain,[r]:u.definedTypes[r]};return[c,{domain:e,message:c,primaryType:r,types:o}]})}function R(a){return m(this,null,function*(){let{settlePnlNonce:n,brokerId:e,chainId:t,timestamp:s,domain:i}=a,r="SettlePnl",c={EIP712Domain:u.definedTypes.EIP712Domain,[r]:u.definedTypes[r]},o={brokerId:e,chainId:t,timestamp:s,settleNonce:n};return[o,{domain:i,message:o,primaryType:r,types:c}]})}function _(a){return m(this,null,function*(){let{payloadType:n,nonce:e,receiver:t,amount:s,vaultId:i,token:r,dexBrokerId:c,domain:o}=a,d="DexRequest",y={EIP712Domain:u.definedTypes.EIP712Domain,[d]:u.definedTypes[d]},h={payloadType:n,nonce:e,receiver:t,amount:s,vaultId:i,token:r,dexBrokerId:c};return[h,{domain:o,message:h,primaryType:d,types:y}]})}var M=class extends A.BaseWalletAdapter{constructor(e){super();this.web3Provider=e;l(this,"chainNamespace",N.ChainNamespace.evm);l(this,"_address");l(this,"_chainId");l(this,"contractManager")}get address(){return this._address}get chainId(){return this._chainId}set chainId(e){this._chainId=e}setConfig(e){if(this._address=e.address,this._chainId=e.chain.id,e.provider&&(this.web3Provider.provider=e.provider),e.contractManager)this.contractManager=e.contractManager;else throw new Error("Please provide contract manager class")}active(e){this.setConfig(e),this.lifecycleName("active",e)}deactivate(){this.lifecycleName("deactivate",{})}update(e){this.lifecycleName("update",e),this.setConfig(e)}generateSecretKey(){let e,t;do e=O.utils.randomPrivateKey(),t=(0,x.encode)(e);while(t.length!==44);return t}lifecycleName(e,t){console.log("lifecycle",e,t)}signTypedData(e){return m(this,null,function*(){return console.log("toSignatureMessage",this.address),yield this.web3Provider.signTypedData(this.address,JSON.stringify(e))})}generateRegisterAccountMessage(e){return m(this,null,function*(){let[t,s]=yield T(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(s);return{message:p(g({},t),{chainType:"EVM"}),signatured:i}})}generateAddOrderlyKeyMessage(e){return m(this,null,function*(){let[t,s]=yield C(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(s);return{message:p(g({},t),{chainType:"EVM"}),signatured:i}})}generateWithdrawMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[s,i]=yield b(p(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(g({},s),{chainType:"EVM"}),signatured:r,domain:t}})}generateInternalTransferMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[s,i]=yield E(p(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(g({},s),{chainType:"EVM"}),signatured:r,domain:t}})}generateSettleMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[s,i]=yield R(p(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(g({},s),{chainType:"EVM"}),signatured:r,domain:t}})}generateDexRequestMessage(e){return m(this,null,function*(){let[t,s]=yield _(p(g({},e),{chainId:this.chainId})),i=yield this.signTypedData(s);return{message:p(g({},t),{chainType:"EVM"}),signatured:i,domain:e.domain}})}getBalance(){return this.web3Provider.getBalance(this.address)}call(e,t,s,i){return this.web3Provider.call(e,t,s,i)}sendTransaction(e,t,s,i){return this.web3Provider.sendTransaction(e,t,s,i)}callOnChain(e,t,s,i,r){return this.web3Provider.callOnChain(e,t,s,i,r)}getDomain(e){if(!this.web3Provider)throw new Error("web3Provider is undefined");return{name:"Orderly",version:"1",chainId:this.chainId,verifyingContract:e?this.contractManager.getContractInfoByEnv().verifyContractAddress:"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"}}pollTransactionReceiptWithBackoff(e,t,s,i){return this.web3Provider.pollTransactionReceiptWithBackoff(e,t,s,i)}};0&&(module.exports={DefaultEVMWalletAdapter,version});
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":"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","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 T=Object.defineProperty,R=Object.defineProperties;var _=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var M=(i,s,e)=>s in i?T(i,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[s]=e,g=(i,s)=>{for(var e in s||(s={}))O.call(s,e)&&M(i,e,s[e]);if(D)for(var e of D(s))x.call(s,e)&&M(i,e,s[e]);return i},u=(i,s)=>R(i,_(s));var I=(i,s,e)=>(M(i,typeof s!="symbol"?s+"":s,e),e);var m=(i,s,e)=>new Promise((t,n)=>{var a=o=>{try{c(e.next(o))}catch(d){n(d)}},r=o=>{try{c(e.throw(o))}catch(d){n(d)}},c=o=>o.done?t(o.value):Promise.resolve(o.value).then(a,r);c((e=e.apply(i,s)).next())});typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@kodiak-finance/orderly-default-evm-adapter"]="2.7.4");var A="2.7.4";import*as C from"@noble/ed25519";import{encode as k}from"bs58";import{BaseWalletAdapter as K}from"@kodiak-finance/orderly-core";import{ChainNamespace as V}from"@kodiak-finance/orderly-types";import{DEFAUL_ORDERLY_KEY_SCOPE as N,definedTypes as p}from"@kodiak-finance/orderly-types";function w(i){return m(this,null,function*(){let{chainId:s,receiver:e,token:t,amount:n,nonce:a,brokerId:r,domain:c}=i,o="Withdraw",d=Date.now(),y={EIP712Domain:p.EIP712Domain,[o]:p[o]},h={brokerId:r,chainId:s,receiver:e,token:t,amount:n,timestamp:d,withdrawNonce:a};return[h,{domain:c,message:h,primaryType:o,types:y}]})}function v(i){return m(this,null,function*(){let{chainId:s,receiver:e,token:t,amount:n,nonce:a,domain:r}=i,c="InternalTransfer",o={EIP712Domain:p.EIP712Domain,[c]:p[c]},d={chainId:s,receiver:e,token:t,amount:n,transferNonce:a};return[d,{domain:r,message:d,primaryType:c,types:o}]})}function P(i){return m(this,null,function*(){let{publicKey:s,chainId:e,brokerId:t,expiration:n=365,timestamp:a=Date.now(),scope:r,tag:c,domain:o,subAccountId:d}=i,y="AddOrderlyKey",h=g(g({brokerId:t,orderlyKey:s,scope:r||N,chainId:e,timestamp:a,expiration:a+1e3*60*60*24*n},typeof c!="undefined"?{tag:c}:{}),typeof d!="undefined"?{subAccountId:d}:{}),l={EIP712Domain:p.EIP712Domain,[y]:p[y]};return[h,{domain:o,message:h,primaryType:y,types:l}]})}function S(i){return m(this,null,function*(){let{chainId:s,domain:e,registrationNonce:t,brokerId:n,timestamp:a}=i,r="Registration",c={brokerId:n,chainId:s,timestamp:a,registrationNonce:t},o={EIP712Domain:p.EIP712Domain,[r]:p[r]};return[c,{domain:e,message:c,primaryType:r,types:o}]})}function b(i){return m(this,null,function*(){let{settlePnlNonce:s,brokerId:e,chainId:t,timestamp:n,domain:a}=i,r="SettlePnl",c={EIP712Domain:p.EIP712Domain,[r]:p[r]},o={brokerId:e,chainId:t,timestamp:n,settleNonce:s};return[o,{domain:a,message:o,primaryType:r,types:c}]})}function E(i){return m(this,null,function*(){let{payloadType:s,nonce:e,receiver:t,amount:n,vaultId:a,token:r,dexBrokerId:c,domain:o}=i,d="DexRequest",y={EIP712Domain:p.EIP712Domain,[d]:p[d]},h={payloadType:s,nonce:e,receiver:t,amount:n,vaultId:a,token:r,dexBrokerId:c};return[h,{domain:o,message:h,primaryType:d,types:y}]})}var f=class extends K{constructor(e){super();this.web3Provider=e;I(this,"chainNamespace",V.evm);I(this,"_address");I(this,"_chainId");I(this,"contractManager")}get address(){return this._address}get chainId(){return this._chainId}set chainId(e){this._chainId=e}setConfig(e){if(this._address=e.address,this._chainId=e.chain.id,e.provider&&(this.web3Provider.provider=e.provider),e.contractManager)this.contractManager=e.contractManager;else throw new Error("Please provide contract manager class")}active(e){this.setConfig(e),this.lifecycleName("active",e)}deactivate(){this.lifecycleName("deactivate",{})}update(e){this.lifecycleName("update",e),this.setConfig(e)}generateSecretKey(){let e,t;do e=C.utils.randomPrivateKey(),t=k(e);while(t.length!==44);return t}lifecycleName(e,t){console.log("lifecycle",e,t)}signTypedData(e){return m(this,null,function*(){return console.log("toSignatureMessage",this.address),yield this.web3Provider.signTypedData(this.address,JSON.stringify(e))})}generateRegisterAccountMessage(e){return m(this,null,function*(){let[t,n]=yield S(u(g({},e),{chainId:this.chainId,domain:this.getDomain()})),a=yield this.signTypedData(n);return{message:u(g({},t),{chainType:"EVM"}),signatured:a}})}generateAddOrderlyKeyMessage(e){return m(this,null,function*(){let[t,n]=yield P(u(g({},e),{chainId:this.chainId,domain:this.getDomain()})),a=yield this.signTypedData(n);return{message:u(g({},t),{chainType:"EVM"}),signatured:a}})}generateWithdrawMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[n,a]=yield w(u(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(a);return{message:u(g({},n),{chainType:"EVM"}),signatured:r,domain:t}})}generateInternalTransferMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[n,a]=yield v(u(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(a);return{message:u(g({},n),{chainType:"EVM"}),signatured:r,domain:t}})}generateSettleMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[n,a]=yield b(u(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(a);return{message:u(g({},n),{chainType:"EVM"}),signatured:r,domain:t}})}generateDexRequestMessage(e){return m(this,null,function*(){let[t,n]=yield E(u(g({},e),{chainId:this.chainId})),a=yield this.signTypedData(n);return{message:u(g({},t),{chainType:"EVM"}),signatured:a,domain:e.domain}})}getBalance(){return this.web3Provider.getBalance(this.address)}call(e,t,n,a){return this.web3Provider.call(e,t,n,a)}sendTransaction(e,t,n,a){return this.web3Provider.sendTransaction(e,t,n,a)}callOnChain(e,t,n,a,r){return this.web3Provider.callOnChain(e,t,n,a,r)}getDomain(e){if(!this.web3Provider)throw new Error("web3Provider is undefined");return{name:"Orderly",version:"1",chainId:this.chainId,verifyingContract:e?this.contractManager.getContractInfoByEnv().verifyContractAddress:"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC"}}pollTransactionReceiptWithBackoff(e,t,n,a){return this.web3Provider.pollTransactionReceiptWithBackoff(e,t,n,a)}};export{f as DefaultEVMWalletAdapter,A as version};
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
@@ -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.18",
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",
18
- "@kodiak-finance/orderly-types": "2.8.18"
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.17"
24
+ "tsconfig": "0.11.18-rc.0"
25
25
  },
26
26
  "keywords": [
27
27
  "Orderly",