@reyaxyz/sdk 0.113.13 → 0.114.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.
@@ -61,7 +61,7 @@ var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0,
61
61
  (0, encode_2.encodeSingleWithdraw)(params.pool.tokenAddress, amount, multiAction);
62
62
  return [4 /*yield*/, (0, common_3.signCoreCommands)(params.signer, reyaChainId, (0, common_2.getAddress)(reyaChainId, common_2.ContractType.PERIPHERY_PROXY), params.marginAccountId, multiAction.commands, params.owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_4.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint128', 'address', 'uint256'], [params.pool.id, params.owner.address, minShares]))];
63
63
  case 1:
64
- eip712Signature = _a.sent();
64
+ eip712Signature = (_a.sent()).signature;
65
65
  data = (0, encode_1.encodeTransferFromMAToPool)(params.marginAccountId, amount, eip712Signature, params.pool.id, minShares, params.owner.address).calldata;
66
66
  return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, reyaChainId, common_2.ContractType.PERIPHERY_PROXY, {})];
67
67
  case 2:
@@ -1 +1 @@
1
- {"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,0CAA2D;AAC3D,0CAAmD;AACnD,mCAAsD;AAKtD,0CAA6D;AAC7D,0CAA8C;AAC9C,oCAAiD;AACjD,iCAAgC;AAChC,8EAA6E;AAC7E,uCAAiD;AAE1C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,WAAW,GAAG,IAAA,uBAAc,EAChC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAC7C,CAAC;gBAEI,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAGtB,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBACtC,IAAA,6BAAoB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC5C,qBAAM,IAAA,yBAAgB,EAC5C,MAAM,CAAC,MAAM,EACb,WAAW,EACX,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,eAAe,CAAC,EACrD,MAAM,CAAC,eAAe,EACtB,WAAW,CAAC,QAAQ,EACpB,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAC7B,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,EAC3D,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAClD,CACF,EAAA;;gBAZK,eAAe,GAAG,SAYvB;gBAEiB,IAAI,GAAK,IAAA,mCAA0B,EACnD,MAAM,CAAC,eAAe,EACtB,MAAM,EACN,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,SAPqB,CAOpB;gBAEa,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,WAAW,EACX,qBAAY,CAAC,eAAe,EAC5B,EAAE,CACH,EAAA;;gBALK,MAAM,GAAG,SAKd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AAlDW,QAAA,oBAAoB,wBAkD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeTransferFromMAToPool } from './encode';\nimport {\n TransferFromMAToPoolParams,\n TransferFromMAToPoolResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { MultiAction } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { ethers } from 'ethers';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { getSdkEnvironment } from '../../config';\n\nexport const transferFromMAToPool = async (\n params: TransferFromMAToPoolParams,\n): Promise<TransferFromMAToPoolResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\n\n const tokenInfo = getTokenInfoByAddress(params.pool.tokenAddress);\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const minShares = BigInt(0);\n\n // transfer from MA to pool involves a core withdrawal\n const multiAction = new MultiAction();\n encodeSingleWithdraw(params.pool.tokenAddress, amount, multiAction);\n const eip712Signature = await signCoreCommands(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.marginAccountId,\n multiAction.commands,\n params.owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'address', 'uint256'],\n [params.pool.id, params.owner.address, minShares],\n ),\n );\n\n const { calldata: data } = encodeTransferFromMAToPool(\n params.marginAccountId,\n amount,\n eip712Signature,\n params.pool.id,\n minShares,\n params.owner.address,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
1
+ {"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,0CAA2D;AAC3D,0CAAmD;AACnD,mCAAsD;AAKtD,0CAA6D;AAC7D,0CAA8C;AAC9C,oCAAiD;AACjD,iCAAgC;AAChC,8EAA6E;AAC7E,uCAAiD;AAE1C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,WAAW,GAAG,IAAA,uBAAc,EAChC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAC7C,CAAC;gBAEI,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAGtB,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBACtC,IAAA,6BAAoB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAE7B,qBAAM,IAAA,yBAAgB,EAC3D,MAAM,CAAC,MAAM,EACb,WAAW,EACX,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,eAAe,CAAC,EACrD,MAAM,CAAC,eAAe,EACtB,WAAW,CAAC,QAAQ,EACpB,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAC7B,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,EAC3D,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAClD,CACF,EAAA;;gBAZkB,eAAe,GAAK,CAAA,SAYtC,CAAA,UAZiC;gBAchB,IAAI,GAAK,IAAA,mCAA0B,EACnD,MAAM,CAAC,eAAe,EACtB,MAAM,EACN,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,SAPqB,CAOpB;gBAEa,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,WAAW,EACX,qBAAY,CAAC,eAAe,EAC5B,EAAE,CACH,EAAA;;gBALK,MAAM,GAAG,SAKd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AAnDW,QAAA,oBAAoB,wBAmD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeTransferFromMAToPool } from './encode';\nimport {\n TransferFromMAToPoolParams,\n TransferFromMAToPoolResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { MultiAction } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { ethers } from 'ethers';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { getSdkEnvironment } from '../../config';\n\nexport const transferFromMAToPool = async (\n params: TransferFromMAToPoolParams,\n): Promise<TransferFromMAToPoolResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\n\n const tokenInfo = getTokenInfoByAddress(params.pool.tokenAddress);\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const minShares = BigInt(0);\n\n // transfer from MA to pool involves a core withdrawal\n const multiAction = new MultiAction();\n encodeSingleWithdraw(params.pool.tokenAddress, amount, multiAction);\n\n const { signature: eip712Signature } = await signCoreCommands(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.marginAccountId,\n multiAction.commands,\n params.owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'address', 'uint256'],\n [params.pool.id, params.owner.address, minShares],\n ),\n );\n\n const { calldata: data } = encodeTransferFromMAToPool(\n params.marginAccountId,\n amount,\n eip712Signature,\n params.pool.id,\n minShares,\n params.owner.address,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
@@ -88,7 +88,7 @@ var encodeTransferMargin = function (signer, chainId, coreSigNonce, fromMarginAc
88
88
  (0, encode_1.encodeSingleTransferMargin)(toMarginAccountId, token, amount, multiAction);
89
89
  return [4 /*yield*/, (0, common_2.signCoreCommands)(signer, chainId, (0, common_2.getAddress)(chainId, common_2.ContractType.PERIPHERY_PROXY), fromMarginAccountId, multiAction.commands, coreSigNonce + 1, (0, common_3.getCurrentTimestampInSeconds)() + common_2.CORE_DEADLINE_IN_SECONDS, ethers_2.ethers.AbiCoder.defaultAbiCoder().encode([], []))];
90
90
  case 1:
91
- eip712Signature = _a.sent();
91
+ eip712Signature = (_a.sent()).signature;
92
92
  value = BigInt(0);
93
93
  functionSignature = 'transferFromMAToMA';
94
94
  parameters = [
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAgE;AAChE,iCAAmC;AACnC,oCAKmB;AACnB,0CASyB;AACzB,0CAA+D;AAE/D,iCAAgC;AAEzB,IAAM,uBAAuB,GAAG,UACrC,YAAoB;IAEpB,IAAM,iBAAiB,GAAG,eAAe,CAAC;IAC1C,IAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,gBAAG,CAAC,CAAC;IACrC,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AARW,QAAA,uBAAuB,2BAQlC;AAEK,IAAM,aAAa,GAAG,UAC3B,SAAiB,EACjB,KAAa,EACb,MAAc;IAEd,IAAM,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IAEtC,IAAA,4BAAmB,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAEhD,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,IAAM,IAAI,GAAG,IAAA,yBAAgB,EAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAE7D,oBACK,IAAI,EACP;AACJ,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB;AAEK,IAAM,cAAc,GAAG,UAC5B,SAAiB,EACjB,KAAa,EACb,MAAc;IAEd,IAAM,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IAEtC,IAAA,6BAAoB,EAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAEjD,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,IAAM,IAAI,GAAG,IAAA,yBAAgB,EAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAE7D,oBACK,IAAI,EACP;AACJ,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB;AAEK,IAAM,oBAAoB,GAAG,UAClC,MAAc,EACd,OAAe,EACf,YAAoB,EACpB,mBAA2B,EAC3B,iBAAyB,EACzB,KAAa,EACb,MAAc;;;;;gBAER,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBACtC,8CAA8C;gBAC9C,IAAA,mCAA0B,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAElD,qBAAM,IAAA,yBAAgB,EAC5C,MAAM,EACN,OAAO,EACP,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,eAAe,CAAC,EACjD,mBAAmB,EACnB,WAAW,CAAC,QAAQ,EACpB,YAAY,GAAG,CAAC,EAChB,IAAA,qCAA4B,GAAE,GAAG,iCAAwB,EACzD,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CACjD,EAAA;;gBATK,eAAe,GAAG,SASvB;gBAEK,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClB,iBAAiB,GAAG,oBAAoB,CAAC;gBACzC,UAAU,GAAG;oBACjB;wBACE,SAAS,EAAE,mBAAmB;wBAC9B,QAAQ,EAAE;4BACR,aAAa,EAAE,iBAAiB;4BAChC,UAAU,EAAE,KAAK;4BACjB,gBAAgB,EAAE,MAAM;yBACzB;wBACD,GAAG,EAAE,eAAe;qBACrB;iBACF,CAAC;gBAEI,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;gBACxC,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;gBAC7E,sBAAO;wBACL,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;qBAClC,EAAC;;;KACH,CAAC;AA5CW,QAAA,oBAAoB,wBA4C/B;AAEK,IAAM,yBAAyB,GAAG,UACvC,SAAiB,EACjB,yBAAiC,EACjC,wBAAgC,EAChC,GAAoB,EACpB,iBAAyB,EACzB,OAAe,EACf,QAAgB;IAEhB,IAAM,iBAAiB,GAAG,YAAY,CAAC;IACvC,IAAM,UAAU,GAAG;QACjB;YACE,SAAS,WAAA;YACT,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,wBAAwB;YACrC,GAAG,KAAA;YACH,iBAAiB,mBAAA;YACjB,OAAO,SAAA;YACP,QAAQ,UAAA;SACT;KACF,CAAC;IACF,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IAC9C,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAxBW,QAAA,yBAAyB,6BAwBpC;AAEK,IAAM,2BAA2B,GAAG,UACzC,QAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,mBAA2B,EAC3B,UAAkB,EAClB,YAAoB,EACpB,qBAA6B,EAC7B,oBAA4B,EAC5B,qBAA6B;IAE7B,IAAM,mBAAmB,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IACxD,IAAM,MAAM,GAAG;QACb,YAAY,cAAA;QACZ,KAAK,EAAE,qBAAqB;KAC7B,CAAC;IACF,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,kBAAkB,CAC9D,iCAAiC,EACjC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAM,iBAAiB,GAAG,QAAQ,CAAC;IACnC,IAAM,UAAU,GAAG;QACjB,QAAQ;QACR,qBAAqB;QACrB,iBAAiB;QACjB,eAAe;QACf,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;IACF,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,mCAA0B,CAAC,CAAC;IAC5D,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC;AAjCW,QAAA,2BAA2B,+BAiCtC;AAEK,IAAM,gCAAgC,GAAG,UAC9C,QAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,mBAA2B,EAC3B,UAAkB,EAClB,SAAiB,EACjB,qBAA6B,EAC7B,oBAA4B,EAC5B,qBAA6B;IAE7B,IAAM,mBAAmB,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IACxD,IAAM,MAAM,GAAG;QACb,SAAS,WAAA;QACT,KAAK,EAAE,qBAAqB;KAC7B,CAAC;IACF,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,kBAAkB,CAC9D,sCAAsC,EACtC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAM,iBAAiB,GAAG,QAAQ,CAAC;IACnC,IAAM,UAAU,GAAG;QACjB,QAAQ;QACR,qBAAqB;QACrB,iBAAiB;QACjB,eAAe;QACf,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;IACF,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,mCAA0B,CAAC,CAAC;IAC5D,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC;AAjCW,QAAA,gCAAgC,oCAiC3C","sourcesContent":["import { MethodParameters, MultiAction } from '@reyaxyz/common';\nimport { Interface } from 'ethers';\nimport {\n encodeRouterCall,\n encodeSingleDeposit,\n encodeSingleTransferMargin,\n encodeSingleWithdraw,\n} from '../encode';\nimport {\n CoreAbi as abi,\n PeripheryAbi,\n Socket_VaultWithPayloadAbi,\n CORE_DEADLINE_IN_SECONDS,\n EIP712Signature,\n signCoreCommands,\n ContractType,\n getAddress,\n} from '@reyaxyz/common';\nimport { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { Signer } from 'ethers';\nimport { ethers } from 'ethers';\n\nexport const encodeCreateAccountCall = (\n accountOwner: string,\n): MethodParameters => {\n const functionSignature = 'createAccount';\n const parameters = [accountOwner];\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeDeposit = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleDeposit(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeWithdraw = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleWithdraw(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeTransferMargin = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n fromMarginAccountId: number,\n toMarginAccountId: number,\n token: string,\n amount: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n // todo: note can we make this more stateless?\n encodeSingleTransferMargin(toMarginAccountId, token, amount, multiAction);\n\n const eip712Signature = await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n fromMarginAccountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n );\n\n const value = BigInt(0);\n const functionSignature = 'transferFromMAToMA';\n const parameters = [\n {\n accountId: fromMarginAccountId,\n transfer: {\n destAccountId: toMarginAccountId,\n collateral: token,\n collateralAmount: amount,\n },\n sig: eip712Signature,\n },\n ];\n\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(value).toString(10),\n };\n};\n\nexport const encodeWithdrawMAAndBridge = (\n accountId: number,\n corePeripheryTokenAddress: string,\n corePeripheryTokenAmount: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawMA';\n const parameters = [\n {\n accountId,\n token: corePeripheryTokenAddress,\n tokenAmount: corePeripheryTokenAmount,\n sig,\n socketMsgGasLimit,\n chainId,\n receiver,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeBridgeAndDepositNewMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountOwner: string,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = {\n accountOwner,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositNewMA((address,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n\nexport const encodeBridgeAndDepositExistingMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountId: number,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = {\n accountId,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositExistingMA((uint128,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n"]}
1
+ {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import { MethodParameters, MultiAction } from '@reyaxyz/common';\nimport { Interface } from 'ethers';\nimport {\n encodeRouterCall,\n encodeSingleDeposit,\n encodeSingleTransferMargin,\n encodeSingleWithdraw,\n} from '../encode';\nimport {\n CoreAbi as abi,\n PeripheryAbi,\n Socket_VaultWithPayloadAbi,\n CORE_DEADLINE_IN_SECONDS,\n EIP712Signature,\n signCoreCommands,\n ContractType,\n getAddress,\n} from '@reyaxyz/common';\nimport { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { Signer } from 'ethers';\nimport { ethers } from 'ethers';\n\nexport const encodeCreateAccountCall = (\n accountOwner: string,\n): MethodParameters => {\n const functionSignature = 'createAccount';\n const parameters = [accountOwner];\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeDeposit = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleDeposit(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeWithdraw = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleWithdraw(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeTransferMargin = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n fromMarginAccountId: number,\n toMarginAccountId: number,\n token: string,\n amount: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n // todo: note can we make this more stateless?\n encodeSingleTransferMargin(toMarginAccountId, token, amount, multiAction);\n\n const { signature: eip712Signature } = await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n fromMarginAccountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n );\n\n const value = BigInt(0);\n const functionSignature = 'transferFromMAToMA';\n const parameters = [\n {\n accountId: fromMarginAccountId,\n transfer: {\n destAccountId: toMarginAccountId,\n collateral: token,\n collateralAmount: amount,\n },\n sig: eip712Signature,\n },\n ];\n\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(value).toString(10),\n };\n};\n\nexport const encodeWithdrawMAAndBridge = (\n accountId: number,\n corePeripheryTokenAddress: string,\n corePeripheryTokenAmount: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawMA';\n const parameters = [\n {\n accountId,\n token: corePeripheryTokenAddress,\n tokenAmount: corePeripheryTokenAmount,\n sig,\n socketMsgGasLimit,\n chainId,\n receiver,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeBridgeAndDepositNewMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountOwner: string,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = {\n accountOwner,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositNewMA((address,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n\nexport const encodeBridgeAndDepositExistingMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountId: number,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = {\n accountId,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositExistingMA((uint128,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n"]}
@@ -64,7 +64,7 @@ var withdrawMAAndBridge = function (_a) {
64
64
  }).msgGasLimit;
65
65
  return [4 /*yield*/, (0, common_3.signCoreCommands)(signer, reyaChainId, (0, common_2.getAddress)(reyaChainId, common_2.ContractType.PERIPHERY_PROXY), marginAccountId, multiAction.commands, owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_4.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['address', 'uint256', 'uint256'], [receiverAddress, moneyInOutChainId, socketMsgGasLimit]))];
66
66
  case 1:
67
- eip712Signature = _c.sent();
67
+ eip712Signature = (_c.sent()).signature;
68
68
  data = (0, encode_1.encodeWithdrawMAAndBridge)(marginAccountId, corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), eip712Signature, socketMsgGasLimit, moneyInOutChainId, receiverAddress).calldata;
69
69
  return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, reyaChainId, common_2.ContractType.PERIPHERY_PROXY, {
70
70
  destinationType: 'account',
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\n getSocketWithdrawMsgGasLimit,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeWithdrawMAAndBridge } from './encode';\nimport {\n WithdrawMAAndBridgeParams,\n WithdrawMAAndBridgeParamsResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { MultiAction } from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport { getSdkEnvironment, getTransactionModuleClient } from '../../config';\n\nexport const withdrawMAAndBridge = async ({\n signer,\n moneyInOutChainId,\n marginAccountId,\n owner,\n amount: unscaledAmount,\n tokenAddress,\n receiverAddress = owner.address,\n}: WithdrawMAAndBridgeParams): Promise<WithdrawMAAndBridgeParamsResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\n\n const corePeripheryTokenInfo = getTokenInfoByAddress(tokenAddress);\n\n const multiAction = new MultiAction();\n encodeSingleWithdraw(\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n multiAction,\n );\n\n const socketMsgGasLimit = getSocketWithdrawMsgGasLimit({\n moneyInOutChainId: moneyInOutChainId,\n }).msgGasLimit;\n\n const eip712Signature = await signCoreCommands(\n signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n marginAccountId,\n multiAction.commands,\n owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [receiverAddress, moneyInOutChainId, socketMsgGasLimit],\n ),\n );\n\n const { calldata: data } = encodeWithdrawMAAndBridge(\n marginAccountId,\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n eip712Signature,\n socketMsgGasLimit,\n moneyInOutChainId,\n receiverAddress,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'account',\n },\n );\n\n if (!result?.txHash) {\n return {\n transactionHash: null,\n coreSigNonce: null,\n };\n }\n\n try {\n const transactionModuleClient = getTransactionModuleClient();\n await transactionModuleClient.pushPendingTransaction(\n marginAccountId,\n result.txHash,\n moneyInOutChainId,\n unscaledAmount,\n corePeripheryTokenInfo.address,\n 'withdrawal',\n );\n } catch (error) {\n console.log('Error persisting pending withdraw transaction', error);\n }\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
1
+ {"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\n getSocketWithdrawMsgGasLimit,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeWithdrawMAAndBridge } from './encode';\nimport {\n WithdrawMAAndBridgeParams,\n WithdrawMAAndBridgeParamsResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { MultiAction } from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport { getSdkEnvironment, getTransactionModuleClient } from '../../config';\n\nexport const withdrawMAAndBridge = async ({\n signer,\n moneyInOutChainId,\n marginAccountId,\n owner,\n amount: unscaledAmount,\n tokenAddress,\n receiverAddress = owner.address,\n}: WithdrawMAAndBridgeParams): Promise<WithdrawMAAndBridgeParamsResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\n\n const corePeripheryTokenInfo = getTokenInfoByAddress(tokenAddress);\n\n const multiAction = new MultiAction();\n encodeSingleWithdraw(\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n multiAction,\n );\n\n const socketMsgGasLimit = getSocketWithdrawMsgGasLimit({\n moneyInOutChainId: moneyInOutChainId,\n }).msgGasLimit;\n\n const { signature: eip712Signature } = await signCoreCommands(\n signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n marginAccountId,\n multiAction.commands,\n owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [receiverAddress, moneyInOutChainId, socketMsgGasLimit],\n ),\n );\n\n const { calldata: data } = encodeWithdrawMAAndBridge(\n marginAccountId,\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n eip712Signature,\n socketMsgGasLimit,\n moneyInOutChainId,\n receiverAddress,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'account',\n },\n );\n\n if (!result?.txHash) {\n return {\n transactionHash: null,\n coreSigNonce: null,\n };\n }\n\n try {\n const transactionModuleClient = getTransactionModuleClient();\n await transactionModuleClient.pushPendingTransaction(\n marginAccountId,\n result.txHash,\n moneyInOutChainId,\n unscaledAmount,\n corePeripheryTokenInfo.address,\n 'withdrawal',\n );\n } catch (error) {\n console.log('Error persisting pending withdraw transaction', error);\n }\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
@@ -45,15 +45,15 @@ var common_4 = require("@reyaxyz/common");
45
45
  var ethers_1 = require("ethers");
46
46
  var ethers_2 = require("ethers");
47
47
  var encodeMatchOrder = function (signer, chainId, coreSigNonce, accountId, orderBase, orderPriceLimit, counterpartyAccountIds, marketId, exchangeId) { return __awaiter(void 0, void 0, void 0, function () {
48
- var multiAction, eip712Signature, value, functionSignature, parameters, INTERFACE, calldata;
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
48
+ var multiAction, _a, eip712Signature, eip712Payload, value, functionSignature, parameters, INTERFACE, calldata;
49
+ return __generator(this, function (_b) {
50
+ switch (_b.label) {
51
51
  case 0:
52
52
  multiAction = new common_1.MultiAction();
53
53
  (0, encode_1.encodeSingleTrade)(counterpartyAccountIds, orderBase, orderPriceLimit, marketId, exchangeId, multiAction);
54
54
  return [4 /*yield*/, (0, common_2.signCoreCommands)(signer, chainId, (0, common_3.getAddress)(chainId, common_3.ContractType.PERIPHERY_PROXY), accountId, multiAction.commands, coreSigNonce + 1, (0, common_3.getCurrentTimestampInSeconds)() + common_4.CORE_DEADLINE_IN_SECONDS, ethers_2.ethers.AbiCoder.defaultAbiCoder().encode([], []))];
55
55
  case 1:
56
- eip712Signature = _a.sent();
56
+ _a = _b.sent(), eip712Signature = _a.signature, eip712Payload = _a.payload;
57
57
  value = BigInt(0);
58
58
  functionSignature = 'execute';
59
59
  parameters = [
@@ -64,6 +64,8 @@ var encodeMatchOrder = function (signer, chainId, coreSigNonce, accountId, order
64
64
  return [2 /*return*/, {
65
65
  calldata: calldata,
66
66
  value: BigInt(value).toString(10),
67
+ signature: eip712Signature,
68
+ payload: eip712Payload,
67
69
  }];
68
70
  }
69
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAIyB;AACzB,oCAA8C;AAC9C,0CAAmD;AACnD,0CAIyB;AACzB,0CAA2D;AAC3D,iCAA2C;AAC3C,iCAAgC;AACzB,IAAM,gBAAgB,GAAG,UAC9B,MAAc,EACd,OAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,eAAuB,EACvB,sBAAgC,EAChC,QAAgB,EAChB,UAAkB;;;;;gBAEZ,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBAEtC,IAAA,0BAAiB,EACf,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;gBACsB,qBAAM,IAAA,yBAAgB,EAC5C,MAAM,EACN,OAAO,EACP,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,eAAe,CAAC,EACjD,SAAS,EACT,WAAW,CAAC,QAAQ,EACpB,YAAY,GAAG,CAAC,EAChB,IAAA,qCAA4B,GAAE,GAAG,iCAAwB,EACzD,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CACjD,EAAA;;gBATK,eAAe,GAAG,SASvB;gBAEK,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAElB,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,UAAU,GAAG;oBACjB,EAAE,SAAS,WAAA,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE;iBACpE,CAAC;gBAEI,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAG,CAAC,CAAC;gBAC/B,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;gBAC7E,sBAAO;wBACL,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;qBAClC,EAAC;;;KACH,CAAC;AA7CW,QAAA,gBAAgB,oBA6C3B","sourcesContent":["import {\n MethodParameters,\n MultiAction,\n PeripheryAbi as abi,\n} from '@reyaxyz/common';\nimport { encodeSingleTrade } from '../encode';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport {\n getCurrentTimestampInSeconds,\n ContractType,\n getAddress,\n} from '@reyaxyz/common';\nimport { CORE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { Interface, Signer } from 'ethers';\nimport { ethers } from 'ethers';\nexport const encodeMatchOrder = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n orderBase: bigint,\n orderPriceLimit: bigint,\n counterpartyAccountIds: number[],\n marketId: number,\n exchangeId: number,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n\n encodeSingleTrade(\n counterpartyAccountIds,\n orderBase,\n orderPriceLimit,\n marketId,\n exchangeId,\n multiAction,\n );\n const eip712Signature = await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n accountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n );\n\n const value = BigInt(0);\n\n const functionSignature = 'execute';\n const parameters = [\n { accountId, commands: multiAction.commands, sig: eip712Signature },\n ];\n\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(value).toString(10),\n };\n};\n"]}
1
+ {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAmE;AACnE,oCAA8C;AAC9C,0CAAmD;AACnD,0CAIyB;AACzB,0CAA2D;AAC3D,iCAA2C;AAC3C,iCAAgC;AAGzB,IAAM,gBAAgB,GAAG,UAC9B,MAAc,EACd,OAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,eAAuB,EACvB,sBAAgC,EAChC,QAAgB,EAChB,UAAkB;;;;;gBAEZ,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBAEtC,IAAA,0BAAiB,EACf,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;gBAGA,qBAAM,IAAA,yBAAgB,EACpB,MAAM,EACN,OAAO,EACP,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,eAAe,CAAC,EACjD,SAAS,EACT,WAAW,CAAC,QAAQ,EACpB,YAAY,GAAG,CAAC,EAChB,IAAA,qCAA4B,GAAE,GAAG,iCAAwB,EACzD,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CACjD,EAAA;;gBAVG,KACJ,SASC,EAVgB,eAAe,eAAA,EAAW,aAAa,aAAA;gBAYpD,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAElB,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,UAAU,GAAG;oBACjB,EAAE,SAAS,WAAA,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE;iBACpE,CAAC;gBAEI,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAG,CAAC,CAAC;gBAC/B,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;gBAC7E,sBAAO;wBACL,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,aAAa;qBACvB,EAAC;;;KACH,CAAC;AAjDW,QAAA,gBAAgB,oBAiD3B","sourcesContent":["import { MultiAction, PeripheryAbi as abi } from '@reyaxyz/common';\nimport { encodeSingleTrade } from '../encode';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport {\n getCurrentTimestampInSeconds,\n ContractType,\n getAddress,\n} from '@reyaxyz/common';\nimport { CORE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { Interface, Signer } from 'ethers';\nimport { ethers } from 'ethers';\nimport { MethodParametersAndEIP712Payload } from './types';\n\nexport const encodeMatchOrder = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n orderBase: bigint,\n orderPriceLimit: bigint,\n counterpartyAccountIds: number[],\n marketId: number,\n exchangeId: number,\n): Promise<MethodParametersAndEIP712Payload> => {\n const multiAction = new MultiAction();\n\n encodeSingleTrade(\n counterpartyAccountIds,\n orderBase,\n orderPriceLimit,\n marketId,\n exchangeId,\n multiAction,\n );\n\n const { signature: eip712Signature, payload: eip712Payload } =\n await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n accountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n );\n\n const value = BigInt(0);\n\n const functionSignature = 'execute';\n const parameters = [\n { accountId, commands: multiAction.commands, sig: eip712Signature },\n ];\n\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(value).toString(10),\n signature: eip712Signature,\n payload: eip712Payload,\n };\n};\n"]}
@@ -48,10 +48,10 @@ var common_2 = require("@reyaxyz/common");
48
48
  var common_3 = require("@reyaxyz/common");
49
49
  var config_1 = require("../../config");
50
50
  var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
51
- var snappedAmount, orderPriceLimit, orderBase, env, chainId, data, result;
52
- var _a, _b, _c, _d, _e, _f;
53
- return __generator(this, function (_g) {
54
- switch (_g.label) {
51
+ var snappedAmount, orderPriceLimit, orderBase, env, chainId, _a, data, eip712Payload, eip712Signature, result;
52
+ var _b, _c, _d, _e, _f, _g;
53
+ return __generator(this, function (_h) {
54
+ switch (_h.label) {
55
55
  case 0:
56
56
  if (params.amountInBase === 0) {
57
57
  throw new Error('Position base can not be 0');
@@ -75,35 +75,39 @@ var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
75
75
  chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
76
76
  return [4 /*yield*/, (0, encode_1.encodeMatchOrder)(params.signer, chainId, params.owner.coreSigNonce, params.marginAccountId, orderBase, orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId)];
77
77
  case 1:
78
- data = (_g.sent()).calldata;
78
+ _a = _h.sent(), data = _a.calldata, eip712Payload = _a.payload, eip712Signature = _a.signature;
79
79
  return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId, common_2.ContractType.PERIPHERY_PROXY, {
80
80
  action: 'matchOrder',
81
81
  accountId: params.marginAccountId,
82
82
  marketId: params.market.id,
83
83
  tradeSource: params.tradeSource,
84
+ matchOrder: {
85
+ userEIP712Signature: eip712Signature,
86
+ eip712Payload: eip712Payload,
87
+ },
84
88
  })];
85
89
  case 2:
86
- result = _g.sent();
90
+ result = _h.sent();
87
91
  return [2 /*return*/, {
88
92
  transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
89
93
  coreSigNonce: Number(result === null || result === void 0 ? void 0 : result.coreSigNonce) || null,
90
- xpBoost: ((_a = result.miscellaneous) === null || _a === void 0 ? void 0 : _a.tradeXpBoost) || 0,
91
- lotteryXpBoost: ((_b = result.miscellaneous) === null || _b === void 0 ? void 0 : _b.lotteryXpBoost) || 0,
92
- isNftWon: ((_c = result.miscellaneous) === null || _c === void 0 ? void 0 : _c.xpNftAwarded) || false,
94
+ xpBoost: ((_b = result.miscellaneous) === null || _b === void 0 ? void 0 : _b.tradeXpBoost) || 0,
95
+ lotteryXpBoost: ((_c = result.miscellaneous) === null || _c === void 0 ? void 0 : _c.lotteryXpBoost) || 0,
96
+ isNftWon: ((_d = result.miscellaneous) === null || _d === void 0 ? void 0 : _d.xpNftAwarded) || false,
93
97
  marginAccountId: params.marginAccountId,
94
- xpEarned: ((_d = result.miscellaneous) === null || _d === void 0 ? void 0 : _d.xpEarned) || 0,
95
- executionPrice: ((_e = result.tradeDetails) === null || _e === void 0 ? void 0 : _e.executionPrice) || 0,
96
- base: ((_f = result.tradeDetails) === null || _f === void 0 ? void 0 : _f.base) || 0,
98
+ xpEarned: ((_e = result.miscellaneous) === null || _e === void 0 ? void 0 : _e.xpEarned) || 0,
99
+ executionPrice: ((_f = result.tradeDetails) === null || _f === void 0 ? void 0 : _f.executionPrice) || 0,
100
+ base: ((_g = result.tradeDetails) === null || _g === void 0 ? void 0 : _g.base) || 0,
97
101
  }];
98
102
  }
99
103
  });
100
104
  }); };
101
105
  exports.matchOrder = matchOrder;
102
106
  var closeOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
103
- var base, orderPriceLimit, env, chainId, data, result;
104
- var _a, _b, _c, _d, _e, _f;
105
- return __generator(this, function (_g) {
106
- switch (_g.label) {
107
+ var base, orderPriceLimit, env, chainId, _a, data, eip712Payload, eip712Signature, result;
108
+ var _b, _c, _d, _e, _f, _g;
109
+ return __generator(this, function (_h) {
110
+ switch (_h.label) {
107
111
  case 0:
108
112
  if (params.orderBase === 0) {
109
113
  throw new Error('Position base can not be 0');
@@ -114,24 +118,28 @@ var closeOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
114
118
  chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
115
119
  return [4 /*yield*/, (0, encode_1.encodeMatchOrder)(params.signer, chainId, params.owner.coreSigNonce, params.marginAccountId, -base, orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId)];
116
120
  case 1:
117
- data = (_g.sent()).calldata;
121
+ _a = _h.sent(), data = _a.calldata, eip712Payload = _a.payload, eip712Signature = _a.signature;
118
122
  return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId, common_2.ContractType.PERIPHERY_PROXY, {
119
123
  action: 'closeOrder',
120
124
  accountId: params.marginAccountId,
121
125
  marketId: params.market.id,
126
+ matchOrder: {
127
+ userEIP712Signature: eip712Signature,
128
+ eip712Payload: eip712Payload,
129
+ },
122
130
  })];
123
131
  case 2:
124
- result = _g.sent();
132
+ result = _h.sent();
125
133
  return [2 /*return*/, {
126
134
  transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
127
135
  coreSigNonce: Number(result === null || result === void 0 ? void 0 : result.coreSigNonce) || null,
128
- xpBoost: ((_a = result.miscellaneous) === null || _a === void 0 ? void 0 : _a.tradeXpBoost) || 0,
129
- lotteryXpBoost: ((_b = result.miscellaneous) === null || _b === void 0 ? void 0 : _b.lotteryXpBoost) || 0,
130
- isNftWon: ((_c = result.miscellaneous) === null || _c === void 0 ? void 0 : _c.xpNftAwarded) || false,
136
+ xpBoost: ((_b = result.miscellaneous) === null || _b === void 0 ? void 0 : _b.tradeXpBoost) || 0,
137
+ lotteryXpBoost: ((_c = result.miscellaneous) === null || _c === void 0 ? void 0 : _c.lotteryXpBoost) || 0,
138
+ isNftWon: ((_d = result.miscellaneous) === null || _d === void 0 ? void 0 : _d.xpNftAwarded) || false,
131
139
  marginAccountId: params.marginAccountId,
132
- xpEarned: ((_d = result.miscellaneous) === null || _d === void 0 ? void 0 : _d.xpEarned) || 0,
133
- executionPrice: ((_e = result.tradeDetails) === null || _e === void 0 ? void 0 : _e.executionPrice) || 0,
134
- base: ((_f = result.tradeDetails) === null || _f === void 0 ? void 0 : _f.base) || 0,
140
+ xpEarned: ((_e = result.miscellaneous) === null || _e === void 0 ? void 0 : _e.xpEarned) || 0,
141
+ executionPrice: ((_f = result.tradeDetails) === null || _f === void 0 ? void 0 : _f.executionPrice) || 0,
142
+ base: ((_g = result.tradeDetails) === null || _g === void 0 ? void 0 : _g.base) || 0,
135
143
  }];
136
144
  }
137
145
  });
@@ -1 +1 @@
1
- {"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CloseOrderParams,\n CloseOrderResult,\n MatchOrderParams,\n MatchOrderResult,\n} from './types';\nimport { encodeMatchOrder } from './encode';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { calculatePriceLimitForTrade, getReyaNetwork } from '@reyaxyz/common';\nimport BigNumber from 'bignumber.js';\nimport { ContractType } from '@reyaxyz/common';\nimport { scale } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\n\nexport const matchOrder = async (\n params: MatchOrderParams,\n): Promise<MatchOrderResult> => {\n if (params.amountInBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n let snappedAmount = BigNumber(params.amountInBase)\n .abs()\n .dividedBy(params.market.baseSpacing)\n .integerValue(BigNumber.ROUND_FLOOR)\n .multipliedBy(params.market.baseSpacing)\n .toNumber();\n\n if (params.amountInBase < 0) {\n snappedAmount = -snappedAmount;\n }\n\n if (Math.abs(snappedAmount) < params.market.minOrderSizeBase) {\n console.error(\n `Minimum trade amount ${params.market.minOrderSizeBase}. Entered amount ${snappedAmount}, ${params.amountInBase}`,\n );\n throw new Error(`Minimum trade amount ${params.market.minOrderSizeBase}`);\n }\n\n // add rounding here\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n snappedAmount,\n );\n\n const orderBase = scale(18)(snappedAmount);\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n const { calldata: data } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n orderBase,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'matchOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n tradeSource: params.tradeSource,\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n lotteryXpBoost: result.miscellaneous?.lotteryXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n xpEarned: result.miscellaneous?.xpEarned || 0,\n executionPrice: result.tradeDetails?.executionPrice || 0,\n base: result.tradeDetails?.base || 0,\n };\n};\n\nexport const closeOrder = async (\n params: CloseOrderParams,\n): Promise<CloseOrderResult> => {\n if (params.orderBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n const base = scale(18)(params.orderBase);\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n BigNumber(params.orderBase).negated().toNumber(), // used just because of sign\n );\n\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n const { calldata: data } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n -base,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'closeOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n lotteryXpBoost: result.miscellaneous?.lotteryXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n xpEarned: result.miscellaneous?.xpEarned || 0,\n executionPrice: result.tradeDetails?.executionPrice || 0,\n base: result.tradeDetails?.base || 0,\n };\n};\n"]}
1
+ {"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CloseOrderParams,\n CloseOrderResult,\n MatchOrderParams,\n MatchOrderResult,\n} from './types';\nimport { encodeMatchOrder } from './encode';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { calculatePriceLimitForTrade, getReyaNetwork } from '@reyaxyz/common';\nimport BigNumber from 'bignumber.js';\nimport { ContractType } from '@reyaxyz/common';\nimport { scale } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\n\nexport const matchOrder = async (\n params: MatchOrderParams,\n): Promise<MatchOrderResult> => {\n if (params.amountInBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n let snappedAmount = BigNumber(params.amountInBase)\n .abs()\n .dividedBy(params.market.baseSpacing)\n .integerValue(BigNumber.ROUND_FLOOR)\n .multipliedBy(params.market.baseSpacing)\n .toNumber();\n\n if (params.amountInBase < 0) {\n snappedAmount = -snappedAmount;\n }\n\n if (Math.abs(snappedAmount) < params.market.minOrderSizeBase) {\n console.error(\n `Minimum trade amount ${params.market.minOrderSizeBase}. Entered amount ${snappedAmount}, ${params.amountInBase}`,\n );\n throw new Error(`Minimum trade amount ${params.market.minOrderSizeBase}`);\n }\n\n // add rounding here\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n snappedAmount,\n );\n\n const orderBase = scale(18)(snappedAmount);\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n const {\n calldata: data,\n payload: eip712Payload,\n signature: eip712Signature,\n } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n orderBase,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'matchOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n tradeSource: params.tradeSource,\n matchOrder: {\n userEIP712Signature: eip712Signature,\n eip712Payload,\n },\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n lotteryXpBoost: result.miscellaneous?.lotteryXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n xpEarned: result.miscellaneous?.xpEarned || 0,\n executionPrice: result.tradeDetails?.executionPrice || 0,\n base: result.tradeDetails?.base || 0,\n };\n};\n\nexport const closeOrder = async (\n params: CloseOrderParams,\n): Promise<CloseOrderResult> => {\n if (params.orderBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n const base = scale(18)(params.orderBase);\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n BigNumber(params.orderBase).negated().toNumber(), // used just because of sign\n );\n\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n const {\n calldata: data,\n payload: eip712Payload,\n signature: eip712Signature,\n } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n -base,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'closeOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n matchOrder: {\n userEIP712Signature: eip712Signature,\n eip712Payload,\n },\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n lotteryXpBoost: result.miscellaneous?.lotteryXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n xpEarned: result.miscellaneous?.xpEarned || 0,\n executionPrice: result.tradeDetails?.executionPrice || 0,\n base: result.tradeDetails?.base || 0,\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/orders/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Signer, JsonRpcSigner } from 'ethers';\nimport {\n MarginAccountEntity,\n MarketEntity,\n OwnerMetadataEntity,\n PositionEntity,\n} from '@reyaxyz/common';\n\nexport type MarketParams = {\n id: MarketEntity['id'];\n exchangeId: MarketEntity['orderInfo']['exchangeId'];\n counterpartyAccountIds: MarketEntity['orderInfo']['counterpartyAccountIds'];\n currentPrice: number;\n minOrderSizeBase: MarketEntity['minOrderSizeBase'];\n baseSpacing: MarketEntity['baseSpacing'];\n};\n\nexport type MatchOrderParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: MarginAccountEntity['id'];\n amountInBase: number; // amount in base\n market: MarketParams;\n tradeSource?: 'reya' | 'rage' | 'other';\n};\n\nexport type CloseOrderParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: MarginAccountEntity['id'];\n orderBase: PositionEntity['base'];\n market: MarketParams;\n};\n\nexport type MatchOrderResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n xpBoost: number;\n lotteryXpBoost: number;\n isNftWon: boolean;\n marginAccountId: MarginAccountEntity['id'];\n xpEarned: number;\n executionPrice: number;\n base: number;\n};\n\nexport type CloseOrderResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n xpBoost: number;\n lotteryXpBoost: number;\n isNftWon: boolean;\n marginAccountId: MarginAccountEntity['id'];\n xpEarned: number;\n executionPrice: number;\n base: number;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/orders/types.ts"],"names":[],"mappings":"","sourcesContent":["import { Signer, JsonRpcSigner } from 'ethers';\nimport {\n CoreCommandsEIP712SignatureAndPayload,\n MarginAccountEntity,\n MarketEntity,\n MethodParameters,\n OwnerMetadataEntity,\n PositionEntity,\n} from '@reyaxyz/common';\n\nexport type MarketParams = {\n id: MarketEntity['id'];\n exchangeId: MarketEntity['orderInfo']['exchangeId'];\n counterpartyAccountIds: MarketEntity['orderInfo']['counterpartyAccountIds'];\n currentPrice: number;\n minOrderSizeBase: MarketEntity['minOrderSizeBase'];\n baseSpacing: MarketEntity['baseSpacing'];\n};\n\nexport type MatchOrderParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: MarginAccountEntity['id'];\n amountInBase: number; // amount in base\n market: MarketParams;\n tradeSource?: 'reya' | 'rage' | 'other';\n};\n\nexport type CloseOrderParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: MarginAccountEntity['id'];\n orderBase: PositionEntity['base'];\n market: MarketParams;\n};\n\nexport type MatchOrderResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n xpBoost: number;\n lotteryXpBoost: number;\n isNftWon: boolean;\n marginAccountId: MarginAccountEntity['id'];\n xpEarned: number;\n executionPrice: number;\n base: number;\n};\n\nexport type CloseOrderResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n xpBoost: number;\n lotteryXpBoost: number;\n isNftWon: boolean;\n marginAccountId: MarginAccountEntity['id'];\n xpEarned: number;\n executionPrice: number;\n base: number;\n};\n\nexport type MethodParametersAndEIP712Payload = MethodParameters &\n CoreCommandsEIP712SignatureAndPayload;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"AASA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAQjB,eAAO,MAAM,oBAAoB,WACvB,0BAA0B,KACjC,QAAQ,0BAA0B,CAgDpC,CAAC"}
1
+ {"version":3,"file":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"AASA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAQjB,eAAO,MAAM,oBAAoB,WACvB,0BAA0B,KACjC,QAAQ,0BAA0B,CAiDpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { MethodParameters } from '@reyaxyz/common';
2
1
  import { Signer } from 'ethers';
3
- export declare const encodeMatchOrder: (signer: Signer, chainId: number, coreSigNonce: number, accountId: number, orderBase: bigint, orderPriceLimit: bigint, counterpartyAccountIds: number[], marketId: number, exchangeId: number) => Promise<MethodParameters>;
2
+ import { MethodParametersAndEIP712Payload } from './types';
3
+ export declare const encodeMatchOrder: (signer: Signer, chainId: number, coreSigNonce: number, accountId: number, orderBase: bigint, orderPriceLimit: bigint, counterpartyAccountIds: number[], marketId: number, exchangeId: number) => Promise<MethodParametersAndEIP712Payload>;
4
4
  //# sourceMappingURL=encode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAa,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3C,eAAO,MAAM,gBAAgB,WACnB,MAAM,WACL,MAAM,gBACD,MAAM,aACT,MAAM,aACN,MAAM,mBACA,MAAM,0BACC,MAAM,EAAE,YACtB,MAAM,cACJ,MAAM,KACjB,QAAQ,gBAAgB,CAmC1B,CAAC"}
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":"AASA,OAAO,EAAa,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAE3D,eAAO,MAAM,gBAAgB,WACnB,MAAM,WACL,MAAM,gBACD,MAAM,aACT,MAAM,aACN,MAAM,mBACA,MAAM,0BACC,MAAM,EAAE,YACtB,MAAM,cACJ,MAAM,KACjB,QAAQ,gCAAgC,CAuC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AASjB,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CAoE1B,CAAC;AAEF,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CA+C1B,CAAC"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AASjB,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CA4E1B,CAAC;AAEF,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CAuD1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Signer, JsonRpcSigner } from 'ethers';
2
- import { MarginAccountEntity, MarketEntity, OwnerMetadataEntity, PositionEntity } from '@reyaxyz/common';
2
+ import { CoreCommandsEIP712SignatureAndPayload, MarginAccountEntity, MarketEntity, MethodParameters, OwnerMetadataEntity, PositionEntity } from '@reyaxyz/common';
3
3
  export type MarketParams = {
4
4
  id: MarketEntity['id'];
5
5
  exchangeId: MarketEntity['orderInfo']['exchangeId'];
@@ -45,4 +45,5 @@ export type CloseOrderResult = {
45
45
  executionPrice: number;
46
46
  base: number;
47
47
  };
48
+ export type MethodParametersAndEIP712Payload = MethodParameters & CoreCommandsEIP712SignatureAndPayload;
48
49
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/orders/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;IACpD,sBAAsB,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACnD,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACjD,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACjD,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/orders/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,qCAAqC,EACrC,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC;IACpD,sBAAsB,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACnD,WAAW,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACjD,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACjD,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,gBAAgB,GAC7D,qCAAqC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/sdk",
3
- "version": "0.113.13",
3
+ "version": "0.114.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -29,11 +29,11 @@
29
29
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
30
30
  },
31
31
  "dependencies": {
32
- "@reyaxyz/common": "0.212.0",
32
+ "@reyaxyz/common": "0.213.0",
33
33
  "axios": "^1.6.2",
34
34
  "bignumber.js": "^9.1.2",
35
35
  "ethers": "6.9.0"
36
36
  },
37
37
  "packageManager": "pnpm@8.3.1",
38
- "gitHead": "d53bba4d698e98a021c2b522f3048426d985bb00"
38
+ "gitHead": "b21bf88d42de372efe0eb7379edbdc8590b7c11d"
39
39
  }
@@ -34,7 +34,8 @@ export const transferFromMAToPool = async (
34
34
  // transfer from MA to pool involves a core withdrawal
35
35
  const multiAction = new MultiAction();
36
36
  encodeSingleWithdraw(params.pool.tokenAddress, amount, multiAction);
37
- const eip712Signature = await signCoreCommands(
37
+
38
+ const { signature: eip712Signature } = await signCoreCommands(
38
39
  params.signer,
39
40
  reyaChainId,
40
41
  getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),
@@ -77,7 +77,7 @@ export const encodeTransferMargin = async (
77
77
  // todo: note can we make this more stateless?
78
78
  encodeSingleTransferMargin(toMarginAccountId, token, amount, multiAction);
79
79
 
80
- const eip712Signature = await signCoreCommands(
80
+ const { signature: eip712Signature } = await signCoreCommands(
81
81
  signer,
82
82
  chainId,
83
83
  getAddress(chainId, ContractType.PERIPHERY_PROXY),
@@ -46,7 +46,7 @@ export const withdrawMAAndBridge = async ({
46
46
  moneyInOutChainId: moneyInOutChainId,
47
47
  }).msgGasLimit;
48
48
 
49
- const eip712Signature = await signCoreCommands(
49
+ const { signature: eip712Signature } = await signCoreCommands(
50
50
  signer,
51
51
  reyaChainId,
52
52
  getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),
@@ -1,8 +1,4 @@
1
- import {
2
- MethodParameters,
3
- MultiAction,
4
- PeripheryAbi as abi,
5
- } from '@reyaxyz/common';
1
+ import { MultiAction, PeripheryAbi as abi } from '@reyaxyz/common';
6
2
  import { encodeSingleTrade } from '../encode';
7
3
  import { signCoreCommands } from '@reyaxyz/common';
8
4
  import {
@@ -13,6 +9,8 @@ import {
13
9
  import { CORE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';
14
10
  import { Interface, Signer } from 'ethers';
15
11
  import { ethers } from 'ethers';
12
+ import { MethodParametersAndEIP712Payload } from './types';
13
+
16
14
  export const encodeMatchOrder = async (
17
15
  signer: Signer,
18
16
  chainId: number,
@@ -23,7 +21,7 @@ export const encodeMatchOrder = async (
23
21
  counterpartyAccountIds: number[],
24
22
  marketId: number,
25
23
  exchangeId: number,
26
- ): Promise<MethodParameters> => {
24
+ ): Promise<MethodParametersAndEIP712Payload> => {
27
25
  const multiAction = new MultiAction();
28
26
 
29
27
  encodeSingleTrade(
@@ -34,16 +32,18 @@ export const encodeMatchOrder = async (
34
32
  exchangeId,
35
33
  multiAction,
36
34
  );
37
- const eip712Signature = await signCoreCommands(
38
- signer,
39
- chainId,
40
- getAddress(chainId, ContractType.PERIPHERY_PROXY),
41
- accountId,
42
- multiAction.commands,
43
- coreSigNonce + 1,
44
- getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,
45
- ethers.AbiCoder.defaultAbiCoder().encode([], []),
46
- );
35
+
36
+ const { signature: eip712Signature, payload: eip712Payload } =
37
+ await signCoreCommands(
38
+ signer,
39
+ chainId,
40
+ getAddress(chainId, ContractType.PERIPHERY_PROXY),
41
+ accountId,
42
+ multiAction.commands,
43
+ coreSigNonce + 1,
44
+ getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,
45
+ ethers.AbiCoder.defaultAbiCoder().encode([], []),
46
+ );
47
47
 
48
48
  const value = BigInt(0);
49
49
 
@@ -57,5 +57,7 @@ export const encodeMatchOrder = async (
57
57
  return {
58
58
  calldata: calldata,
59
59
  value: BigInt(value).toString(10),
60
+ signature: eip712Signature,
61
+ payload: eip712Payload,
60
62
  };
61
63
  };
@@ -47,7 +47,11 @@ export const matchOrder = async (
47
47
  const env = getSdkEnvironment();
48
48
  const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');
49
49
 
50
- const { calldata: data } = await encodeMatchOrder(
50
+ const {
51
+ calldata: data,
52
+ payload: eip712Payload,
53
+ signature: eip712Signature,
54
+ } = await encodeMatchOrder(
51
55
  params.signer,
52
56
  chainId,
53
57
  params.owner.coreSigNonce,
@@ -68,6 +72,10 @@ export const matchOrder = async (
68
72
  accountId: params.marginAccountId,
69
73
  marketId: params.market.id,
70
74
  tradeSource: params.tradeSource,
75
+ matchOrder: {
76
+ userEIP712Signature: eip712Signature,
77
+ eip712Payload,
78
+ },
71
79
  },
72
80
  );
73
81
 
@@ -99,7 +107,11 @@ export const closeOrder = async (
99
107
 
100
108
  const env = getSdkEnvironment();
101
109
  const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');
102
- const { calldata: data } = await encodeMatchOrder(
110
+ const {
111
+ calldata: data,
112
+ payload: eip712Payload,
113
+ signature: eip712Signature,
114
+ } = await encodeMatchOrder(
103
115
  params.signer,
104
116
  chainId,
105
117
  params.owner.coreSigNonce,
@@ -119,6 +131,10 @@ export const closeOrder = async (
119
131
  action: 'closeOrder',
120
132
  accountId: params.marginAccountId,
121
133
  marketId: params.market.id,
134
+ matchOrder: {
135
+ userEIP712Signature: eip712Signature,
136
+ eip712Payload,
137
+ },
122
138
  },
123
139
  );
124
140
 
@@ -1,7 +1,9 @@
1
1
  import { Signer, JsonRpcSigner } from 'ethers';
2
2
  import {
3
+ CoreCommandsEIP712SignatureAndPayload,
3
4
  MarginAccountEntity,
4
5
  MarketEntity,
6
+ MethodParameters,
5
7
  OwnerMetadataEntity,
6
8
  PositionEntity,
7
9
  } from '@reyaxyz/common';
@@ -55,3 +57,6 @@ export type CloseOrderResult = {
55
57
  executionPrice: number;
56
58
  base: number;
57
59
  };
60
+
61
+ export type MethodParametersAndEIP712Payload = MethodParameters &
62
+ CoreCommandsEIP712SignatureAndPayload;