@orderly.network/default-evm-adapter 2.3.0 → 2.3.1-alpha.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.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var N=Object.create;var l=Object.defineProperty,K=Object.defineProperties,x=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,k=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var f=(a,t,e)=>t in a?l(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,c=(a,t)=>{for(var e in t||(t={}))b.call(t,e)&&f(a,e,t[e]);if(v)for(var e of v(t))B.call(t,e)&&f(a,e,t[e]);return a},p=(a,t)=>K(a,V(t));var L=(a,t)=>{for(var e in t)l(a,e,{get:t[e],enumerable:!0})},D=(a,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of W(t))!b.call(a,i)&&i!==e&&l(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)):{},D(t||!a||!a.__esModule?l(e,"default",{value:a,enumerable:!0}):e,a)),J=a=>D(l({},"__esModule",{value:!0}),a);var I=(a,t,e)=>(f(a,typeof t!="symbol"?t+"":t,e),e);var g=(a,t,e)=>new Promise((n,i)=>{var s=o=>{try{d(e.next(o))}catch(m){i(m)}},r=o=>{try{d(e.throw(o))}catch(m){i(m)}},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:()=>P});module.exports=J(j);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-evm-adapter"]="2.3.0");var P="2.3.0";var O=require("@orderly.network/core"),A=Y(require("@noble/ed25519")),R=require("bs58"),T=require("@orderly.network/types");var u=require("@orderly.network/types");function C(a){return g(this,null,function*(){let{chainId:t,receiver:e,token:n,amount:i,nonce:s,brokerId:r,domain:d}=a,o="Withdraw",m=Date.now(),y={EIP712Domain:u.definedTypes.EIP712Domain,[o]:u.definedTypes[o]},h={brokerId:r,chainId:t,receiver:e,token:n,amount:i,timestamp:m,withdrawNonce:s};return[h,{domain:d,message:h,primaryType:o,types:y}]})}function S(a){return g(this,null,function*(){let{publicKey:t,chainId:e,brokerId:n,expiration:i=365,timestamp:s=Date.now(),scope:r,tag:d,domain:o,subAccountId:m}=a,y="AddOrderlyKey",h=c(c({brokerId:n,orderlyKey:t,scope:r||"read,trading",chainId:e,timestamp:s,expiration:s+1e3*60*60*24*i},typeof d!="undefined"?{tag:d}:{}),typeof m!="undefined"?{subAccountId:m}:{}),M={EIP712Domain:u.definedTypes.EIP712Domain,[y]:u.definedTypes[y]};return[h,{domain:o,message:h,primaryType:y,types:M}]})}function E(a){return g(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 _(a){return g(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 O.BaseWalletAdapter{constructor(e){super();this.web3Provider=e;I(this,"chainNamespace",T.ChainNamespace.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,n;do e=A.utils.randomPrivateKey(),n=(0,R.encode)(e);while(n.length!==44);return n}lifecycleName(e,n){console.log("lifecycle",e,n)}signTypedData(e){return g(this,null,function*(){return console.log("toSignatureMessage",this.address),yield this.web3Provider.signTypedData(this.address,JSON.stringify(e))})}generateRegisterAccountMessage(e){return g(this,null,function*(){let[n,i]=yield E(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(c({},n),{chainType:"EVM"}),signatured:s}})}generateAddOrderlyKeyMessage(e){return g(this,null,function*(){let[n,i]=yield S(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(c({},n),{chainType:"EVM"}),signatured:s}})}generateWithdrawMessage(e){return g(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield C(p(c({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(c({},i),{chainType:"EVM"}),signatured:r,domain:n}})}generateSettleMessage(e){return g(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield _(p(c({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(c({},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 l=Object.defineProperty,K=Object.defineProperties,x=Object.getOwnPropertyDescriptor,V=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,k=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var f=(a,t,e)=>t in a?l(a,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[t]=e,c=(a,t)=>{for(var e in t||(t={}))b.call(t,e)&&f(a,e,t[e]);if(v)for(var e of v(t))B.call(t,e)&&f(a,e,t[e]);return a},p=(a,t)=>K(a,V(t));var L=(a,t)=>{for(var e in t)l(a,e,{get:t[e],enumerable:!0})},D=(a,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of W(t))!b.call(a,i)&&i!==e&&l(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)):{},D(t||!a||!a.__esModule?l(e,"default",{value:a,enumerable:!0}):e,a)),J=a=>D(l({},"__esModule",{value:!0}),a);var I=(a,t,e)=>(f(a,typeof t!="symbol"?t+"":t,e),e);var g=(a,t,e)=>new Promise((n,i)=>{var s=o=>{try{d(e.next(o))}catch(m){i(m)}},r=o=>{try{d(e.throw(o))}catch(m){i(m)}},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:()=>P});module.exports=J(j);typeof window!="undefined"&&(window.__ORDERLY_VERSION__=window.__ORDERLY_VERSION__||{},window.__ORDERLY_VERSION__["@orderly.network/default-evm-adapter"]="2.3.1-alpha.0");var P="2.3.1-alpha.0";var O=require("@orderly.network/core"),A=Y(require("@noble/ed25519")),R=require("bs58"),T=require("@orderly.network/types");var u=require("@orderly.network/types");function C(a){return g(this,null,function*(){let{chainId:t,receiver:e,token:n,amount:i,nonce:s,brokerId:r,domain:d}=a,o="Withdraw",m=Date.now(),y={EIP712Domain:u.definedTypes.EIP712Domain,[o]:u.definedTypes[o]},h={brokerId:r,chainId:t,receiver:e,token:n,amount:i,timestamp:m,withdrawNonce:s};return[h,{domain:d,message:h,primaryType:o,types:y}]})}function S(a){return g(this,null,function*(){let{publicKey:t,chainId:e,brokerId:n,expiration:i=365,timestamp:s=Date.now(),scope:r,tag:d,domain:o,subAccountId:m}=a,y="AddOrderlyKey",h=c(c({brokerId:n,orderlyKey:t,scope:r||"read,trading",chainId:e,timestamp:s,expiration:s+1e3*60*60*24*i},typeof d!="undefined"?{tag:d}:{}),typeof m!="undefined"?{subAccountId:m}:{}),M={EIP712Domain:u.definedTypes.EIP712Domain,[y]:u.definedTypes[y]};return[h,{domain:o,message:h,primaryType:y,types:M}]})}function E(a){return g(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 _(a){return g(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 O.BaseWalletAdapter{constructor(e){super();this.web3Provider=e;I(this,"chainNamespace",T.ChainNamespace.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,n;do e=A.utils.randomPrivateKey(),n=(0,R.encode)(e);while(n.length!==44);return n}lifecycleName(e,n){console.log("lifecycle",e,n)}signTypedData(e){return g(this,null,function*(){return console.log("toSignatureMessage",this.address),yield this.web3Provider.signTypedData(this.address,JSON.stringify(e))})}generateRegisterAccountMessage(e){return g(this,null,function*(){let[n,i]=yield E(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(c({},n),{chainType:"EVM"}),signatured:s}})}generateAddOrderlyKeyMessage(e){return g(this,null,function*(){let[n,i]=yield S(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),s=yield this.signTypedData(i);return{message:p(c({},n),{chainType:"EVM"}),signatured:s}})}generateWithdrawMessage(e){return g(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield C(p(c({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(c({},i),{chainType:"EVM"}),signatured:r,domain:n}})}generateSettleMessage(e){return g(this,null,function*(){let n=this.getDomain(!0),[i,s]=yield _(p(c({},e),{chainId:this.chainId,domain:n})),r=yield this.signTypedData(s);return{message:p(c({},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.3.0\";\n};\n\nexport default \"2.3.0\";\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 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 || \"read,trading\",\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"],"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","subAccountId","__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.3.1-alpha.0\";\n};\n\nexport default \"2.3.1-alpha.0\";\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 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 || \"read,trading\",\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"],"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","subAccountId","__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,c=(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 l=(s,a,e)=>(I(s,typeof a!="symbol"?a+"":a,e),e);var g=(s,a,e)=>new Promise((t,n)=>{var i=o=>{try{d(e.next(o))}catch(m){n(m)}},r=o=>{try{d(e.throw(o))}catch(m){n(m)}},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.3.0");var R="2.3.0";import{BaseWalletAdapter as T}from"@orderly.network/core";import*as C 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 v(s){return g(this,null,function*(){let{chainId:a,receiver:e,token:t,amount:n,nonce:i,brokerId:r,domain:d}=s,o="Withdraw",m=Date.now(),y={EIP712Domain:u.EIP712Domain,[o]:u[o]},h={brokerId:r,chainId:a,receiver:e,token:t,amount:n,timestamp:m,withdrawNonce:i};return[h,{domain:d,message:h,primaryType:o,types:y}]})}function b(s){return g(this,null,function*(){let{publicKey:a,chainId:e,brokerId:t,expiration:n=365,timestamp:i=Date.now(),scope:r,tag:d,domain:o,subAccountId:m}=s,y="AddOrderlyKey",h=c(c({brokerId:t,orderlyKey:a,scope:r||"read,trading",chainId:e,timestamp:i,expiration:i+1e3*60*60*24*n},typeof d!="undefined"?{tag:d}:{}),typeof m!="undefined"?{subAccountId:m}:{}),f={EIP712Domain:u.EIP712Domain,[y]:u[y]};return[h,{domain:o,message:h,primaryType:y,types:f}]})}function D(s){return g(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 P(s){return g(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;l(this,"chainNamespace",K.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=C.utils.randomPrivateKey(),t=N(e);while(t.length!==44);return t}lifecycleName(e,t){console.log("lifecycle",e,t)}signTypedData(e){return g(this,null,function*(){return console.log("toSignatureMessage",this.address),yield this.web3Provider.signTypedData(this.address,JSON.stringify(e))})}generateRegisterAccountMessage(e){return g(this,null,function*(){let[t,n]=yield D(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(c({},t),{chainType:"EVM"}),signatured:i}})}generateAddOrderlyKeyMessage(e){return g(this,null,function*(){let[t,n]=yield b(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(c({},t),{chainType:"EVM"}),signatured:i}})}generateWithdrawMessage(e){return g(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield v(p(c({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(c({},n),{chainType:"EVM"}),signatured:r,domain:t}})}generateSettleMessage(e){return g(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield P(p(c({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(c({},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,c=(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 l=(s,a,e)=>(I(s,typeof a!="symbol"?a+"":a,e),e);var g=(s,a,e)=>new Promise((t,n)=>{var i=o=>{try{d(e.next(o))}catch(m){n(m)}},r=o=>{try{d(e.throw(o))}catch(m){n(m)}},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.3.1-alpha.0");var R="2.3.1-alpha.0";import{BaseWalletAdapter as T}from"@orderly.network/core";import*as C 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 v(s){return g(this,null,function*(){let{chainId:a,receiver:e,token:t,amount:n,nonce:i,brokerId:r,domain:d}=s,o="Withdraw",m=Date.now(),y={EIP712Domain:u.EIP712Domain,[o]:u[o]},h={brokerId:r,chainId:a,receiver:e,token:t,amount:n,timestamp:m,withdrawNonce:i};return[h,{domain:d,message:h,primaryType:o,types:y}]})}function b(s){return g(this,null,function*(){let{publicKey:a,chainId:e,brokerId:t,expiration:n=365,timestamp:i=Date.now(),scope:r,tag:d,domain:o,subAccountId:m}=s,y="AddOrderlyKey",h=c(c({brokerId:t,orderlyKey:a,scope:r||"read,trading",chainId:e,timestamp:i,expiration:i+1e3*60*60*24*n},typeof d!="undefined"?{tag:d}:{}),typeof m!="undefined"?{subAccountId:m}:{}),f={EIP712Domain:u.EIP712Domain,[y]:u[y]};return[h,{domain:o,message:h,primaryType:y,types:f}]})}function D(s){return g(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 P(s){return g(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;l(this,"chainNamespace",K.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=C.utils.randomPrivateKey(),t=N(e);while(t.length!==44);return t}lifecycleName(e,t){console.log("lifecycle",e,t)}signTypedData(e){return g(this,null,function*(){return console.log("toSignatureMessage",this.address),yield this.web3Provider.signTypedData(this.address,JSON.stringify(e))})}generateRegisterAccountMessage(e){return g(this,null,function*(){let[t,n]=yield D(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(c({},t),{chainType:"EVM"}),signatured:i}})}generateAddOrderlyKeyMessage(e){return g(this,null,function*(){let[t,n]=yield b(p(c({},e),{chainId:this.chainId,domain:this.getDomain()})),i=yield this.signTypedData(n);return{message:p(c({},t),{chainType:"EVM"}),signatured:i}})}generateWithdrawMessage(e){return g(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield v(p(c({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(c({},n),{chainType:"EVM"}),signatured:r,domain:t}})}generateSettleMessage(e){return g(this,null,function*(){let t=this.getDomain(!0),[n,i]=yield P(p(c({},e),{chainId:this.chainId,domain:t})),r=yield this.signTypedData(i);return{message:p(c({},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
|
package/dist/index.mjs.map
CHANGED
|
@@ -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.3.0\";\n};\n\nexport default \"2.3.0\";\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 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 || \"read,trading\",\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"],"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","subAccountId","__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.3.1-alpha.0\";\n};\n\nexport default \"2.3.1-alpha.0\";\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 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 || \"read,trading\",\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"],"mappings":"8qBAQG,OAAO,QAAW,cACjB,OAAO,oBAAsB,OAAO,qBAAuB,CAAC,EAC5D,OAAO,oBAAoB,sCAAsC,EAAI,iBAGzE,IAAOA,EAAQ,gBCbf,OAEE,qBAAAC,MAOK,wBAEP,UAAYC,MAAQ,iBACpB,OAAS,UAAUC,MAAwC,OAC3D,OAAc,kBAAAC,MAAsB,yBCJpC,OAAS,gBAAAC,MAAoB,yBAE7B,SAAsBC,EACpBC,EAIA,QAAAC,EAAA,sBACA,GAAM,CAAE,QAAAC,EAAS,SAAAC,EAAU,MAAAC,EAAO,OAAAC,EAAQ,MAAAC,EAAO,SAAAC,EAAU,OAAAC,CAAO,EAAIR,EAGhES,EAAc,WACdC,EAAY,KAAK,IAAI,EAErBC,EAAiB,CACrB,aAAcC,EAAa,aAC3B,CAACH,CAAW,EAAGG,EAAaH,CAAW,CACzC,EAEMI,EAAU,CACd,SAAAN,EACA,QAAAL,EACA,SAAAC,EACA,MAAAC,EACA,OAAAC,EACA,UAAAK,EACA,cAAeJ,CACjB,EASA,MAAO,CAACO,EAPmB,CACzB,OAAAL,EACA,QAAAK,EACA,YAAAJ,EACA,MAAOE,CACT,CAEmC,CACrC,GAEA,SAAsBG,EACpBd,EAKA,QAAAC,EAAA,sBACA,GAAM,CACJ,UAAAc,EACA,QAAAb,EAEA,SAAAK,EACA,WAAAS,EAAa,IACb,UAAAN,EAAY,KAAK,IAAI,EACrB,MAAAO,EACA,IAAAC,EACA,OAAAV,EACA,aAAAW,CACF,EAAInB,EAIES,EAAc,gBACdI,EAAUO,IAAA,CACd,SAAAb,EACA,WAAYQ,EACZ,MAAOE,GAAS,eAChB,QAAAf,EACA,UAAAQ,EAEA,WAAYA,EAAY,IAAO,GAAK,GAAK,GAAKM,GAC1C,OAAOE,GAAQ,YAAc,CAAE,IAAAA,CAAI,EAAI,CAAC,GACxC,OAAOC,GAAiB,YAAc,CAAE,aAAAA,CAAa,EAAI,CAAC,GAG1DR,EAAiB,CACrB,aAAcC,EAAa,aAC3B,CAACH,CAAW,EAAGG,EAAaH,CAAW,CACzC,EASA,MAAO,CAACI,EAPmB,CACzB,OAAAL,EACA,QAAAK,EACA,YAAAJ,EACA,MAAOE,CACT,CAEmC,CACrC,GAMA,SAAsBU,EACpBrB,EAIA,QAAAC,EAAA,sBACA,GAAM,CAAE,QAAAC,EAAS,OAAAM,EAAQ,kBAAAc,EAAmB,SAAAf,EAAU,UAAAG,CAAU,EAAIV,EAG9DS,EAAc,eACdI,EAAU,CACd,SAAAN,EACA,QAAAL,EACA,UAAAQ,EACA,kBAAAY,CACF,EAEMX,EAAiB,CACrB,aAAcC,EAAa,aAC3B,CAACH,CAAW,EAAGG,EAAaH,CAAW,CACzC,EASA,MAAO,CAACI,EAPmB,CACzB,OAAAL,EACA,QAAAK,EACA,YAAAJ,EACA,MAAOE,CACT,CAEmC,CACrC,GAEA,SAAsBY,EACpBvB,EAIA,QAAAC,EAAA,sBACA,GAAM,CAAE,eAAAuB,EAAgB,SAAAjB,EAAU,QAAAL,EAAS,UAAAQ,EAAW,OAAAF,CAAO,EAAIR,EAE3DS,EAAc,YAEdE,EAAiB,CACrB,aAAcC,EAAa,aAC3B,CAACH,CAAW,EAAGG,EAAaH,CAAW,CACzC,EAEMI,EAAU,CACd,SAAAN,EACA,QAASL,EACT,UAAWQ,EACX,YAAac,CACf,EASA,MAAO,CAACX,EAPmB,CACzB,OAAAL,EACA,QAAAK,EACA,YAAAJ,EACA,MAAOE,CACT,CAEmC,CACrC,GD9IA,IAAMc,EAAN,cAAsCC,CAAqC,CAMzE,YAA6BC,EAA4B,CACvD,MAAM,EADqB,kBAAAA,EAL7BC,EAAA,sBAAiCC,EAAe,KAChDD,EAAA,KAAQ,YACRA,EAAA,KAAQ,YACRA,EAAA,KAAQ,kBAIR,CAEA,IAAI,SAAkB,CACpB,OAAO,KAAK,QACd,CAEA,IAAI,SAAkB,CACpB,OAAO,KAAK,QACd,CAEA,IAAI,QAAQE,EAAiB,CAC3B,KAAK,SAAWA,CAClB,CAEQ,UAAUC,EAAiC,CAQjD,GAPA,KAAK,SAAWA,EAAO,QACvB,KAAK,SAAWA,EAAO,MAAM,GAEzBA,EAAO,WACT,KAAK,aAAa,SAAWA,EAAO,UAGlCA,EAAO,gBACT,KAAK,gBAAkBA,EAAO,oBAE9B,OAAM,IAAI,MAAM,uCAAuC,CAE3D,CAEA,OAAOA,EAAiC,CACtC,KAAK,UAAUA,CAAM,EACrB,KAAK,cAAc,SAAUA,CAAM,CACrC,CAEA,YAAmB,CACjB,KAAK,cAAc,aAAc,CAAC,CAAC,CACrC,CAEA,OAAOA,EAAiC,CACtC,KAAK,cAAc,SAAUA,CAAM,EACnC,KAAK,UAAUA,CAAM,CACvB,CAEA,mBAA4B,CAC1B,IAAIC,EAASC,EACb,GACED,EAAa,QAAM,iBAAiB,EACpCC,EAAYC,EAAWF,CAAO,QACvBC,EAAU,SAAW,IAE9B,OAAOA,CACT,CAEQ,cAAcE,EAAcC,EAAW,CAC7C,QAAQ,IAAI,YAAaD,EAAMC,CAAI,CACrC,CAEc,cAAcC,EAAyC,QAAAC,EAAA,sBACnE,eAAQ,IAAI,qBAAsB,KAAK,OAAO,EACvC,MAAM,KAAK,aAAa,cAE7B,KAAK,QAEL,KAAK,UAAUD,CAAkB,CACnC,CACF,GAEM,+BACJE,EACkB,QAAAD,EAAA,sBAClB,GAAM,CAACE,EAASH,CAAkB,EAAI,MAAMI,EAAuBC,EAAAC,EAAA,GAC9DJ,GAD8D,CAGjE,QAAS,KAAK,QACd,OAAQ,KAAK,UAAU,CACzB,EAAC,EAEKK,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,CACd,CACF,GAEM,6BACJL,EACkB,QAAAD,EAAA,sBAClB,GAAM,CAACE,EAASH,CAAkB,EAAI,MAAMQ,EAAqBH,EAAAC,EAAA,GAC5DJ,GAD4D,CAE/D,QAAS,KAAK,QACd,OAAQ,KAAK,UAAU,CACzB,EAAC,EAEKK,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,CACd,CACF,GAEM,wBAAwBL,EAI5B,QAAAD,EAAA,sBAEA,IAAMQ,EAAS,KAAK,UAAU,EAAI,EAE5B,CAACN,EAASH,CAAkB,EAAI,MAAMU,EAAgBL,EAAAC,EAAA,GACvDJ,GADuD,CAE1D,QAAS,KAAK,QACd,OAAAO,CACF,EAAC,EAEKF,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,EACZ,OAAAE,CACF,CACF,GAEM,sBAAsBP,EAI1B,QAAAD,EAAA,sBACA,IAAMQ,EAAS,KAAK,UAAU,EAAI,EAC5B,CAACN,EAASH,CAAkB,EAAI,MAAMW,EAAcN,EAAAC,EAAA,GACrDJ,GADqD,CAExD,QAAS,KAAK,QACd,OAAAO,CACF,EAAC,EAEKF,EAAgB,MAAM,KAAK,cAAcP,CAAkB,EAEjE,MAAO,CACL,QAASK,EAAAC,EAAA,GACJH,GADI,CAEP,UAAW,KACb,GACA,WAAYI,EACZ,OAAAE,CACF,CACF,GAEA,YAA8B,CAC5B,OAAO,KAAK,aAAa,WAAW,KAAK,OAAO,CAClD,CAEA,KACEG,EACAC,EACAC,EACAC,EACc,CACd,OAAO,KAAK,aAAa,KAAKH,EAASC,EAAQC,EAAQC,CAAO,CAChE,CAEA,gBACEC,EACAH,EACAI,EAMAF,EAGc,CACd,OAAO,KAAK,aAAa,gBACvBC,EACAH,EACAI,EACAF,CACF,CACF,CAEA,YACEG,EACAN,EACAC,EACAC,EACAC,EACc,CACd,OAAO,KAAK,aAAa,YACvBG,EACAN,EACAC,EACAC,EACAC,CACF,CACF,CAEA,UAAUI,EAA0C,CAClD,GAAI,CAAC,KAAK,aACR,MAAM,IAAI,MAAM,2BAA2B,EAK7C,MAAO,CACL,KAAM,UACN,QAAS,IACT,QANc,KAAK,QAOnB,kBAAmBA,EACf,KAAK,gBAAgB,qBAAqB,EAAE,sBAC5C,4CACN,CACF,CAEA,kCACEC,EACAC,EACAC,EACAC,EACc,CACd,OAAO,KAAK,aAAa,kCACvBH,EACAC,EACAC,EACAC,CACF,CACF,CACF","names":["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","subAccountId","__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.3.0",
|
|
3
|
+
"version": "2.3.1-alpha.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
|
-
"@orderly.network/core": "2.3.0",
|
|
18
|
-
"@orderly.network/types": "2.3.0"
|
|
17
|
+
"@orderly.network/core": "2.3.1-alpha.0",
|
|
18
|
+
"@orderly.network/types": "2.3.1-alpha.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.6.0"
|
|
24
|
+
"tsconfig": "0.6.1-alpha.0"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"Orderly",
|