@kodiak-finance/orderly-default-evm-adapter 2.7.4 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["export { default as version } from \"./version\";\nexport { DefaultEVMWalletAdapter } from \"./walletAdapter\";\nexport type { Web3Provider } from \"./provider/web3Provider.interface\";\n","declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] = \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"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","names":["src_exports","__export","DefaultEVMWalletAdapter","version_default","__toCommonJS","version_default","ed","import_bs58","import_orderly_core","import_orderly_types","import_orderly_types","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","message","internalTransferMessage","addOrderlyKeyMessage","publicKey","expiration","scope","tag","subAccountId","__spreadValues","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","dexRequestMessage","payloadType","vaultId","dexBrokerId","DefaultEVMWalletAdapter","web3Provider","__publicField","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","internalTransferMessage","settleMessage","dexRequestMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["export { default as version } from \"./version\";\nexport { DefaultEVMWalletAdapter } from \"./walletAdapter\";\nexport type { Web3Provider } from \"./provider/web3Provider.interface\";\n","declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] =\n \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"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","names":["src_exports","__export","DefaultEVMWalletAdapter","version_default","__toCommonJS","version_default","ed","import_bs58","import_orderly_core","import_orderly_types","import_orderly_types","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","message","internalTransferMessage","addOrderlyKeyMessage","publicKey","expiration","scope","tag","subAccountId","__spreadValues","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","dexRequestMessage","payloadType","vaultId","dexBrokerId","DefaultEVMWalletAdapter","web3Provider","__publicField","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","internalTransferMessage","settleMessage","dexRequestMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] = \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"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","names":["version_default","ed","bs58encode","BaseWalletAdapter","ChainNamespace","DEFAUL_ORDERLY_KEY_SCOPE","definedTypes","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","definedTypes","message","internalTransferMessage","addOrderlyKeyMessage","publicKey","expiration","scope","tag","subAccountId","__spreadValues","DEFAUL_ORDERLY_KEY_SCOPE","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","dexRequestMessage","payloadType","vaultId","dexBrokerId","DefaultEVMWalletAdapter","BaseWalletAdapter","web3Provider","__publicField","ChainNamespace","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","internalTransferMessage","settleMessage","dexRequestMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
|
|
1
|
+
{"version":3,"sources":["../src/version.ts","../src/walletAdapter.ts","../src/helper.ts"],"sourcesContent":["declare global {\n interface Window {\n __ORDERLY_VERSION__?: {\n [key: string]: string;\n };\n }\n}\nif (typeof window !== \"undefined\") {\n window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};\n window.__ORDERLY_VERSION__[\"@kodiak-finance/orderly-default-evm-adapter\"] =\n \"2.7.4\";\n}\n\nexport default \"2.7.4\";\n","import * as ed from \"@noble/ed25519\";\nimport { encode as bs58encode, decode as bs58Decode } from \"bs58\";\nimport {\n AddOrderlyKeyInputs,\n BaseWalletAdapter,\n IContract,\n Message,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n InternalTransferInputs,\n WithdrawInputs,\n DexRequestInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { API, ChainNamespace } from \"@kodiak-finance/orderly-types\";\nimport {\n addOrderlyKeyMessage,\n registerAccountMessage,\n settleMessage,\n internalTransferMessage,\n withdrawMessage,\n dexRequestMessage,\n} from \"./helper\";\nimport type { Web3Provider } from \"./provider/web3Provider.interface\";\nimport { EVMAdapterOptions } from \"./types\";\n\nclass DefaultEVMWalletAdapter extends BaseWalletAdapter<EVMAdapterOptions> {\n chainNamespace: ChainNamespace = ChainNamespace.evm;\n private _address!: string;\n private _chainId!: number;\n private contractManager!: IContract;\n\n constructor(private readonly web3Provider: Web3Provider) {\n super();\n }\n\n get address(): string {\n return this._address;\n }\n\n get chainId(): number {\n return this._chainId;\n }\n\n set chainId(chainId: number) {\n this._chainId = chainId;\n }\n\n private setConfig(config: EVMAdapterOptions): void {\n this._address = config.address;\n this._chainId = config.chain.id;\n\n if (config.provider) {\n this.web3Provider.provider = config.provider;\n }\n\n if (config.contractManager) {\n this.contractManager = config.contractManager;\n } else {\n throw new Error(\"Please provide contract manager class\");\n }\n }\n\n active(config: EVMAdapterOptions): void {\n this.setConfig(config);\n this.lifecycleName(\"active\", config);\n }\n\n deactivate(): void {\n this.lifecycleName(\"deactivate\", {});\n }\n\n update(config: EVMAdapterOptions): void {\n this.lifecycleName(\"update\", config);\n this.setConfig(config);\n }\n\n generateSecretKey(): string {\n let privKey, secretKey;\n do {\n privKey = ed.utils.randomPrivateKey();\n secretKey = bs58encode(privKey);\n } while (secretKey.length !== 44);\n\n return secretKey;\n }\n\n private lifecycleName(name: string, data: any) {\n console.log(\"lifecycle\", name, data);\n }\n\n private async signTypedData(toSignatureMessage: Record<string, any>) {\n console.log(\"toSignatureMessage\", this.address);\n return await this.web3Provider.signTypedData(\n // address,\n this.address,\n // toSignatureMessage\n JSON.stringify(toSignatureMessage),\n );\n }\n\n async generateRegisterAccountMessage(\n inputs: RegisterAccountInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await registerAccountMessage({\n ...inputs,\n\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateAddOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs,\n ): Promise<Message> {\n const [message, toSignatureMessage] = await addOrderlyKeyMessage({\n ...inputs,\n chainId: this.chainId,\n domain: this.getDomain(),\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n };\n }\n\n async generateWithdrawMessage(inputs: WithdrawInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n // const { chainId, receiver, token, amount, nonce, brokerId, timestamp } = inputs;\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await withdrawMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateInternalTransferMessage(\n inputs: InternalTransferInputs,\n ): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n\n const [message, toSignatureMessage] = await internalTransferMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateSettleMessage(inputs: SettleInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const domain = this.getDomain(true);\n const [message, toSignatureMessage] = await settleMessage({\n ...inputs,\n chainId: this.chainId,\n domain,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain,\n };\n }\n\n async generateDexRequestMessage(inputs: DexRequestInputs): Promise<\n Message & {\n domain: SignatureDomain;\n }\n > {\n const [message, toSignatureMessage] = await dexRequestMessage({\n ...inputs,\n chainId: this.chainId,\n });\n\n const signedMessage = await this.signTypedData(toSignatureMessage);\n\n return {\n message: {\n ...message,\n chainType: \"EVM\",\n },\n signatured: signedMessage,\n domain: inputs.domain,\n };\n }\n\n getBalance(): Promise<bigint> {\n return this.web3Provider.getBalance(this.address);\n }\n\n call(\n address: string,\n method: string,\n params: any[],\n options?: { abi: any },\n ): Promise<any> {\n return this.web3Provider.call(address, method, params, options);\n }\n\n sendTransaction(\n contractAddress: string,\n method: string,\n payload: {\n from: string;\n to?: string;\n data: any[];\n value?: bigint;\n },\n options: {\n abi: any;\n },\n ): Promise<any> {\n return this.web3Provider.sendTransaction(\n contractAddress,\n method,\n payload,\n options,\n );\n }\n\n callOnChain(\n chain: API.NetworkInfos,\n address: string,\n method: string,\n params: any[],\n options: { abi: any },\n ): Promise<any> {\n return this.web3Provider.callOnChain(\n chain,\n address,\n method,\n params,\n options,\n );\n }\n\n getDomain(onChainDomain?: boolean): SignatureDomain {\n if (!this.web3Provider) {\n throw new Error(\"web3Provider is undefined\");\n }\n const chainId = this.chainId;\n\n // const {verifyContractAddress} = this.contract.getContractInfoByEnv();\n return {\n name: \"Orderly\",\n version: \"1\",\n chainId,\n verifyingContract: onChainDomain\n ? this.contractManager.getContractInfoByEnv().verifyContractAddress\n : \"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC\",\n };\n }\n\n pollTransactionReceiptWithBackoff(\n txHash: string,\n baseInterval?: number,\n maxInterval?: number,\n maxRetries?: number,\n ): Promise<any> {\n return this.web3Provider.pollTransactionReceiptWithBackoff(\n txHash,\n baseInterval,\n maxInterval,\n maxRetries,\n );\n }\n}\n\nexport { DefaultEVMWalletAdapter };\n","import type {\n AddOrderlyKeyInputs,\n RegisterAccountInputs,\n SettleInputs,\n SignatureDomain,\n WithdrawInputs,\n DexRequestInputs,\n InternalTransferInputs,\n} from \"@kodiak-finance/orderly-core\";\nimport { DEFAUL_ORDERLY_KEY_SCOPE, definedTypes } from \"@kodiak-finance/orderly-types\";\n\nexport async function withdrawMessage(\n inputs: WithdrawInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, brokerId, domain } = inputs;\n // const domain = getDomain(chainId,true);\n\n const primaryType = \"Withdraw\";\n const timestamp = Date.now();\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId,\n receiver,\n token,\n amount,\n timestamp,\n withdrawNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function internalTransferMessage(\n inputs: InternalTransferInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, receiver, token, amount, nonce, domain } = inputs;\n\n const primaryType = \"InternalTransfer\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n chainId,\n receiver,\n token,\n amount,\n transferNonce: nonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function addOrderlyKeyMessage(\n inputs: AddOrderlyKeyInputs & {\n domain: SignatureDomain;\n chainId: number;\n // chainType: ChainType;\n },\n) {\n const {\n publicKey,\n chainId,\n // primaryType,\n brokerId,\n expiration = 365,\n timestamp = Date.now(),\n scope,\n tag,\n domain,\n subAccountId,\n } = inputs;\n // const now = Date.now();\n // message;\n // const chainId = this.chainId;\n const primaryType = \"AddOrderlyKey\";\n const message = {\n brokerId,\n orderlyKey: publicKey,\n scope: scope || DEFAUL_ORDERLY_KEY_SCOPE,\n chainId,\n timestamp,\n // chainType,\n expiration: timestamp + 1000 * 60 * 60 * 24 * expiration,\n ...(typeof tag !== \"undefined\" ? { tag } : {}),\n ...(typeof subAccountId !== \"undefined\" ? { subAccountId } : {}),\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\n/**\n * generate `registerAccount` data and to be signed message structure\n */\n\nexport async function registerAccountMessage(\n inputs: RegisterAccountInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { chainId, domain, registrationNonce, brokerId, timestamp } = inputs;\n // const chainId = this.chainId;\n // const now = Date.now();\n const primaryType = \"Registration\";\n const message = {\n brokerId,\n chainId,\n timestamp,\n registrationNonce,\n };\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function settleMessage(\n inputs: SettleInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const { settlePnlNonce, brokerId, chainId, timestamp, domain } = inputs;\n\n const primaryType = \"SettlePnl\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n brokerId,\n chainId: chainId,\n timestamp: timestamp,\n settleNonce: settlePnlNonce,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n\nexport async function dexRequestMessage(\n inputs: DexRequestInputs & {\n domain: SignatureDomain;\n chainId: number;\n },\n) {\n const {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n domain,\n } = inputs;\n\n const primaryType = \"DexRequest\";\n\n const typeDefinition = {\n EIP712Domain: definedTypes.EIP712Domain,\n [primaryType]: definedTypes[primaryType],\n };\n\n const message = {\n payloadType,\n nonce,\n receiver,\n amount,\n vaultId,\n token,\n dexBrokerId,\n };\n\n const toSignatureMessage = {\n domain,\n message,\n primaryType,\n types: typeDefinition,\n };\n\n return [message, toSignatureMessage] as const;\n}\n"],"mappings":"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","names":["version_default","ed","bs58encode","BaseWalletAdapter","ChainNamespace","DEFAUL_ORDERLY_KEY_SCOPE","definedTypes","withdrawMessage","inputs","__async","chainId","receiver","token","amount","nonce","brokerId","domain","primaryType","timestamp","typeDefinition","definedTypes","message","internalTransferMessage","addOrderlyKeyMessage","publicKey","expiration","scope","tag","subAccountId","__spreadValues","DEFAUL_ORDERLY_KEY_SCOPE","registerAccountMessage","registrationNonce","settleMessage","settlePnlNonce","dexRequestMessage","payloadType","vaultId","dexBrokerId","DefaultEVMWalletAdapter","BaseWalletAdapter","web3Provider","__publicField","ChainNamespace","chainId","config","privKey","secretKey","bs58encode","name","data","toSignatureMessage","__async","inputs","message","registerAccountMessage","__spreadProps","__spreadValues","signedMessage","addOrderlyKeyMessage","domain","withdrawMessage","internalTransferMessage","settleMessage","dexRequestMessage","address","method","params","options","contractAddress","payload","chain","onChainDomain","txHash","baseInterval","maxInterval","maxRetries"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kodiak-finance/orderly-default-evm-adapter",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@noble/ed25519": "^2.0.0",
|
|
16
16
|
"bs58": "^5.0.0",
|
|
17
|
-
"@kodiak-finance/orderly-core": "2.
|
|
18
|
-
"@kodiak-finance/orderly-types": "2.
|
|
17
|
+
"@kodiak-finance/orderly-core": "2.8.1",
|
|
18
|
+
"@kodiak-finance/orderly-types": "2.8.1"
|
|
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.
|
|
24
|
+
"tsconfig": "0.11.0"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"Orderly",
|