@orderly.network/default-evm-adapter 2.1.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -8,7 +8,7 @@ declare global {
8
8
  };
9
9
  }
10
10
  }
11
- declare const _default: "2.1.1";
11
+ declare const _default: "2.1.2";
12
12
 
13
13
  type Eip1193Provider = {
14
14
  request: (args: {
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ declare global {
8
8
  };
9
9
  }
10
10
  }
11
- declare const _default: "2.1.1";
11
+ declare const _default: "2.1.2";
12
12
 
13
13
  type Eip1193Provider = {
14
14
  request: (args: {
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var N=Object.create;var y=Object.defineProperty,K=Object.defineProperties,x=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,k=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var M=(a,t,e)=>t in a?y(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,g=(a,t)=>{for(var e in t||(t={}))v.call(t,e)&&M(a,e,t[e]);if(f)for(var e of f(t))B.call(t,e)&&M(a,e,t[e]);return a},p=(a,t)=>K(a,V(t));var L=(a,t)=>{for(var e in t)y(a,e,{get:t[e],enumerable:!0})},b=(a,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of W(t))!v.call(a,i)&&i!==e&&y(a,i,{get:()=>t[i],enumerable:!(n=x(t,i))||n.enumerable});return a};var Y=(a,t,e)=>(e=a!=null?N(k(a)):{},b(t||!a||!a.__esModule?y(e,"default",{value:a,enumerable:!0}):e,a)),J=a=>b(y({},"__esModule",{value:!0}),a);var h=(a,t,e)=>(M(a,typeof t!="symbol"?t+"":t,e),e);var m=(a,t,e)=>new Promise((n,i)=>{var s=o=>{try{d(e.next(o))}catch(c){i(c)}},r=o=>{try{d(e.throw(o))}catch(c){i(c)}},d=o=>o.done?n(o.value):Promise.resolve(o.value).then(s,r);d((e=e.apply(a,t)).next())});var j={};L(j,{DefaultEVMWalletAdapter:()=>w,version:()=>D});module.exports=J(j);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-evm-adapter"]="2.1.1");var D="2.1.1";var _=require("@orderly.network/core"),O=Y(require("@noble/ed25519")),A=require("bs58"),R=require("@orderly.network/types");var u=require("@orderly.network/types");function P(a){return m(this,null,function*(){let{chainId:t,receiver:e,token:n,amount:i,nonce:s,brokerId:r,domain:d}=a,o="Withdraw",c=Date.now(),l={EIP712Domain:u.definedTypes.EIP712Domain,[o]:u.definedTypes[o]},I={brokerId:r,chainId:t,receiver:e,token:n,amount:i,timestamp:c,withdrawNonce:s};return[I,{domain:d,message:I,primaryType:o,types:l}]})}function C(a){return m(this,null,function*(){let{publicKey:t,chainId:e,brokerId:n,expiration:i=365,timestamp:s=Date.now(),scope:r,tag:d,domain:o}=a,c="AddOrderlyKey",l=g({brokerId:n,orderlyKey:t,scope:r||"read,trading",chainId:e,timestamp:s,expiration:s+1e3*60*60*24*i},typeof d!="undefined"?{tag:d}:{}),I={EIP712Domain:u.definedTypes.EIP712Domain,[c]:u.definedTypes[c]};return[l,{domain:o,message:l,primaryType:c,types:I}]})}function S(a){return m(this,null,function*(){let{chainId:t,domain:e,registrationNonce:n,brokerId:i,timestamp:s}=a,r="Registration",d={brokerId:i,chainId:t,timestamp:s,registrationNonce:n},o={EIP712Domain:u.definedTypes.EIP712Domain,[r]:u.definedTypes[r]};return[d,{domain:e,message:d,primaryType:r,types:o}]})}function E(a){return m(this,null,function*(){let{settlePnlNonce:t,brokerId:e,chainId:n,timestamp:i,domain:s}=a,r="SettlePnl",d={EIP712Domain:u.definedTypes.EIP712Domain,[r]:u.definedTypes[r]},o={brokerId:e,chainId:n,timestamp:i,settleNonce:t};return[o,{domain:s,message:o,primaryType:r,types:d}]})}var w=class extends _.BaseWalletAdapter{constructor(e){super();this.web3Provider=e;h(this,"chainNamespace",R.ChainNamespace.evm);h(this,"_address");h(this,"_chainId");h(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,n;do e=O.utils.randomPrivateKey(),n=(0,A.encode)(e);while(n.length!==44);return n}lifecycleName(e,n){console.log("lifecycle",e,n)}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[n,i]=yield S(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:s}})}generateAddOrderlyKeyMessage(e){return m(this,null,function*(){let[n,i]=yield C(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:s}})}generateWithdrawMessage(e){return m(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield P(p(g({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(g({},i),{chainType:"EVM"}),signatured:r,domain:n}})}generateSettleMessage(e){return m(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield E(p(g({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(g({},i),{chainType:"EVM"}),signatured:r,domain:n}})}getBalance(){return this.web3Provider.getBalance(this.address)}call(e,n,i,s){return this.web3Provider.call(e,n,i,s)}sendTransaction(e,n,i,s){return this.web3Provider.sendTransaction(e,n,i,s)}callOnChain(e,n,i,s,r){return this.web3Provider.callOnChain(e,n,i,s,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,n,i,s){return this.web3Provider.pollTransactionReceiptWithBackoff(e,n,i,s)}};0&&(module.exports={DefaultEVMWalletAdapter,version});
1
+ "use strict";var N=Object.create;var y=Object.defineProperty,K=Object.defineProperties,x=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,k=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var M=(a,t,e)=>t in a?y(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,g=(a,t)=>{for(var e in t||(t={}))v.call(t,e)&&M(a,e,t[e]);if(f)for(var e of f(t))B.call(t,e)&&M(a,e,t[e]);return a},p=(a,t)=>K(a,V(t));var L=(a,t)=>{for(var e in t)y(a,e,{get:t[e],enumerable:!0})},b=(a,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of W(t))!v.call(a,i)&&i!==e&&y(a,i,{get:()=>t[i],enumerable:!(n=x(t,i))||n.enumerable});return a};var Y=(a,t,e)=>(e=a!=null?N(k(a)):{},b(t||!a||!a.__esModule?y(e,"default",{value:a,enumerable:!0}):e,a)),J=a=>b(y({},"__esModule",{value:!0}),a);var h=(a,t,e)=>(M(a,typeof t!="symbol"?t+"":t,e),e);var m=(a,t,e)=>new Promise((n,i)=>{var s=o=>{try{d(e.next(o))}catch(c){i(c)}},r=o=>{try{d(e.throw(o))}catch(c){i(c)}},d=o=>o.done?n(o.value):Promise.resolve(o.value).then(s,r);d((e=e.apply(a,t)).next())});var j={};L(j,{DefaultEVMWalletAdapter:()=>w,version:()=>D});module.exports=J(j);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-evm-adapter"]="2.1.2");var D="2.1.2";var _=require("@orderly.network/core"),O=Y(require("@noble/ed25519")),A=require("bs58"),R=require("@orderly.network/types");var u=require("@orderly.network/types");function P(a){return m(this,null,function*(){let{chainId:t,receiver:e,token:n,amount:i,nonce:s,brokerId:r,domain:d}=a,o="Withdraw",c=Date.now(),l={EIP712Domain:u.definedTypes.EIP712Domain,[o]:u.definedTypes[o]},I={brokerId:r,chainId:t,receiver:e,token:n,amount:i,timestamp:c,withdrawNonce:s};return[I,{domain:d,message:I,primaryType:o,types:l}]})}function C(a){return m(this,null,function*(){let{publicKey:t,chainId:e,brokerId:n,expiration:i=365,timestamp:s=Date.now(),scope:r,tag:d,domain:o}=a,c="AddOrderlyKey",l=g({brokerId:n,orderlyKey:t,scope:r||"read,trading",chainId:e,timestamp:s,expiration:s+1e3*60*60*24*i},typeof d!="undefined"?{tag:d}:{}),I={EIP712Domain:u.definedTypes.EIP712Domain,[c]:u.definedTypes[c]};return[l,{domain:o,message:l,primaryType:c,types:I}]})}function S(a){return m(this,null,function*(){let{chainId:t,domain:e,registrationNonce:n,brokerId:i,timestamp:s}=a,r="Registration",d={brokerId:i,chainId:t,timestamp:s,registrationNonce:n},o={EIP712Domain:u.definedTypes.EIP712Domain,[r]:u.definedTypes[r]};return[d,{domain:e,message:d,primaryType:r,types:o}]})}function E(a){return m(this,null,function*(){let{settlePnlNonce:t,brokerId:e,chainId:n,timestamp:i,domain:s}=a,r="SettlePnl",d={EIP712Domain:u.definedTypes.EIP712Domain,[r]:u.definedTypes[r]},o={brokerId:e,chainId:n,timestamp:i,settleNonce:t};return[o,{domain:s,message:o,primaryType:r,types:d}]})}var w=class extends _.BaseWalletAdapter{constructor(e){super();this.web3Provider=e;h(this,"chainNamespace",R.ChainNamespace.evm);h(this,"_address");h(this,"_chainId");h(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,n;do e=O.utils.randomPrivateKey(),n=(0,A.encode)(e);while(n.length!==44);return n}lifecycleName(e,n){console.log("lifecycle",e,n)}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[n,i]=yield S(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:s}})}generateAddOrderlyKeyMessage(e){return m(this,null,function*(){let[n,i]=yield C(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:s}})}generateWithdrawMessage(e){return m(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield P(p(g({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(g({},i),{chainType:"EVM"}),signatured:r,domain:n}})}generateSettleMessage(e){return m(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield E(p(g({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(g({},i),{chainType:"EVM"}),signatured:r,domain:n}})}getBalance(){return this.web3Provider.getBalance(this.address)}call(e,n,i,s){return this.web3Provider.call(e,n,i,s)}sendTransaction(e,n,i,s){return this.web3Provider.sendTransaction(e,n,i,s)}callOnChain(e,n,i,s,r){return this.web3Provider.callOnChain(e,n,i,s,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,n,i,s){return this.web3Provider.pollTransactionReceiptWithBackoff(e,n,i,s)}};0&&(module.exports={DefaultEVMWalletAdapter,version});
2
2
  //# 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","\ndeclare 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__[\"@orderly.network/default-evm-adapter\"] = \"2.1.1\";\n};\n\nexport default \"2.1.1\";\n","import {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { EVMAdapterOptions } from \"./types\";\nimport * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport { API, ChainNamespace } from \"@orderly.network/types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n withdrawMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\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 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 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 Message,\n ChainType,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { definedTypes } from \"@orderly.network/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 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 } = 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 || \"read,trading\",\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\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"],"mappings":"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","names":["src_exports","__export","DefaultEVMWalletAdapter","version_default","__toCommonJS","version_default","import_core","ed","import_bs58","import_types","import_types","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","message","addOrderlyKeyMessage","publicKey","expiration","scope","tag","__spreadValues","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","DefaultEVMWalletAdapter","web3Provider","__publicField","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","settleMessage","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","\ndeclare 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__[\"@orderly.network/default-evm-adapter\"] = \"2.1.2\";\n};\n\nexport default \"2.1.2\";\n","import {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { EVMAdapterOptions } from \"./types\";\nimport * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport { API, ChainNamespace } from \"@orderly.network/types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n withdrawMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\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 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 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 Message,\n ChainType,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { definedTypes } from \"@orderly.network/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 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 } = 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 || \"read,trading\",\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\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"],"mappings":"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","names":["src_exports","__export","DefaultEVMWalletAdapter","version_default","__toCommonJS","version_default","import_core","ed","import_bs58","import_types","import_types","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","message","addOrderlyKeyMessage","publicKey","expiration","scope","tag","__spreadValues","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","DefaultEVMWalletAdapter","web3Provider","__publicField","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","settleMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var S=Object.defineProperty,E=Object.defineProperties;var _=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var I=(s,a,e)=>a in s?S(s,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[a]=e,g=(s,a)=>{for(var e in a||(a={}))O.call(a,e)&&I(s,e,a[e]);if(M)for(var e of M(a))A.call(a,e)&&I(s,e,a[e]);return s},p=(s,a)=>E(s,_(a));var y=(s,a,e)=>(I(s,typeof a!="symbol"?a+"":a,e),e);var m=(s,a,e)=>new Promise((t,n)=>{var i=o=>{try{d(e.next(o))}catch(c){n(c)}},r=o=>{try{d(e.throw(o))}catch(c){n(c)}},d=o=>o.done?t(o.value):Promise.resolve(o.value).then(i,r);d((e=e.apply(s,a)).next())});typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-evm-adapter"]="2.1.1");var R="2.1.1";import{BaseWalletAdapter as T}from"@orderly.network/core";import*as P from"@noble/ed25519";import{encode as N}from"bs58";import{ChainNamespace as K}from"@orderly.network/types";import{definedTypes as u}from"@orderly.network/types";function f(s){return m(this,null,function*(){let{chainId:a,receiver:e,token:t,amount:n,nonce:i,brokerId:r,domain:d}=s,o="Withdraw",c=Date.now(),h={EIP712Domain:u.EIP712Domain,[o]:u[o]},l={brokerId:r,chainId:a,receiver:e,token:t,amount:n,timestamp:c,withdrawNonce:i};return[l,{domain:d,message:l,primaryType:o,types:h}]})}function v(s){return m(this,null,function*(){let{publicKey:a,chainId:e,brokerId:t,expiration:n=365,timestamp:i=Date.now(),scope:r,tag:d,domain:o}=s,c="AddOrderlyKey",h=g({brokerId:t,orderlyKey:a,scope:r||"read,trading",chainId:e,timestamp:i,expiration:i+1e3*60*60*24*n},typeof d!="undefined"?{tag:d}:{}),l={EIP712Domain:u.EIP712Domain,[c]:u[c]};return[h,{domain:o,message:h,primaryType:c,types:l}]})}function b(s){return m(this,null,function*(){let{chainId:a,domain:e,registrationNonce:t,brokerId:n,timestamp:i}=s,r="Registration",d={brokerId:n,chainId:a,timestamp:i,registrationNonce:t},o={EIP712Domain:u.EIP712Domain,[r]:u[r]};return[d,{domain:e,message:d,primaryType:r,types:o}]})}function D(s){return m(this,null,function*(){let{settlePnlNonce:a,brokerId:e,chainId:t,timestamp:n,domain:i}=s,r="SettlePnl",d={EIP712Domain:u.EIP712Domain,[r]:u[r]},o={brokerId:e,chainId:t,timestamp:n,settleNonce:a};return[o,{domain:i,message:o,primaryType:r,types:d}]})}var w=class extends T{constructor(e){super();this.web3Provider=e;y(this,"chainNamespace",K.evm);y(this,"_address");y(this,"_chainId");y(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=P.utils.randomPrivateKey(),t=N(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 b(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(g({},t),{chainType:"EVM"}),signatured:i}})}generateAddOrderlyKeyMessage(e){return m(this,null,function*(){let[t,n]=yield v(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(g({},t),{chainType:"EVM"}),signatured:i}})}generateWithdrawMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield f(p(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:r,domain:t}})}generateSettleMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield D(p(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:r,domain:t}})}getBalance(){return this.web3Provider.getBalance(this.address)}call(e,t,n,i){return this.web3Provider.call(e,t,n,i)}sendTransaction(e,t,n,i){return this.web3Provider.sendTransaction(e,t,n,i)}callOnChain(e,t,n,i,r){return this.web3Provider.callOnChain(e,t,n,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,n,i){return this.web3Provider.pollTransactionReceiptWithBackoff(e,t,n,i)}};export{w as DefaultEVMWalletAdapter,R as version};
1
+ var S=Object.defineProperty,E=Object.defineProperties;var _=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,A=Object.prototype.propertyIsEnumerable;var I=(s,a,e)=>a in s?S(s,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[a]=e,g=(s,a)=>{for(var e in a||(a={}))O.call(a,e)&&I(s,e,a[e]);if(M)for(var e of M(a))A.call(a,e)&&I(s,e,a[e]);return s},p=(s,a)=>E(s,_(a));var y=(s,a,e)=>(I(s,typeof a!="symbol"?a+"":a,e),e);var m=(s,a,e)=>new Promise((t,n)=>{var i=o=>{try{d(e.next(o))}catch(c){n(c)}},r=o=>{try{d(e.throw(o))}catch(c){n(c)}},d=o=>o.done?t(o.value):Promise.resolve(o.value).then(i,r);d((e=e.apply(s,a)).next())});typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-evm-adapter"]="2.1.2");var R="2.1.2";import{BaseWalletAdapter as T}from"@orderly.network/core";import*as P from"@noble/ed25519";import{encode as N}from"bs58";import{ChainNamespace as K}from"@orderly.network/types";import{definedTypes as u}from"@orderly.network/types";function f(s){return m(this,null,function*(){let{chainId:a,receiver:e,token:t,amount:n,nonce:i,brokerId:r,domain:d}=s,o="Withdraw",c=Date.now(),h={EIP712Domain:u.EIP712Domain,[o]:u[o]},l={brokerId:r,chainId:a,receiver:e,token:t,amount:n,timestamp:c,withdrawNonce:i};return[l,{domain:d,message:l,primaryType:o,types:h}]})}function v(s){return m(this,null,function*(){let{publicKey:a,chainId:e,brokerId:t,expiration:n=365,timestamp:i=Date.now(),scope:r,tag:d,domain:o}=s,c="AddOrderlyKey",h=g({brokerId:t,orderlyKey:a,scope:r||"read,trading",chainId:e,timestamp:i,expiration:i+1e3*60*60*24*n},typeof d!="undefined"?{tag:d}:{}),l={EIP712Domain:u.EIP712Domain,[c]:u[c]};return[h,{domain:o,message:h,primaryType:c,types:l}]})}function b(s){return m(this,null,function*(){let{chainId:a,domain:e,registrationNonce:t,brokerId:n,timestamp:i}=s,r="Registration",d={brokerId:n,chainId:a,timestamp:i,registrationNonce:t},o={EIP712Domain:u.EIP712Domain,[r]:u[r]};return[d,{domain:e,message:d,primaryType:r,types:o}]})}function D(s){return m(this,null,function*(){let{settlePnlNonce:a,brokerId:e,chainId:t,timestamp:n,domain:i}=s,r="SettlePnl",d={EIP712Domain:u.EIP712Domain,[r]:u[r]},o={brokerId:e,chainId:t,timestamp:n,settleNonce:a};return[o,{domain:i,message:o,primaryType:r,types:d}]})}var w=class extends T{constructor(e){super();this.web3Provider=e;y(this,"chainNamespace",K.evm);y(this,"_address");y(this,"_chainId");y(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=P.utils.randomPrivateKey(),t=N(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 b(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(g({},t),{chainType:"EVM"}),signatured:i}})}generateAddOrderlyKeyMessage(e){return m(this,null,function*(){let[t,n]=yield v(p(g({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(g({},t),{chainType:"EVM"}),signatured:i}})}generateWithdrawMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield f(p(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:r,domain:t}})}generateSettleMessage(e){return m(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield D(p(g({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(g({},n),{chainType:"EVM"}),signatured:r,domain:t}})}getBalance(){return this.web3Provider.getBalance(this.address)}call(e,t,n,i){return this.web3Provider.call(e,t,n,i)}sendTransaction(e,t,n,i){return this.web3Provider.sendTransaction(e,t,n,i)}callOnChain(e,t,n,i,r){return this.web3Provider.callOnChain(e,t,n,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,n,i){return this.web3Provider.pollTransactionReceiptWithBackoff(e,t,n,i)}};export{w as DefaultEVMWalletAdapter,R as version};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["\ndeclare 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__[\"@orderly.network/default-evm-adapter\"] = \"2.1.1\";\n};\n\nexport default \"2.1.1\";\n","import {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { EVMAdapterOptions } from \"./types\";\nimport * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport { API, ChainNamespace } from \"@orderly.network/types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n withdrawMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\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 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 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 Message,\n ChainType,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { definedTypes } from \"@orderly.network/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 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 } = 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 || \"read,trading\",\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\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"],"mappings":"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","names":["version_default","BaseWalletAdapter","ed","bs58encode","ChainNamespace","definedTypes","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","definedTypes","message","addOrderlyKeyMessage","publicKey","expiration","scope","tag","__spreadValues","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","DefaultEVMWalletAdapter","BaseWalletAdapter","web3Provider","__publicField","ChainNamespace","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","settleMessage","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":["\ndeclare 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__[\"@orderly.network/default-evm-adapter\"] = \"2.1.2\";\n};\n\nexport default \"2.1.2\";\n","import {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { EVMAdapterOptions } from \"./types\";\nimport * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport { API, ChainNamespace } from \"@orderly.network/types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n withdrawMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\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 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 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 Message,\n ChainType,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n} from \"@orderly.network/core\";\nimport { definedTypes } from \"@orderly.network/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 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 } = 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 || \"read,trading\",\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\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"],"mappings":"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","names":["version_default","BaseWalletAdapter","ed","bs58encode","ChainNamespace","definedTypes","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","definedTypes","message","addOrderlyKeyMessage","publicKey","expiration","scope","tag","__spreadValues","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","DefaultEVMWalletAdapter","BaseWalletAdapter","web3Provider","__publicField","ChainNamespace","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","settleMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orderly.network/default-evm-adapter",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
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
- "@orderly.network/core": "2.1.1",
18
- "@orderly.network/types": "2.1.1"
17
+ "@orderly.network/types": "2.1.2",
18
+ "@orderly.network/core": "2.1.2"
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.4.1"
24
+ "tsconfig": "0.4.2"
25
25
  },
26
26
  "keywords": [
27
27
  "Orderly",