@bosonprotocol/core-sdk 1.12.0-alpha.8 → 1.12.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.
Files changed (90) hide show
  1. package/dist/cjs/accounts/index.d.ts +2 -13
  2. package/dist/cjs/accounts/index.d.ts.map +1 -1
  3. package/dist/cjs/accounts/index.js.map +1 -1
  4. package/dist/cjs/core-sdk.d.ts +10 -3
  5. package/dist/cjs/core-sdk.d.ts.map +1 -1
  6. package/dist/cjs/core-sdk.js +24 -23
  7. package/dist/cjs/core-sdk.js.map +1 -1
  8. package/dist/cjs/disputes/handler.d.ts +11 -0
  9. package/dist/cjs/disputes/handler.d.ts.map +1 -1
  10. package/dist/cjs/disputes/handler.js +25 -1
  11. package/dist/cjs/disputes/handler.js.map +1 -1
  12. package/dist/cjs/exchanges/handler.d.ts.map +1 -1
  13. package/dist/cjs/exchanges/handler.js +1 -0
  14. package/dist/cjs/exchanges/handler.js.map +1 -1
  15. package/dist/cjs/meta-tx/handler.d.ts +0 -14
  16. package/dist/cjs/meta-tx/handler.d.ts.map +1 -1
  17. package/dist/cjs/meta-tx/handler.js +14 -60
  18. package/dist/cjs/meta-tx/handler.js.map +1 -1
  19. package/dist/cjs/offers/getOfferStatus.d.ts +2 -2
  20. package/dist/cjs/offers/getOfferStatus.d.ts.map +1 -1
  21. package/dist/cjs/offers/getOfferStatus.js.map +1 -1
  22. package/dist/cjs/offers/index.d.ts +2 -31
  23. package/dist/cjs/offers/index.d.ts.map +1 -1
  24. package/dist/cjs/offers/index.js.map +1 -1
  25. package/dist/cjs/offers/interface.d.ts.map +1 -1
  26. package/dist/cjs/offers/interface.js +4 -11
  27. package/dist/cjs/offers/interface.js.map +1 -1
  28. package/dist/cjs/offers/renderContractualAgreement.d.ts +6 -5
  29. package/dist/cjs/offers/renderContractualAgreement.d.ts.map +1 -1
  30. package/dist/cjs/offers/renderContractualAgreement.js +4 -4
  31. package/dist/cjs/offers/renderContractualAgreement.js.map +1 -1
  32. package/dist/cjs/utils/signature.d.ts +21 -0
  33. package/dist/cjs/utils/signature.d.ts.map +1 -0
  34. package/dist/cjs/utils/signature.js +60 -0
  35. package/dist/cjs/utils/signature.js.map +1 -0
  36. package/dist/cjs/utils/tokenInfoManager.d.ts +3 -0
  37. package/dist/cjs/utils/tokenInfoManager.d.ts.map +1 -1
  38. package/dist/cjs/utils/tokenInfoManager.js +8 -8
  39. package/dist/cjs/utils/tokenInfoManager.js.map +1 -1
  40. package/dist/esm/accounts/index.d.ts +2 -13
  41. package/dist/esm/accounts/index.d.ts.map +1 -1
  42. package/dist/esm/accounts/index.js.map +1 -1
  43. package/dist/esm/core-sdk.d.ts +10 -3
  44. package/dist/esm/core-sdk.d.ts.map +1 -1
  45. package/dist/esm/core-sdk.js +26 -20
  46. package/dist/esm/core-sdk.js.map +1 -1
  47. package/dist/esm/disputes/handler.d.ts +11 -0
  48. package/dist/esm/disputes/handler.d.ts.map +1 -1
  49. package/dist/esm/disputes/handler.js +21 -0
  50. package/dist/esm/disputes/handler.js.map +1 -1
  51. package/dist/esm/exchanges/handler.d.ts.map +1 -1
  52. package/dist/esm/exchanges/handler.js +1 -0
  53. package/dist/esm/exchanges/handler.js.map +1 -1
  54. package/dist/esm/meta-tx/handler.d.ts +0 -14
  55. package/dist/esm/meta-tx/handler.d.ts.map +1 -1
  56. package/dist/esm/meta-tx/handler.js +19 -58
  57. package/dist/esm/meta-tx/handler.js.map +1 -1
  58. package/dist/esm/offers/getOfferStatus.d.ts +2 -2
  59. package/dist/esm/offers/getOfferStatus.d.ts.map +1 -1
  60. package/dist/esm/offers/getOfferStatus.js.map +1 -1
  61. package/dist/esm/offers/index.d.ts +2 -31
  62. package/dist/esm/offers/index.d.ts.map +1 -1
  63. package/dist/esm/offers/index.js.map +1 -1
  64. package/dist/esm/offers/interface.d.ts.map +1 -1
  65. package/dist/esm/offers/interface.js +4 -11
  66. package/dist/esm/offers/interface.js.map +1 -1
  67. package/dist/esm/offers/renderContractualAgreement.d.ts +6 -5
  68. package/dist/esm/offers/renderContractualAgreement.d.ts.map +1 -1
  69. package/dist/esm/offers/renderContractualAgreement.js +3 -3
  70. package/dist/esm/offers/renderContractualAgreement.js.map +1 -1
  71. package/dist/esm/utils/signature.d.ts +21 -0
  72. package/dist/esm/utils/signature.d.ts.map +1 -0
  73. package/dist/esm/utils/signature.js +47 -0
  74. package/dist/esm/utils/signature.js.map +1 -0
  75. package/dist/esm/utils/tokenInfoManager.d.ts +3 -0
  76. package/dist/esm/utils/tokenInfoManager.d.ts.map +1 -1
  77. package/dist/esm/utils/tokenInfoManager.js +5 -5
  78. package/dist/esm/utils/tokenInfoManager.js.map +1 -1
  79. package/package.json +5 -4
  80. package/src/accounts/index.ts +3 -1
  81. package/src/core-sdk.ts +32 -25
  82. package/src/disputes/handler.ts +31 -0
  83. package/src/exchanges/handler.ts +1 -0
  84. package/src/meta-tx/handler.ts +20 -74
  85. package/src/offers/getOfferStatus.ts +2 -2
  86. package/src/offers/index.ts +3 -1
  87. package/src/offers/interface.ts +6 -15
  88. package/src/offers/renderContractualAgreement.ts +13 -10
  89. package/src/utils/signature.ts +65 -0
  90. package/src/utils/tokenInfoManager.ts +5 -5
@@ -1,9 +1,9 @@
1
1
  import * as yup from "yup";
2
2
  import { BigNumber } from "@ethersproject/bignumber";
3
- import { subgraph } from "..";
4
3
  import { utils } from "@bosonprotocol/common";
5
4
  import Mustache from "mustache";
6
- import { formatUnits } from "ethers/lib/utils";
5
+ import { formatUnits } from "@ethersproject/units";
6
+ import { MetadataType } from "../subgraph";
7
7
  export class InvalidOfferDataError extends Error {
8
8
  missingProperties;
9
9
  constructor(missingProperties) {
@@ -114,7 +114,7 @@ export async function renderContractualAgreementForOffer(existingOfferData) {
114
114
  if (!existingOfferData.metadata) {
115
115
  throw new Error(`Offer Metadata is undefined`);
116
116
  }
117
- if (existingOfferData.metadata.type !== subgraph.MetadataType.ProductV1) {
117
+ if (existingOfferData.metadata.type !== MetadataType.ProductV1) {
118
118
  throw new Error(`Invalid Offer Metadata: Type is not supported: '${existingOfferData.metadata.type}'`);
119
119
  }
120
120
  if (!existingOfferData.metadata.exchangePolicy) {
@@ -1 +1 @@
1
- {"version":3,"file":"renderContractualAgreement.js","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderContractualAgreement.js","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Web3LibAdapter } from "@bosonprotocol/common";
2
+ declare type SignatureArgs = {
3
+ web3Lib: Web3LibAdapter;
4
+ verifyingContractAddress: string;
5
+ chainId: number;
6
+ customSignatureType?: Record<string, unknown>;
7
+ primaryType: string;
8
+ message: Record<string, unknown>;
9
+ };
10
+ export declare function prepareDataSignatureParameters(args: SignatureArgs): Promise<{
11
+ r: string;
12
+ s: string;
13
+ v: number;
14
+ }>;
15
+ export declare function getSignatureParameters(signature: string): {
16
+ r: string;
17
+ s: string;
18
+ v: number;
19
+ };
20
+ export {};
21
+ //# sourceMappingURL=signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,aAAK,aAAa,GAAG;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,wBAAwB,EAAE,MAAM,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,aAAa;;;;GAkCvE;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM;;;;EAevD"}
@@ -0,0 +1,47 @@
1
+ import { isHexString, hexZeroPad } from "@ethersproject/bytes";
2
+ import { BigNumber } from "@ethersproject/bignumber";
3
+ export async function prepareDataSignatureParameters(args) {
4
+ const domainType = [
5
+ { name: "name", type: "string" },
6
+ { name: "version", type: "string" },
7
+ { name: "verifyingContract", type: "address" },
8
+ { name: "salt", type: "bytes32" }
9
+ ];
10
+ const domainData = {
11
+ name: "BosonProtocolDiamond",
12
+ version: "V1",
13
+ verifyingContract: args.verifyingContractAddress,
14
+ salt: hexZeroPad(BigNumber.from(args.chainId).toHexString(), 32)
15
+ };
16
+ const signatureTypes = {
17
+ EIP712Domain: domainType,
18
+ ...args.customSignatureType
19
+ };
20
+ const dataToSign = JSON.stringify({
21
+ types: signatureTypes,
22
+ domain: domainData,
23
+ primaryType: args.primaryType,
24
+ message: args.message
25
+ });
26
+ const signer = await args.web3Lib.getSignerAddress();
27
+ const signature = await args.web3Lib.send("eth_signTypedData_v4", [
28
+ signer,
29
+ dataToSign
30
+ ]);
31
+ return getSignatureParameters(signature);
32
+ }
33
+ export function getSignatureParameters(signature) {
34
+ if (!isHexString(signature)) {
35
+ throw new Error(`Value "${signature}" is not a valid hex string`);
36
+ }
37
+ signature = signature.substring(2);
38
+ const r = "0x" + signature.substring(0, 64);
39
+ const s = "0x" + signature.substring(64, 128);
40
+ const v = parseInt(signature.substring(128, 130), 16);
41
+ return {
42
+ r,
43
+ s,
44
+ v
45
+ };
46
+ }
47
+ //# sourceMappingURL=signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAWrD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAAmB;IACtE,MAAM,UAAU,GAAG;QACjB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;KAClC,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,IAAI,CAAC,wBAAwB;QAChD,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;KACjE,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,YAAY,EAAE,UAAU;QACxB,GAAG,IAAI,CAAC,mBAAmB;KAC5B,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE;QAChE,MAAM;QACN,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,6BAA6B,CAAC,CAAC;KACnE;IAED,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAEtD,OAAO;QACL,CAAC;QACD,CAAC;QACD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -7,6 +7,9 @@ export interface ITokenInfo {
7
7
  export interface ITokenInfoManager {
8
8
  getExchangeTokenInfo: (tokenAddress: string) => Promise<ITokenInfo>;
9
9
  }
10
+ export declare const NATIVE_TOKENS: {
11
+ [key: number]: ITokenInfo;
12
+ };
10
13
  export declare class TokenInfoManager implements ITokenInfoManager {
11
14
  private _tokenInfos;
12
15
  private _web3Lib;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenInfoManager.d.ts","sourceRoot":"","sources":["../../../src/utils/tokenInfoManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACrE;AAqDD,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,QAAQ,CAAiB;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAQ9C,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAmB7E"}
1
+ {"version":3,"file":"tokenInfoManager.d.ts","sourceRoot":"","sources":["../../../src/utils/tokenInfoManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAiDtD,CAAC;AAEF,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,QAAQ,CAAiB;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAQ9C,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAmB7E"}
@@ -1,6 +1,6 @@
1
1
  import { AddressZero } from "@ethersproject/constants";
2
- import { erc20 } from "..";
3
- const NATIVE_TOKENS = {
2
+ import { getDecimals, getName, getSymbol } from "../erc20/handler";
3
+ export const NATIVE_TOKENS = {
4
4
  1: {
5
5
  // Ethereum Mainnet
6
6
  name: "Ether",
@@ -67,9 +67,9 @@ export class TokenInfoManager {
67
67
  contractAddress: tokenAddress
68
68
  };
69
69
  const [decimals, name, symbol] = await Promise.all([
70
- erc20.handler.getDecimals(args),
71
- erc20.handler.getName(args),
72
- erc20.handler.getSymbol(args)
70
+ getDecimals(args),
71
+ getName(args),
72
+ getSymbol(args)
73
73
  ]);
74
74
  this._tokenInfos.set(tokenAddress.toLowerCase(), {
75
75
  decimals,
@@ -1 +1 @@
1
- {"version":3,"file":"tokenInfoManager.js","sourceRoot":"","sources":["../../../src/utils/tokenInfoManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAY3B,MAAM,aAAa,GAAkC;IACnD,CAAC,EAAE;QACD,mBAAmB;QACnB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,CAAC,EAAE;QACD,mBAAmB;QACnB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,CAAC,EAAE;QACD,mBAAmB;QACnB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,CAAC,EAAE;QACD,kBAAkB;QAClB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,GAAG,EAAE;QACH,kBAAkB;QAClB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,OAAO;KAChB;IACD,KAAK,EAAE;QACL,iBAAiB;QACjB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,OAAO;KAChB;IACD,IAAI,EAAE;QACJ,eAAe;QACf,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,KAAK,EAAE;QACL,gBAAgB;QAChB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;CACF,CAAC;AAEF,MAAM,OAAO,gBAAgB;IACnB,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,QAAQ,CAAiB;IAEjC,YAAmB,OAAe,EAAE,OAAuB;QACzD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,GAAG,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,YAAoB;QACpD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE;YACrD,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,eAAe,EAAE,YAAY;aAC9B,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjD,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC/B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;aAC9B,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;gBAC/C,QAAQ;gBACR,IAAI;gBACJ,MAAM;aACP,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"tokenInfoManager.js","sourceRoot":"","sources":["../../../src/utils/tokenInfoManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAYnE,MAAM,CAAC,MAAM,aAAa,GAAkC;IAC1D,CAAC,EAAE;QACD,mBAAmB;QACnB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,CAAC,EAAE;QACD,mBAAmB;QACnB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,CAAC,EAAE;QACD,mBAAmB;QACnB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,CAAC,EAAE;QACD,kBAAkB;QAClB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,GAAG,EAAE;QACH,kBAAkB;QAClB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,OAAO;KAChB;IACD,KAAK,EAAE;QACL,iBAAiB;QACjB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,OAAO;KAChB;IACD,IAAI,EAAE;QACJ,eAAe;QACf,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;IACD,KAAK,EAAE;QACL,gBAAgB;QAChB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,KAAK;KACd;CACF,CAAC;AAEF,MAAM,OAAO,gBAAgB;IACnB,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,QAAQ,CAAiB;IAEjC,YAAmB,OAAe,EAAE,OAAuB;QACzD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,GAAG,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,YAAoB;QACpD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE;YACrD,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,eAAe,EAAE,YAAY;aAC9B,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjD,WAAW,CAAC,IAAI,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC;gBACb,SAAS,CAAC,IAAI,CAAC;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE;gBAC/C,QAAQ;gBACR,IAAI;gBACJ,MAAM;aACP,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bosonprotocol/core-sdk",
3
- "version": "1.12.0-alpha.8",
3
+ "version": "1.12.0",
4
4
  "description": "> TODO: description",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -33,7 +33,7 @@
33
33
  "access": "restricted"
34
34
  },
35
35
  "dependencies": {
36
- "@bosonprotocol/common": "^1.9.0-alpha.8",
36
+ "@bosonprotocol/common": "^1.9.0",
37
37
  "@ethersproject/abi": "^5.5.0",
38
38
  "@ethersproject/address": "^5.5.0",
39
39
  "@ethersproject/bignumber": "^5.5.0",
@@ -43,7 +43,8 @@
43
43
  "cross-fetch": "^3.1.5",
44
44
  "graphql": "^16.5.0",
45
45
  "graphql-request": "^4.3.0",
46
- "mustache": "^4.2.0"
46
+ "mustache": "^4.2.0",
47
+ "yup": "^0.32.11"
47
48
  },
48
49
  "devDependencies": {
49
50
  "eslint": "^8.10.0",
@@ -53,5 +54,5 @@
53
54
  "ts-jest": "^27.1.3",
54
55
  "typescript": "^4.5.5"
55
56
  },
56
- "gitHead": "d93decaaf99ce399767d3e2f8e681746135c2ee3"
57
+ "gitHead": "f06848f53b45df78d54419ab1858d259f3cd7429"
57
58
  }
@@ -5,6 +5,8 @@ export * as handler from "./handler";
5
5
  export * as subgraph from "./subgraph";
6
6
  export * from "./types";
7
7
 
8
- export const validation = {
8
+ export const validation: {
9
+ createSellerArgsSchema: typeof utils.validation.createSellerArgsSchema;
10
+ } = {
9
11
  createSellerArgsSchema: utils.validation.createSellerArgsSchema
10
12
  };
package/src/core-sdk.ts CHANGED
@@ -574,6 +574,31 @@ export class CoreSDK {
574
574
  );
575
575
  }
576
576
 
577
+ /**
578
+ * Utility method to retrieve the created `sellerId` from logs after calling `createSeller`
579
+ * or `createOfferAndSeller`.
580
+ * @param logs - Logs to search in.
581
+ * @returns Created offer id.
582
+ */
583
+ public getCreatedSellerIdFromLogs(logs: Log[]): string | null {
584
+ const sellerId = getValueFromLogs({
585
+ iface: accounts.iface.bosonAccountHandlerIface,
586
+ logs,
587
+ eventArgsKey: "sellerId",
588
+ eventName: "SellerCreated"
589
+ });
590
+
591
+ return (
592
+ sellerId ||
593
+ getValueFromLogs({
594
+ iface: orchestration.iface.bosonOrchestrationHandlerIface,
595
+ logs,
596
+ eventArgsKey: "sellerId",
597
+ eventName: "SellerCreated"
598
+ })
599
+ );
600
+ }
601
+
577
602
  /**
578
603
  * Voids an existing offer by calling the `OfferHandlerFacet` contract.
579
604
  * This transaction only succeeds if the connected signer is the `operator`.
@@ -1057,37 +1082,19 @@ export class CoreSDK {
1057
1082
  });
1058
1083
  }
1059
1084
 
1060
- public async signMutualAgreement(args: {
1061
- exchangeId: string;
1062
- buyerPercent: string;
1085
+ public async signDisputeResolutionProposal(args: {
1086
+ exchangeId: BigNumberish;
1087
+ buyerPercent: BigNumberish;
1063
1088
  }) {
1064
- // Set the message Type, needed for signature
1065
- const resolutionType = [
1066
- { name: "exchangeId", type: "uint256" },
1067
- { name: "buyerPercent", type: "uint256" }
1068
- ];
1069
-
1070
- const customSignatureType = {
1071
- Resolution: resolutionType
1072
- };
1073
-
1074
- const message = {
1075
- exchangeId: args.exchangeId,
1076
- buyerPercent: args.buyerPercent
1077
- };
1078
-
1079
1089
  if (this._chainId === undefined) {
1080
1090
  this._chainId = await this._web3Lib.getChainId();
1081
1091
  }
1082
1092
 
1083
- return metaTx.handler.prepareDataSignatureParameters({
1093
+ return disputes.handler.signResolutionProposal({
1094
+ ...args,
1084
1095
  web3Lib: this._web3Lib,
1085
- metaTxHandlerAddress: this._protocolDiamond,
1086
- chainId: this._chainId,
1087
- customTransactionType: customSignatureType,
1088
- primaryType: "Resolution",
1089
- message,
1090
- nonce: "" // not used in this case
1096
+ contractAddress: this._protocolDiamond,
1097
+ chainId: this._chainId
1091
1098
  });
1092
1099
  }
1093
1100
 
@@ -1,6 +1,7 @@
1
1
  import { Web3LibAdapter, TransactionResponse } from "@bosonprotocol/common";
2
2
  import { BigNumberish } from "@ethersproject/bignumber";
3
3
  import { BytesLike } from "@ethersproject/bytes";
4
+
4
5
  import {
5
6
  encodeRaiseDispute,
6
7
  encodeDecideDispute,
@@ -13,6 +14,7 @@ import {
13
14
  encodeResolveDispute,
14
15
  encodeRetractDispute
15
16
  } from "./interface";
17
+ import { prepareDataSignatureParameters } from "../utils/signature";
16
18
 
17
19
  export async function raiseDispute(args: {
18
20
  exchangeId: BigNumberish;
@@ -130,3 +132,32 @@ export async function expireEscalatedDispute(args: {
130
132
  data: encodeExpireEscalatedDispute(args.exchangeId)
131
133
  });
132
134
  }
135
+
136
+ export async function signResolutionProposal(args: {
137
+ exchangeId: BigNumberish;
138
+ buyerPercent: BigNumberish;
139
+ contractAddress: string;
140
+ web3Lib: Web3LibAdapter;
141
+ chainId: number;
142
+ }) {
143
+ const customSignatureType = {
144
+ Resolution: [
145
+ { name: "exchangeId", type: "uint256" },
146
+ { name: "buyerPercent", type: "uint256" }
147
+ ]
148
+ };
149
+
150
+ const message = {
151
+ exchangeId: args.exchangeId,
152
+ buyerPercent: args.buyerPercent
153
+ };
154
+
155
+ return prepareDataSignatureParameters({
156
+ message,
157
+ customSignatureType,
158
+ web3Lib: args.web3Lib,
159
+ verifyingContractAddress: args.contractAddress,
160
+ chainId: args.chainId,
161
+ primaryType: "Resolution"
162
+ });
163
+ }
@@ -48,6 +48,7 @@ export async function commitToOffer(
48
48
  }
49
49
 
50
50
  return args.web3Lib.sendTransaction({
51
+ from: args.buyer,
51
52
  to: args.contractAddress,
52
53
  data: encodeCommitToOffer(args.buyer, args.offerId),
53
54
  value: offer.exchangeToken.address === AddressZero ? offer.price : "0"
@@ -1,9 +1,8 @@
1
1
  import { Web3LibAdapter } from "@bosonprotocol/common";
2
- import { isHexString, hexZeroPad } from "@ethersproject/bytes";
3
- import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
2
+ import { BigNumberish } from "@ethersproject/bignumber";
4
3
 
5
4
  import { bosonExchangeHandlerIface } from "../exchanges/interface";
6
- import { bosonFundsHandlerIface } from "../funds/interface";
5
+ import { prepareDataSignatureParameters } from "../utils/signature";
7
6
 
8
7
  type BaseMetaTxArgs = {
9
8
  web3Lib: Web3LibAdapter;
@@ -26,7 +25,7 @@ export async function signExecuteMetaTx(
26
25
  { name: "functionSignature", type: "bytes" }
27
26
  ];
28
27
 
29
- const customTransactionType = {
28
+ const customSignatureType = {
30
29
  MetaTransaction: metaTransactionType
31
30
  };
32
31
 
@@ -42,7 +41,8 @@ export async function signExecuteMetaTx(
42
41
 
43
42
  return prepareDataSignatureParameters({
44
43
  ...args,
45
- customTransactionType,
44
+ verifyingContractAddress: args.metaTxHandlerAddress,
45
+ customSignatureType,
46
46
  primaryType: "MetaTransaction",
47
47
  message
48
48
  });
@@ -68,7 +68,7 @@ export async function signExecuteMetaTxCommitToOffer(
68
68
  { name: "offerDetails", type: "MetaTxOfferDetails" }
69
69
  ];
70
70
 
71
- const customTransactionType = {
71
+ const customSignatureType = {
72
72
  MetaTxCommitToOffer: metaTransactionType,
73
73
  MetaTxOfferDetails: offerType
74
74
  };
@@ -88,7 +88,8 @@ export async function signExecuteMetaTxCommitToOffer(
88
88
 
89
89
  const signatureParams = await prepareDataSignatureParameters({
90
90
  ...args,
91
- customTransactionType,
91
+ verifyingContractAddress: args.metaTxHandlerAddress,
92
+ customSignatureType,
92
93
  primaryType: "MetaTxCommitToOffer",
93
94
  message
94
95
  });
@@ -162,7 +163,7 @@ export async function signExecuteMetaTxRaiseDispute(
162
163
  { name: "disputeDetails", type: "MetaTxDisputeDetails" }
163
164
  ];
164
165
 
165
- const customTransactionType = {
166
+ const customSignatureType = {
166
167
  MetaTxDispute: metaTransactionType,
167
168
  MetaTxDisputeDetails: disputeType
168
169
  };
@@ -181,7 +182,8 @@ export async function signExecuteMetaTxRaiseDispute(
181
182
  // TODO: encode function data when adding dispute resolver module
182
183
  return prepareDataSignatureParameters({
183
184
  ...args,
184
- customTransactionType,
185
+ verifyingContractAddress: args.metaTxHandlerAddress,
186
+ customSignatureType,
185
187
  primaryType: "MetaTxDispute",
186
188
  message
187
189
  });
@@ -214,7 +216,7 @@ export async function signExecuteMetaTxResolveDispute(
214
216
  { name: "disputeResolutionDetails", type: "MetaTxDisputeResolutionDetails" }
215
217
  ];
216
218
 
217
- const customTransactionType = {
219
+ const customSignatureType = {
218
220
  MetaTxDisputeResolution: metaTransactionType,
219
221
  MetaTxDisputeResolutionDetails: disputeResolutionType
220
222
  };
@@ -236,7 +238,8 @@ export async function signExecuteMetaTxResolveDispute(
236
238
  // TODO: encode function data when adding dispute resolver module
237
239
  return prepareDataSignatureParameters({
238
240
  ...args,
239
- customTransactionType,
241
+ verifyingContractAddress: args.metaTxHandlerAddress,
242
+ customSignatureType,
240
243
  primaryType: "MetaTxDisputeResolution",
241
244
  message
242
245
  });
@@ -265,7 +268,7 @@ export async function signExecuteMetaTxWithdrawFunds(
265
268
  { name: "fundDetails", type: "MetaTxFundDetails" }
266
269
  ];
267
270
 
268
- const customTransactionType = {
271
+ const customSignatureType = {
269
272
  MetaTxFund: metaTransactionType,
270
273
  MetaTxFundDetails: fundType
271
274
  };
@@ -284,7 +287,8 @@ export async function signExecuteMetaTxWithdrawFunds(
284
287
 
285
288
  const signatureParams = await prepareDataSignatureParameters({
286
289
  ...args,
287
- customTransactionType,
290
+ verifyingContractAddress: args.metaTxHandlerAddress,
291
+ customSignatureType,
288
292
  primaryType: "MetaTxFund",
289
293
  message
290
294
  });
@@ -322,7 +326,7 @@ function makeExchangeMetaTxSigner(
322
326
  { name: "exchangeDetails", type: "MetaTxExchangeDetails" }
323
327
  ];
324
328
 
325
- const customTransactionType = {
329
+ const customSignatureType = {
326
330
  MetaTxExchange: metaTransactionType,
327
331
  MetaTxExchangeDetails: exchangeType
328
332
  };
@@ -341,7 +345,8 @@ function makeExchangeMetaTxSigner(
341
345
 
342
346
  const signatureParams = await prepareDataSignatureParameters({
343
347
  ...args,
344
- customTransactionType,
348
+ verifyingContractAddress: args.metaTxHandlerAddress,
349
+ customSignatureType,
345
350
  primaryType: "MetaTxExchange",
346
351
  message
347
352
  });
@@ -357,62 +362,3 @@ function makeExchangeMetaTxSigner(
357
362
  };
358
363
  };
359
364
  }
360
-
361
- export async function prepareDataSignatureParameters(
362
- args: BaseMetaTxArgs & {
363
- customTransactionType?: Record<string, unknown>;
364
- primaryType: string;
365
- message: Record<string, unknown>;
366
- }
367
- ) {
368
- const domainType = [
369
- { name: "name", type: "string" },
370
- { name: "version", type: "string" },
371
- { name: "verifyingContract", type: "address" },
372
- { name: "salt", type: "bytes32" }
373
- ];
374
-
375
- const domainData = {
376
- name: "BosonProtocolDiamond",
377
- version: "V1",
378
- verifyingContract: args.metaTxHandlerAddress,
379
- salt: hexZeroPad(BigNumber.from(args.chainId).toHexString(), 32)
380
- };
381
-
382
- const metaTxTypes = {
383
- EIP712Domain: domainType,
384
- ...args.customTransactionType
385
- };
386
-
387
- const dataToSign = JSON.stringify({
388
- types: metaTxTypes,
389
- domain: domainData,
390
- primaryType: args.primaryType,
391
- message: args.message
392
- });
393
-
394
- const signer = await args.web3Lib.getSignerAddress();
395
- const signature = await args.web3Lib.send("eth_signTypedData_v4", [
396
- signer,
397
- dataToSign
398
- ]);
399
-
400
- return getSignatureParameters(signature);
401
- }
402
-
403
- export function getSignatureParameters(signature: string) {
404
- if (!isHexString(signature)) {
405
- throw new Error(`Value "${signature}" is not a valid hex string`);
406
- }
407
-
408
- signature = signature.substring(2);
409
- const r = "0x" + signature.substring(0, 64);
410
- const s = "0x" + signature.substring(64, 128);
411
- const v = parseInt(signature.substring(128, 130), 16);
412
-
413
- return {
414
- r,
415
- s,
416
- v
417
- };
418
- }
@@ -1,4 +1,4 @@
1
- import { subgraph } from "..";
1
+ import { OfferFieldsFragment } from "../subgraph";
2
2
 
3
3
  export enum OfferState {
4
4
  VOIDED = "VOIDED",
@@ -7,7 +7,7 @@ export enum OfferState {
7
7
  VALID = "VALID"
8
8
  }
9
9
 
10
- export function getOfferStatus(offer: subgraph.OfferFieldsFragment) {
10
+ export function getOfferStatus(offer: OfferFieldsFragment) {
11
11
  const toTimeStamp = (numberString: string) => Number(numberString) * 1000;
12
12
  const timeNow = Date.now();
13
13
 
@@ -8,6 +8,8 @@ export * from "./types";
8
8
  export * from "./getOfferStatus";
9
9
  export * from "./renderContractualAgreement";
10
10
 
11
- export const validation = {
11
+ export const validation: {
12
+ createOfferArgsSchema: typeof utils.validation.createOfferArgsSchema;
13
+ } = {
12
14
  createOfferArgsSchema: utils.validation.createOfferArgsSchema
13
15
  };
@@ -54,7 +54,8 @@ export function argsToOfferDatesStruct(
54
54
  const {
55
55
  validFromDateInMS,
56
56
  validUntilDateInMS,
57
- voucherRedeemableFromDateInMS
57
+ voucherRedeemableFromDateInMS,
58
+ voucherRedeemableUntilDateInMS
58
59
  } = args;
59
60
 
60
61
  return {
@@ -63,10 +64,9 @@ export function argsToOfferDatesStruct(
63
64
  voucherRedeemableFrom: utils.timestamp.msToSec(
64
65
  voucherRedeemableFromDateInMS
65
66
  ),
66
- voucherRedeemableUntil:
67
- // NOTE: Field `voucherRedeemableUntil` not yet fully supported in protocol.
68
- // Therefore converting to `voucherValid` field.
69
- "0"
67
+ voucherRedeemableUntil: utils.timestamp.msToSec(
68
+ voucherRedeemableUntilDateInMS
69
+ )
70
70
  };
71
71
  }
72
72
 
@@ -75,22 +75,13 @@ export function argsToOfferDurationsStruct(
75
75
  ): Partial<OfferDurationsStruct> {
76
76
  const {
77
77
  fulfillmentPeriodDurationInMS,
78
- voucherRedeemableUntilDateInMS,
79
- voucherRedeemableFromDateInMS,
80
78
  voucherValidDurationInMS = 0,
81
79
  resolutionPeriodDurationInMS
82
80
  } = args;
83
81
 
84
82
  return {
85
83
  fulfillmentPeriod: utils.timestamp.msToSec(fulfillmentPeriodDurationInMS),
86
- voucherValid: utils.timestamp.msToSec(
87
- voucherValidDurationInMS ||
88
- // NOTE: Field `voucherRedeemableUntil` not yet fully supported in protocol.
89
- // Therefore converting to `voucherValid` field.
90
- BigNumber.from(voucherRedeemableUntilDateInMS).sub(
91
- BigNumber.from(voucherRedeemableFromDateInMS)
92
- )
93
- ),
84
+ voucherValid: utils.timestamp.msToSec(voucherValidDurationInMS),
94
85
  resolutionPeriod: utils.timestamp.msToSec(resolutionPeriodDurationInMS)
95
86
  };
96
87
  }