@bosonprotocol/core-sdk 1.44.0-alpha.0 → 1.44.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/accounts/handler.d.ts +115 -1
- package/dist/cjs/accounts/handler.d.ts.map +1 -1
- package/dist/cjs/accounts/handler.js +126 -28
- package/dist/cjs/accounts/handler.js.map +1 -1
- package/dist/cjs/accounts/mixin.d.ts +105 -8
- package/dist/cjs/accounts/mixin.d.ts.map +1 -1
- package/dist/cjs/accounts/mixin.js +162 -122
- package/dist/cjs/accounts/mixin.js.map +1 -1
- package/dist/cjs/core-sdk.d.ts +6 -6
- package/dist/cjs/core-sdk.d.ts.map +1 -1
- package/dist/cjs/core-sdk.js.map +1 -1
- package/dist/cjs/disputes/handler.d.ts +88 -7
- package/dist/cjs/disputes/handler.d.ts.map +1 -1
- package/dist/cjs/disputes/handler.js +98 -22
- package/dist/cjs/disputes/handler.js.map +1 -1
- package/dist/cjs/disputes/mixin.d.ts +37 -17
- package/dist/cjs/disputes/mixin.d.ts.map +1 -1
- package/dist/cjs/disputes/mixin.js +116 -96
- package/dist/cjs/disputes/mixin.js.map +1 -1
- package/dist/cjs/erc1155/mixin.d.ts +2 -1
- package/dist/cjs/erc1155/mixin.d.ts.map +1 -1
- package/dist/cjs/erc1155/mixin.js.map +1 -1
- package/dist/cjs/erc165/mixin.d.ts +2 -1
- package/dist/cjs/erc165/mixin.d.ts.map +1 -1
- package/dist/cjs/erc165/mixin.js.map +1 -1
- package/dist/cjs/erc20/handler.d.ts +11 -2
- package/dist/cjs/erc20/handler.d.ts.map +1 -1
- package/dist/cjs/erc20/handler.js +8 -1
- package/dist/cjs/erc20/handler.js.map +1 -1
- package/dist/cjs/erc20/mixin.d.ts +20 -3
- package/dist/cjs/erc20/mixin.d.ts.map +1 -1
- package/dist/cjs/erc20/mixin.js +15 -10
- package/dist/cjs/erc20/mixin.js.map +1 -1
- package/dist/cjs/erc721/handler.d.ts +11 -2
- package/dist/cjs/erc721/handler.d.ts.map +1 -1
- package/dist/cjs/erc721/handler.js +8 -2
- package/dist/cjs/erc721/handler.js.map +1 -1
- package/dist/cjs/erc721/mixin.d.ts +2 -1
- package/dist/cjs/erc721/mixin.d.ts.map +1 -1
- package/dist/cjs/erc721/mixin.js.map +1 -1
- package/dist/cjs/errors/mixin.d.ts +2 -1
- package/dist/cjs/errors/mixin.d.ts.map +1 -1
- package/dist/cjs/errors/mixin.js.map +1 -1
- package/dist/cjs/event-logs/mixin.d.ts +2 -1
- package/dist/cjs/event-logs/mixin.d.ts.map +1 -1
- package/dist/cjs/event-logs/mixin.js.map +1 -1
- package/dist/cjs/exchanges/handler.d.ts +44 -1
- package/dist/cjs/exchanges/handler.d.ts.map +1 -1
- package/dist/cjs/exchanges/handler.js +76 -17
- package/dist/cjs/exchanges/handler.js.map +1 -1
- package/dist/cjs/exchanges/mixin.d.ts +24 -8
- package/dist/cjs/exchanges/mixin.d.ts.map +1 -1
- package/dist/cjs/exchanges/mixin.js +72 -72
- package/dist/cjs/exchanges/mixin.js.map +1 -1
- package/dist/cjs/funds/handler.d.ts +27 -1
- package/dist/cjs/funds/handler.d.ts.map +1 -1
- package/dist/cjs/funds/handler.js +28 -7
- package/dist/cjs/funds/handler.js.map +1 -1
- package/dist/cjs/funds/mixin.d.ts +50 -17
- package/dist/cjs/funds/mixin.d.ts.map +1 -1
- package/dist/cjs/funds/mixin.js +48 -46
- package/dist/cjs/funds/mixin.js.map +1 -1
- package/dist/cjs/groups/handler.d.ts +8 -1
- package/dist/cjs/groups/handler.d.ts.map +1 -1
- package/dist/cjs/groups/handler.js +9 -2
- package/dist/cjs/groups/handler.js.map +1 -1
- package/dist/cjs/groups/mixin.d.ts +12 -4
- package/dist/cjs/groups/mixin.d.ts.map +1 -1
- package/dist/cjs/groups/mixin.js +10 -8
- package/dist/cjs/groups/mixin.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/marketplaces/mixin.d.ts +2 -1
- package/dist/cjs/marketplaces/mixin.d.ts.map +1 -1
- package/dist/cjs/marketplaces/mixin.js.map +1 -1
- package/dist/cjs/meta-tx/handler.d.ts.map +1 -1
- package/dist/cjs/meta-tx/handler.js +12 -10
- package/dist/cjs/meta-tx/handler.js.map +1 -1
- package/dist/cjs/meta-tx/mixin.d.ts +5 -3
- package/dist/cjs/meta-tx/mixin.d.ts.map +1 -1
- package/dist/cjs/meta-tx/mixin.js +1 -1
- package/dist/cjs/meta-tx/mixin.js.map +1 -1
- package/dist/cjs/metadata/mixin.d.ts +2 -1
- package/dist/cjs/metadata/mixin.d.ts.map +1 -1
- package/dist/cjs/metadata/mixin.js.map +1 -1
- package/dist/cjs/mixins/base-core-sdk.d.ts +4 -4
- package/dist/cjs/mixins/base-core-sdk.d.ts.map +1 -1
- package/dist/cjs/mixins/base-core-sdk.js.map +1 -1
- package/dist/cjs/native-meta-tx/handler.d.ts.map +1 -1
- package/dist/cjs/native-meta-tx/handler.js +3 -2
- package/dist/cjs/native-meta-tx/handler.js.map +1 -1
- package/dist/cjs/native-meta-tx/mixin.d.ts +2 -2
- package/dist/cjs/native-meta-tx/mixin.d.ts.map +1 -1
- package/dist/cjs/native-meta-tx/mixin.js.map +1 -1
- package/dist/cjs/native-meta-tx/tokenSpecifics.d.ts.map +1 -1
- package/dist/cjs/offers/handler.d.ts +81 -0
- package/dist/cjs/offers/handler.d.ts.map +1 -1
- package/dist/cjs/offers/handler.js +90 -17
- package/dist/cjs/offers/handler.js.map +1 -1
- package/dist/cjs/offers/mixin.d.ts +53 -2
- package/dist/cjs/offers/mixin.d.ts.map +1 -1
- package/dist/cjs/offers/mixin.js +102 -97
- package/dist/cjs/offers/mixin.js.map +1 -1
- package/dist/cjs/orchestration/handler.d.ts +86 -1
- package/dist/cjs/orchestration/handler.d.ts.map +1 -1
- package/dist/cjs/orchestration/handler.js +64 -16
- package/dist/cjs/orchestration/handler.js.map +1 -1
- package/dist/cjs/orchestration/mixin.d.ts +2 -2
- package/dist/cjs/orchestration/mixin.d.ts.map +1 -1
- package/dist/cjs/orchestration/mixin.js.map +1 -1
- package/dist/cjs/price-discovery/handler.d.ts +11 -1
- package/dist/cjs/price-discovery/handler.d.ts.map +1 -1
- package/dist/cjs/price-discovery/handler.js +9 -2
- package/dist/cjs/price-discovery/handler.js.map +1 -1
- package/dist/cjs/price-discovery/mixin.d.ts +16 -4
- package/dist/cjs/price-discovery/mixin.d.ts.map +1 -1
- package/dist/cjs/price-discovery/mixin.js +14 -12
- package/dist/cjs/price-discovery/mixin.js.map +1 -1
- package/dist/cjs/protocol-config/handler.d.ts +9 -0
- package/dist/cjs/protocol-config/handler.d.ts.map +1 -1
- package/dist/cjs/protocol-config/handler.js +10 -3
- package/dist/cjs/protocol-config/handler.js.map +1 -1
- package/dist/cjs/protocol-config/mixin.d.ts +2 -1
- package/dist/cjs/protocol-config/mixin.d.ts.map +1 -1
- package/dist/cjs/protocol-config/mixin.js.map +1 -1
- package/dist/cjs/subgraph/mixin.d.ts +2 -2
- package/dist/cjs/subgraph/mixin.d.ts.map +1 -1
- package/dist/cjs/subgraph/mixin.js.map +1 -1
- package/dist/cjs/utils/promises.d.ts.map +1 -1
- package/dist/cjs/utils/signature.d.ts +20 -7
- package/dist/cjs/utils/signature.d.ts.map +1 -1
- package/dist/cjs/utils/signature.js +6 -2
- package/dist/cjs/utils/signature.js.map +1 -1
- package/dist/cjs/voucher/handler.d.ts +56 -1
- package/dist/cjs/voucher/handler.d.ts.map +1 -1
- package/dist/cjs/voucher/handler.js +56 -14
- package/dist/cjs/voucher/handler.js.map +1 -1
- package/dist/cjs/voucher/mixin.d.ts +66 -22
- package/dist/cjs/voucher/mixin.d.ts.map +1 -1
- package/dist/cjs/voucher/mixin.js +75 -61
- package/dist/cjs/voucher/mixin.js.map +1 -1
- package/dist/esm/accounts/handler.d.ts +115 -1
- package/dist/esm/accounts/handler.d.ts.map +1 -1
- package/dist/esm/accounts/handler.js +126 -28
- package/dist/esm/accounts/handler.js.map +1 -1
- package/dist/esm/accounts/mixin.d.ts +105 -8
- package/dist/esm/accounts/mixin.d.ts.map +1 -1
- package/dist/esm/accounts/mixin.js +249 -116
- package/dist/esm/accounts/mixin.js.map +1 -1
- package/dist/esm/core-sdk.d.ts +6 -6
- package/dist/esm/core-sdk.d.ts.map +1 -1
- package/dist/esm/core-sdk.js.map +1 -1
- package/dist/esm/disputes/handler.d.ts +88 -7
- package/dist/esm/disputes/handler.d.ts.map +1 -1
- package/dist/esm/disputes/handler.js +104 -22
- package/dist/esm/disputes/handler.js.map +1 -1
- package/dist/esm/disputes/mixin.d.ts +37 -17
- package/dist/esm/disputes/mixin.d.ts.map +1 -1
- package/dist/esm/disputes/mixin.js +171 -100
- package/dist/esm/disputes/mixin.js.map +1 -1
- package/dist/esm/erc1155/mixin.d.ts +2 -1
- package/dist/esm/erc1155/mixin.d.ts.map +1 -1
- package/dist/esm/erc1155/mixin.js.map +1 -1
- package/dist/esm/erc165/mixin.d.ts +2 -1
- package/dist/esm/erc165/mixin.d.ts.map +1 -1
- package/dist/esm/erc165/mixin.js.map +1 -1
- package/dist/esm/erc20/handler.d.ts +11 -2
- package/dist/esm/erc20/handler.d.ts.map +1 -1
- package/dist/esm/erc20/handler.js +9 -2
- package/dist/esm/erc20/handler.js.map +1 -1
- package/dist/esm/erc20/mixin.d.ts +20 -3
- package/dist/esm/erc20/mixin.d.ts.map +1 -1
- package/dist/esm/erc20/mixin.js +24 -8
- package/dist/esm/erc20/mixin.js.map +1 -1
- package/dist/esm/erc721/handler.d.ts +11 -2
- package/dist/esm/erc721/handler.d.ts.map +1 -1
- package/dist/esm/erc721/handler.js +8 -2
- package/dist/esm/erc721/handler.js.map +1 -1
- package/dist/esm/erc721/mixin.d.ts +2 -1
- package/dist/esm/erc721/mixin.d.ts.map +1 -1
- package/dist/esm/erc721/mixin.js.map +1 -1
- package/dist/esm/errors/mixin.d.ts +2 -1
- package/dist/esm/errors/mixin.d.ts.map +1 -1
- package/dist/esm/errors/mixin.js.map +1 -1
- package/dist/esm/event-logs/mixin.d.ts +2 -1
- package/dist/esm/event-logs/mixin.d.ts.map +1 -1
- package/dist/esm/event-logs/mixin.js.map +1 -1
- package/dist/esm/exchanges/handler.d.ts +44 -1
- package/dist/esm/exchanges/handler.d.ts.map +1 -1
- package/dist/esm/exchanges/handler.js +80 -16
- package/dist/esm/exchanges/handler.js.map +1 -1
- package/dist/esm/exchanges/mixin.d.ts +24 -8
- package/dist/esm/exchanges/mixin.d.ts.map +1 -1
- package/dist/esm/exchanges/mixin.js +120 -72
- package/dist/esm/exchanges/mixin.js.map +1 -1
- package/dist/esm/funds/handler.d.ts +27 -1
- package/dist/esm/funds/handler.d.ts.map +1 -1
- package/dist/esm/funds/handler.js +28 -7
- package/dist/esm/funds/handler.js.map +1 -1
- package/dist/esm/funds/mixin.d.ts +50 -17
- package/dist/esm/funds/mixin.d.ts.map +1 -1
- package/dist/esm/funds/mixin.js +62 -42
- package/dist/esm/funds/mixin.js.map +1 -1
- package/dist/esm/groups/handler.d.ts +8 -1
- package/dist/esm/groups/handler.d.ts.map +1 -1
- package/dist/esm/groups/handler.js +9 -2
- package/dist/esm/groups/handler.js.map +1 -1
- package/dist/esm/groups/mixin.d.ts +12 -4
- package/dist/esm/groups/mixin.d.ts.map +1 -1
- package/dist/esm/groups/mixin.js +16 -8
- package/dist/esm/groups/mixin.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/marketplaces/mixin.d.ts +2 -1
- package/dist/esm/marketplaces/mixin.d.ts.map +1 -1
- package/dist/esm/marketplaces/mixin.js.map +1 -1
- package/dist/esm/meta-tx/handler.d.ts.map +1 -1
- package/dist/esm/meta-tx/handler.js +20 -10
- package/dist/esm/meta-tx/handler.js.map +1 -1
- package/dist/esm/meta-tx/mixin.d.ts +5 -3
- package/dist/esm/meta-tx/mixin.d.ts.map +1 -1
- package/dist/esm/meta-tx/mixin.js +1 -1
- package/dist/esm/meta-tx/mixin.js.map +1 -1
- package/dist/esm/metadata/mixin.d.ts +2 -1
- package/dist/esm/metadata/mixin.d.ts.map +1 -1
- package/dist/esm/metadata/mixin.js.map +1 -1
- package/dist/esm/mixins/base-core-sdk.d.ts +4 -4
- package/dist/esm/mixins/base-core-sdk.d.ts.map +1 -1
- package/dist/esm/mixins/base-core-sdk.js.map +1 -1
- package/dist/esm/native-meta-tx/handler.d.ts.map +1 -1
- package/dist/esm/native-meta-tx/handler.js +4 -2
- package/dist/esm/native-meta-tx/handler.js.map +1 -1
- package/dist/esm/native-meta-tx/mixin.d.ts +2 -2
- package/dist/esm/native-meta-tx/mixin.d.ts.map +1 -1
- package/dist/esm/native-meta-tx/mixin.js.map +1 -1
- package/dist/esm/native-meta-tx/tokenSpecifics.d.ts.map +1 -1
- package/dist/esm/offers/handler.d.ts +81 -0
- package/dist/esm/offers/handler.d.ts.map +1 -1
- package/dist/esm/offers/handler.js +91 -18
- package/dist/esm/offers/handler.js.map +1 -1
- package/dist/esm/offers/mixin.d.ts +53 -2
- package/dist/esm/offers/mixin.d.ts.map +1 -1
- package/dist/esm/offers/mixin.js +162 -97
- package/dist/esm/offers/mixin.js.map +1 -1
- package/dist/esm/orchestration/handler.d.ts +86 -1
- package/dist/esm/orchestration/handler.d.ts.map +1 -1
- package/dist/esm/orchestration/handler.js +64 -16
- package/dist/esm/orchestration/handler.js.map +1 -1
- package/dist/esm/orchestration/mixin.d.ts +2 -2
- package/dist/esm/orchestration/mixin.d.ts.map +1 -1
- package/dist/esm/orchestration/mixin.js.map +1 -1
- package/dist/esm/price-discovery/handler.d.ts +11 -1
- package/dist/esm/price-discovery/handler.d.ts.map +1 -1
- package/dist/esm/price-discovery/handler.js +9 -2
- package/dist/esm/price-discovery/handler.js.map +1 -1
- package/dist/esm/price-discovery/mixin.d.ts +16 -4
- package/dist/esm/price-discovery/mixin.d.ts.map +1 -1
- package/dist/esm/price-discovery/mixin.js +19 -11
- package/dist/esm/price-discovery/mixin.js.map +1 -1
- package/dist/esm/protocol-config/handler.d.ts +9 -0
- package/dist/esm/protocol-config/handler.d.ts.map +1 -1
- package/dist/esm/protocol-config/handler.js +10 -3
- package/dist/esm/protocol-config/handler.js.map +1 -1
- package/dist/esm/protocol-config/mixin.d.ts +2 -1
- package/dist/esm/protocol-config/mixin.d.ts.map +1 -1
- package/dist/esm/protocol-config/mixin.js.map +1 -1
- package/dist/esm/subgraph/mixin.d.ts +2 -2
- package/dist/esm/subgraph/mixin.d.ts.map +1 -1
- package/dist/esm/subgraph/mixin.js.map +1 -1
- package/dist/esm/utils/promises.d.ts.map +1 -1
- package/dist/esm/utils/signature.d.ts +20 -7
- package/dist/esm/utils/signature.d.ts.map +1 -1
- package/dist/esm/utils/signature.js +6 -2
- package/dist/esm/utils/signature.js.map +1 -1
- package/dist/esm/voucher/handler.d.ts +56 -1
- package/dist/esm/voucher/handler.d.ts.map +1 -1
- package/dist/esm/voucher/handler.js +56 -14
- package/dist/esm/voucher/handler.js.map +1 -1
- package/dist/esm/voucher/mixin.d.ts +66 -22
- package/dist/esm/voucher/mixin.d.ts.map +1 -1
- package/dist/esm/voucher/mixin.js +93 -55
- package/dist/esm/voucher/mixin.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/accounts/handler.ts +369 -42
- package/src/accounts/mixin.ts +644 -57
- package/src/core-sdk.ts +26 -26
- package/src/disputes/handler.ts +294 -35
- package/src/disputes/mixin.ts +301 -46
- package/src/erc1155/mixin.ts +2 -1
- package/src/erc165/mixin.ts +2 -1
- package/src/erc20/handler.ts +36 -4
- package/src/erc20/mixin.ts +77 -10
- package/src/erc721/handler.ts +34 -4
- package/src/erc721/mixin.ts +2 -1
- package/src/errors/mixin.ts +2 -2
- package/src/event-logs/mixin.ts +2 -1
- package/src/exchanges/handler.ts +235 -25
- package/src/exchanges/mixin.ts +223 -32
- package/src/funds/handler.ts +99 -13
- package/src/funds/mixin.ts +177 -39
- package/src/groups/handler.ts +28 -3
- package/src/groups/mixin.ts +50 -7
- package/src/index.ts +1 -0
- package/src/marketplaces/mixin.ts +2 -1
- package/src/meta-tx/handler.ts +20 -10
- package/src/meta-tx/mixin.ts +8 -4
- package/src/metadata/mixin.ts +2 -1
- package/src/mixins/base-core-sdk.ts +5 -5
- package/src/native-meta-tx/handler.ts +4 -2
- package/src/native-meta-tx/mixin.ts +8 -2
- package/src/offers/handler.ts +300 -27
- package/src/offers/mixin.ts +399 -35
- package/src/orchestration/handler.ts +259 -24
- package/src/orchestration/mixin.ts +8 -2
- package/src/price-discovery/handler.ts +35 -4
- package/src/price-discovery/mixin.ts +60 -9
- package/src/protocol-config/handler.ts +26 -4
- package/src/protocol-config/mixin.ts +4 -1
- package/src/subgraph/mixin.ts +6 -2
- package/src/utils/signature.ts +46 -5
- package/src/voucher/handler.ts +192 -22
- package/src/voucher/mixin.ts +244 -66
package/src/disputes/mixin.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
2
2
|
import * as subgraph from "../subgraph";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
TransactionResponse,
|
|
5
|
+
TransactionRequest,
|
|
6
|
+
Web3LibAdapter
|
|
7
|
+
} from "@bosonprotocol/common";
|
|
4
8
|
import { BigNumberish } from "@ethersproject/bignumber";
|
|
5
9
|
import { BytesLike } from "@ethersproject/bytes";
|
|
6
10
|
import {
|
|
@@ -21,8 +25,9 @@ import {
|
|
|
21
25
|
getDisputeById,
|
|
22
26
|
getDisputes
|
|
23
27
|
} from "./subgraph";
|
|
28
|
+
import { getSignatureParameters, StructuredData } from "../utils/signature";
|
|
24
29
|
|
|
25
|
-
export class DisputesMixin extends BaseCoreSDK {
|
|
30
|
+
export class DisputesMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
26
31
|
/* -------------------------------------------------------------------------- */
|
|
27
32
|
/* Dispute related methods */
|
|
28
33
|
/* -------------------------------------------------------------------------- */
|
|
@@ -57,13 +62,34 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
57
62
|
* @returns Transaction response.
|
|
58
63
|
*/
|
|
59
64
|
public async raiseDispute(
|
|
60
|
-
exchangeId: BigNumberish
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
exchangeId: BigNumberish,
|
|
66
|
+
returnTxInfo: true
|
|
67
|
+
): Promise<TransactionRequest>;
|
|
68
|
+
public async raiseDispute(
|
|
69
|
+
exchangeId: BigNumberish,
|
|
70
|
+
returnTxInfo?: false | undefined
|
|
71
|
+
): Promise<TransactionResponse>;
|
|
72
|
+
public async raiseDispute(
|
|
73
|
+
exchangeId: BigNumberish,
|
|
74
|
+
returnTxInfo?: boolean
|
|
75
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
76
|
+
const raiseArgs = {
|
|
63
77
|
exchangeId,
|
|
64
78
|
contractAddress: this._protocolDiamond,
|
|
65
79
|
web3Lib: this._web3Lib
|
|
66
|
-
}
|
|
80
|
+
} as const satisfies Parameters<typeof raiseDispute>[0];
|
|
81
|
+
|
|
82
|
+
if (returnTxInfo === true) {
|
|
83
|
+
return raiseDispute({
|
|
84
|
+
...raiseArgs,
|
|
85
|
+
returnTxInfo: true
|
|
86
|
+
});
|
|
87
|
+
} else {
|
|
88
|
+
return raiseDispute({
|
|
89
|
+
...raiseArgs,
|
|
90
|
+
returnTxInfo: false
|
|
91
|
+
});
|
|
92
|
+
}
|
|
67
93
|
}
|
|
68
94
|
|
|
69
95
|
/**
|
|
@@ -72,13 +98,34 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
72
98
|
* @returns Transaction response.
|
|
73
99
|
*/
|
|
74
100
|
public async retractDispute(
|
|
75
|
-
exchangeId: BigNumberish
|
|
76
|
-
|
|
77
|
-
|
|
101
|
+
exchangeId: BigNumberish,
|
|
102
|
+
returnTxInfo: true
|
|
103
|
+
): Promise<TransactionRequest>;
|
|
104
|
+
public async retractDispute(
|
|
105
|
+
exchangeId: BigNumberish,
|
|
106
|
+
returnTxInfo?: false | undefined
|
|
107
|
+
): Promise<TransactionResponse>;
|
|
108
|
+
public async retractDispute(
|
|
109
|
+
exchangeId: BigNumberish,
|
|
110
|
+
returnTxInfo?: boolean
|
|
111
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
112
|
+
const retractArgs = {
|
|
78
113
|
exchangeId,
|
|
79
114
|
contractAddress: this._protocolDiamond,
|
|
80
115
|
web3Lib: this._web3Lib
|
|
81
|
-
}
|
|
116
|
+
} as const satisfies Parameters<typeof retractDispute>[0];
|
|
117
|
+
|
|
118
|
+
if (returnTxInfo === true) {
|
|
119
|
+
return retractDispute({
|
|
120
|
+
...retractArgs,
|
|
121
|
+
returnTxInfo: true
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
return retractDispute({
|
|
125
|
+
...retractArgs,
|
|
126
|
+
returnTxInfo: false
|
|
127
|
+
});
|
|
128
|
+
}
|
|
82
129
|
}
|
|
83
130
|
|
|
84
131
|
/**
|
|
@@ -89,14 +136,37 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
89
136
|
*/
|
|
90
137
|
public async extendDisputeTimeout(
|
|
91
138
|
exchangeId: BigNumberish,
|
|
92
|
-
newDisputeTimeout: BigNumberish
|
|
93
|
-
|
|
94
|
-
|
|
139
|
+
newDisputeTimeout: BigNumberish,
|
|
140
|
+
returnTxInfo: true
|
|
141
|
+
): Promise<TransactionRequest>;
|
|
142
|
+
public async extendDisputeTimeout(
|
|
143
|
+
exchangeId: BigNumberish,
|
|
144
|
+
newDisputeTimeout: BigNumberish,
|
|
145
|
+
returnTxInfo?: false | undefined
|
|
146
|
+
): Promise<TransactionResponse>;
|
|
147
|
+
public async extendDisputeTimeout(
|
|
148
|
+
exchangeId: BigNumberish,
|
|
149
|
+
newDisputeTimeout: BigNumberish,
|
|
150
|
+
returnTxInfo?: boolean
|
|
151
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
152
|
+
const extendArgs = {
|
|
95
153
|
exchangeId,
|
|
96
154
|
newDisputeTimeout,
|
|
97
155
|
contractAddress: this._protocolDiamond,
|
|
98
156
|
web3Lib: this._web3Lib
|
|
99
|
-
}
|
|
157
|
+
} as const satisfies Parameters<typeof extendDisputeTimeout>[0];
|
|
158
|
+
|
|
159
|
+
if (returnTxInfo === true) {
|
|
160
|
+
return extendDisputeTimeout({
|
|
161
|
+
...extendArgs,
|
|
162
|
+
returnTxInfo: true
|
|
163
|
+
});
|
|
164
|
+
} else {
|
|
165
|
+
return extendDisputeTimeout({
|
|
166
|
+
...extendArgs,
|
|
167
|
+
returnTxInfo: false
|
|
168
|
+
});
|
|
169
|
+
}
|
|
100
170
|
}
|
|
101
171
|
|
|
102
172
|
/**
|
|
@@ -105,13 +175,34 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
105
175
|
* @returns Transaction response.
|
|
106
176
|
*/
|
|
107
177
|
public async expireDispute(
|
|
108
|
-
exchangeId: BigNumberish
|
|
109
|
-
|
|
110
|
-
|
|
178
|
+
exchangeId: BigNumberish,
|
|
179
|
+
returnTxInfo: true
|
|
180
|
+
): Promise<TransactionRequest>;
|
|
181
|
+
public async expireDispute(
|
|
182
|
+
exchangeId: BigNumberish,
|
|
183
|
+
returnTxInfo?: false | undefined
|
|
184
|
+
): Promise<TransactionResponse>;
|
|
185
|
+
public async expireDispute(
|
|
186
|
+
exchangeId: BigNumberish,
|
|
187
|
+
returnTxInfo?: boolean
|
|
188
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
189
|
+
const expireArgs = {
|
|
111
190
|
exchangeId,
|
|
112
191
|
contractAddress: this._protocolDiamond,
|
|
113
192
|
web3Lib: this._web3Lib
|
|
114
|
-
}
|
|
193
|
+
} as const satisfies Parameters<typeof expireDispute>[0];
|
|
194
|
+
|
|
195
|
+
if (returnTxInfo === true) {
|
|
196
|
+
return expireDispute({
|
|
197
|
+
...expireArgs,
|
|
198
|
+
returnTxInfo: true
|
|
199
|
+
});
|
|
200
|
+
} else {
|
|
201
|
+
return expireDispute({
|
|
202
|
+
...expireArgs,
|
|
203
|
+
returnTxInfo: false
|
|
204
|
+
});
|
|
205
|
+
}
|
|
115
206
|
}
|
|
116
207
|
|
|
117
208
|
/**
|
|
@@ -120,13 +211,34 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
120
211
|
* @returns Transaction response.
|
|
121
212
|
*/
|
|
122
213
|
public async expireDisputeBatch(
|
|
123
|
-
exchangeIds: BigNumberish[]
|
|
124
|
-
|
|
125
|
-
|
|
214
|
+
exchangeIds: BigNumberish[],
|
|
215
|
+
returnTxInfo: true
|
|
216
|
+
): Promise<TransactionRequest>;
|
|
217
|
+
public async expireDisputeBatch(
|
|
218
|
+
exchangeIds: BigNumberish[],
|
|
219
|
+
returnTxInfo?: false | undefined
|
|
220
|
+
): Promise<TransactionResponse>;
|
|
221
|
+
public async expireDisputeBatch(
|
|
222
|
+
exchangeIds: BigNumberish[],
|
|
223
|
+
returnTxInfo?: boolean
|
|
224
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
225
|
+
const batchArgs = {
|
|
126
226
|
exchangeIds,
|
|
127
227
|
contractAddress: this._protocolDiamond,
|
|
128
228
|
web3Lib: this._web3Lib
|
|
129
|
-
}
|
|
229
|
+
} as const satisfies Parameters<typeof expireDisputeBatch>[0];
|
|
230
|
+
|
|
231
|
+
if (returnTxInfo === true) {
|
|
232
|
+
return expireDisputeBatch({
|
|
233
|
+
...batchArgs,
|
|
234
|
+
returnTxInfo: true
|
|
235
|
+
});
|
|
236
|
+
} else {
|
|
237
|
+
return expireDisputeBatch({
|
|
238
|
+
...batchArgs,
|
|
239
|
+
returnTxInfo: false
|
|
240
|
+
});
|
|
241
|
+
}
|
|
130
242
|
}
|
|
131
243
|
|
|
132
244
|
/**
|
|
@@ -148,12 +260,46 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
148
260
|
sigR: BytesLike;
|
|
149
261
|
sigS: BytesLike;
|
|
150
262
|
sigV: BigNumberish;
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
263
|
+
returnTxInfo: true;
|
|
264
|
+
}): Promise<TransactionRequest>;
|
|
265
|
+
public async resolveDispute(args: {
|
|
266
|
+
exchangeId: BigNumberish;
|
|
267
|
+
buyerPercentBasisPoints: BigNumberish;
|
|
268
|
+
sigR: BytesLike;
|
|
269
|
+
sigS: BytesLike;
|
|
270
|
+
sigV: BigNumberish;
|
|
271
|
+
returnTxInfo?: false | undefined;
|
|
272
|
+
}): Promise<TransactionResponse>;
|
|
273
|
+
public async resolveDispute(args: {
|
|
274
|
+
exchangeId: BigNumberish;
|
|
275
|
+
buyerPercentBasisPoints: BigNumberish;
|
|
276
|
+
sigR: BytesLike;
|
|
277
|
+
sigS: BytesLike;
|
|
278
|
+
sigV: BigNumberish;
|
|
279
|
+
returnTxInfo?: boolean;
|
|
280
|
+
}): Promise<TransactionResponse | TransactionRequest> {
|
|
281
|
+
const { returnTxInfo } = args;
|
|
282
|
+
const resolveArgs = {
|
|
283
|
+
exchangeId: args.exchangeId,
|
|
284
|
+
buyerPercentBasisPoints: args.buyerPercentBasisPoints,
|
|
285
|
+
sigR: args.sigR,
|
|
286
|
+
sigS: args.sigS,
|
|
287
|
+
sigV: args.sigV,
|
|
154
288
|
contractAddress: this._protocolDiamond,
|
|
155
289
|
web3Lib: this._web3Lib
|
|
156
|
-
}
|
|
290
|
+
} as const satisfies Parameters<typeof resolveDispute>[0];
|
|
291
|
+
|
|
292
|
+
if (returnTxInfo === true) {
|
|
293
|
+
return resolveDispute({
|
|
294
|
+
...resolveArgs,
|
|
295
|
+
returnTxInfo: true
|
|
296
|
+
});
|
|
297
|
+
} else {
|
|
298
|
+
return resolveDispute({
|
|
299
|
+
...resolveArgs,
|
|
300
|
+
returnTxInfo: false
|
|
301
|
+
});
|
|
302
|
+
}
|
|
157
303
|
}
|
|
158
304
|
|
|
159
305
|
/**
|
|
@@ -162,13 +308,34 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
162
308
|
* @returns Transaction response.
|
|
163
309
|
*/
|
|
164
310
|
public async escalateDispute(
|
|
165
|
-
exchangeId: BigNumberish
|
|
166
|
-
|
|
167
|
-
|
|
311
|
+
exchangeId: BigNumberish,
|
|
312
|
+
returnTxInfo: true
|
|
313
|
+
): Promise<TransactionRequest>;
|
|
314
|
+
public async escalateDispute(
|
|
315
|
+
exchangeId: BigNumberish,
|
|
316
|
+
returnTxInfo?: false | undefined
|
|
317
|
+
): Promise<TransactionResponse>;
|
|
318
|
+
public async escalateDispute(
|
|
319
|
+
exchangeId: BigNumberish,
|
|
320
|
+
returnTxInfo?: boolean
|
|
321
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
322
|
+
const escalateArgs = {
|
|
168
323
|
exchangeId,
|
|
169
324
|
contractAddress: this._protocolDiamond,
|
|
170
325
|
web3Lib: this._web3Lib
|
|
171
|
-
}
|
|
326
|
+
} as const satisfies Parameters<typeof escalateDispute>[0];
|
|
327
|
+
|
|
328
|
+
if (returnTxInfo === true) {
|
|
329
|
+
return escalateDispute({
|
|
330
|
+
...escalateArgs,
|
|
331
|
+
returnTxInfo: true
|
|
332
|
+
});
|
|
333
|
+
} else {
|
|
334
|
+
return escalateDispute({
|
|
335
|
+
...escalateArgs,
|
|
336
|
+
returnTxInfo: false
|
|
337
|
+
});
|
|
338
|
+
}
|
|
172
339
|
}
|
|
173
340
|
|
|
174
341
|
/**
|
|
@@ -179,14 +346,37 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
179
346
|
*/
|
|
180
347
|
public async decideDispute(
|
|
181
348
|
exchangeId: BigNumberish,
|
|
182
|
-
buyerPercent: BigNumberish
|
|
183
|
-
|
|
184
|
-
|
|
349
|
+
buyerPercent: BigNumberish,
|
|
350
|
+
returnTxInfo: true
|
|
351
|
+
): Promise<TransactionRequest>;
|
|
352
|
+
public async decideDispute(
|
|
353
|
+
exchangeId: BigNumberish,
|
|
354
|
+
buyerPercent: BigNumberish,
|
|
355
|
+
returnTxInfo?: false | undefined
|
|
356
|
+
): Promise<TransactionResponse>;
|
|
357
|
+
public async decideDispute(
|
|
358
|
+
exchangeId: BigNumberish,
|
|
359
|
+
buyerPercent: BigNumberish,
|
|
360
|
+
returnTxInfo?: boolean
|
|
361
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
362
|
+
const decideArgs = {
|
|
185
363
|
exchangeId,
|
|
186
364
|
buyerPercent,
|
|
187
365
|
contractAddress: this._protocolDiamond,
|
|
188
366
|
web3Lib: this._web3Lib
|
|
189
|
-
}
|
|
367
|
+
} as const satisfies Parameters<typeof decideDispute>[0];
|
|
368
|
+
|
|
369
|
+
if (returnTxInfo === true) {
|
|
370
|
+
return decideDispute({
|
|
371
|
+
...decideArgs,
|
|
372
|
+
returnTxInfo: true
|
|
373
|
+
});
|
|
374
|
+
} else {
|
|
375
|
+
return decideDispute({
|
|
376
|
+
...decideArgs,
|
|
377
|
+
returnTxInfo: false
|
|
378
|
+
});
|
|
379
|
+
}
|
|
190
380
|
}
|
|
191
381
|
|
|
192
382
|
/**
|
|
@@ -195,13 +385,34 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
195
385
|
* @returns Transaction response.
|
|
196
386
|
*/
|
|
197
387
|
public async refuseEscalatedDispute(
|
|
198
|
-
exchangeId: BigNumberish
|
|
199
|
-
|
|
200
|
-
|
|
388
|
+
exchangeId: BigNumberish,
|
|
389
|
+
returnTxInfo: true
|
|
390
|
+
): Promise<TransactionRequest>;
|
|
391
|
+
public async refuseEscalatedDispute(
|
|
392
|
+
exchangeId: BigNumberish,
|
|
393
|
+
returnTxInfo?: false | undefined
|
|
394
|
+
): Promise<TransactionResponse>;
|
|
395
|
+
public async refuseEscalatedDispute(
|
|
396
|
+
exchangeId: BigNumberish,
|
|
397
|
+
returnTxInfo?: boolean
|
|
398
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
399
|
+
const refuseArgs = {
|
|
201
400
|
exchangeId,
|
|
202
401
|
contractAddress: this._protocolDiamond,
|
|
203
402
|
web3Lib: this._web3Lib
|
|
204
|
-
}
|
|
403
|
+
} as const satisfies Parameters<typeof refuseEscalatedDispute>[0];
|
|
404
|
+
|
|
405
|
+
if (returnTxInfo === true) {
|
|
406
|
+
return refuseEscalatedDispute({
|
|
407
|
+
...refuseArgs,
|
|
408
|
+
returnTxInfo: true
|
|
409
|
+
});
|
|
410
|
+
} else {
|
|
411
|
+
return refuseEscalatedDispute({
|
|
412
|
+
...refuseArgs,
|
|
413
|
+
returnTxInfo: false
|
|
414
|
+
});
|
|
415
|
+
}
|
|
205
416
|
}
|
|
206
417
|
|
|
207
418
|
/**
|
|
@@ -210,13 +421,34 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
210
421
|
* @returns Transaction response.
|
|
211
422
|
*/
|
|
212
423
|
public async expireEscalatedDispute(
|
|
213
|
-
exchangeId: BigNumberish
|
|
214
|
-
|
|
215
|
-
|
|
424
|
+
exchangeId: BigNumberish,
|
|
425
|
+
returnTxInfo: true
|
|
426
|
+
): Promise<TransactionRequest>;
|
|
427
|
+
public async expireEscalatedDispute(
|
|
428
|
+
exchangeId: BigNumberish,
|
|
429
|
+
returnTxInfo?: false | undefined
|
|
430
|
+
): Promise<TransactionResponse>;
|
|
431
|
+
public async expireEscalatedDispute(
|
|
432
|
+
exchangeId: BigNumberish,
|
|
433
|
+
returnTxInfo?: boolean
|
|
434
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
435
|
+
const expireEscalatedArgs = {
|
|
216
436
|
exchangeId,
|
|
217
437
|
contractAddress: this._protocolDiamond,
|
|
218
438
|
web3Lib: this._web3Lib
|
|
219
|
-
}
|
|
439
|
+
} as const satisfies Parameters<typeof expireEscalatedDispute>[0];
|
|
440
|
+
|
|
441
|
+
if (returnTxInfo === true) {
|
|
442
|
+
return expireEscalatedDispute({
|
|
443
|
+
...expireEscalatedArgs,
|
|
444
|
+
returnTxInfo: true
|
|
445
|
+
});
|
|
446
|
+
} else {
|
|
447
|
+
return expireEscalatedDispute({
|
|
448
|
+
...expireEscalatedArgs,
|
|
449
|
+
returnTxInfo: false
|
|
450
|
+
});
|
|
451
|
+
}
|
|
220
452
|
}
|
|
221
453
|
|
|
222
454
|
/**
|
|
@@ -229,12 +461,35 @@ export class DisputesMixin extends BaseCoreSDK {
|
|
|
229
461
|
public async signDisputeResolutionProposal(args: {
|
|
230
462
|
exchangeId: BigNumberish;
|
|
231
463
|
buyerPercentBasisPoints: BigNumberish;
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
464
|
+
returnTypedDataToSign: true;
|
|
465
|
+
}): Promise<StructuredData>;
|
|
466
|
+
public async signDisputeResolutionProposal(args: {
|
|
467
|
+
exchangeId: BigNumberish;
|
|
468
|
+
buyerPercentBasisPoints: BigNumberish;
|
|
469
|
+
returnTypedDataToSign?: false;
|
|
470
|
+
}): Promise<ReturnType<typeof getSignatureParameters>>;
|
|
471
|
+
public async signDisputeResolutionProposal(args: {
|
|
472
|
+
exchangeId: BigNumberish;
|
|
473
|
+
buyerPercentBasisPoints: BigNumberish;
|
|
474
|
+
returnTypedDataToSign?: boolean;
|
|
475
|
+
}): Promise<StructuredData | ReturnType<typeof getSignatureParameters>> {
|
|
476
|
+
const { returnTypedDataToSign, ...argsWithoutReturnTypedDataToSign } = args;
|
|
477
|
+
const params = {
|
|
478
|
+
...argsWithoutReturnTypedDataToSign,
|
|
235
479
|
web3Lib: this._web3Lib,
|
|
236
480
|
contractAddress: this._protocolDiamond,
|
|
237
481
|
chainId: this._chainId
|
|
238
|
-
}
|
|
482
|
+
};
|
|
483
|
+
if (returnTypedDataToSign === true) {
|
|
484
|
+
return signResolutionProposal({
|
|
485
|
+
...params,
|
|
486
|
+
returnTypedDataToSign: true
|
|
487
|
+
});
|
|
488
|
+
} else {
|
|
489
|
+
return signResolutionProposal({
|
|
490
|
+
...params,
|
|
491
|
+
returnTypedDataToSign: false
|
|
492
|
+
});
|
|
493
|
+
}
|
|
239
494
|
}
|
|
240
495
|
}
|
package/src/erc1155/mixin.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Web3LibAdapter } from "@bosonprotocol/common";
|
|
1
2
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
2
3
|
import { balanceOf, name, symbol, uri } from "./handler";
|
|
3
4
|
|
|
4
|
-
export class ERC1155Mixin extends BaseCoreSDK {
|
|
5
|
+
export class ERC1155Mixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
5
6
|
/* -------------------------------------------------------------------------- */
|
|
6
7
|
/* ERC1155 related methods */
|
|
7
8
|
/* -------------------------------------------------------------------------- */
|
package/src/erc165/mixin.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { Web3LibAdapter } from "@bosonprotocol/common";
|
|
1
2
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
2
3
|
import { supportsInterface } from "./handler";
|
|
3
4
|
|
|
4
|
-
export class ERC165Mixin extends BaseCoreSDK {
|
|
5
|
+
export class ERC165Mixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
5
6
|
/* -------------------------------------------------------------------------- */
|
|
6
7
|
/* ERC20 related methods */
|
|
7
8
|
/* -------------------------------------------------------------------------- */
|
package/src/erc20/handler.ts
CHANGED
|
@@ -1,19 +1,51 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Web3LibAdapter,
|
|
3
|
+
TransactionRequest,
|
|
4
|
+
TransactionResponse
|
|
5
|
+
} from "@bosonprotocol/common";
|
|
2
6
|
import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
|
|
3
7
|
import { erc20Iface } from "./interface";
|
|
4
8
|
|
|
9
|
+
// Overload: returnTxInfo is true -> returns TransactionRequest
|
|
5
10
|
export async function approve(args: {
|
|
6
11
|
contractAddress: string;
|
|
7
12
|
spender: string;
|
|
8
13
|
value: BigNumberish;
|
|
9
14
|
web3Lib: Web3LibAdapter;
|
|
10
15
|
txRequest?: TransactionRequest;
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
returnTxInfo: true;
|
|
17
|
+
}): Promise<TransactionRequest>;
|
|
18
|
+
|
|
19
|
+
// Overload: returnTxInfo is false or undefined -> returns TransactionResponse
|
|
20
|
+
export async function approve(args: {
|
|
21
|
+
contractAddress: string;
|
|
22
|
+
spender: string;
|
|
23
|
+
value: BigNumberish;
|
|
24
|
+
web3Lib: Web3LibAdapter;
|
|
25
|
+
txRequest?: TransactionRequest;
|
|
26
|
+
returnTxInfo?: false | undefined;
|
|
27
|
+
}): Promise<TransactionResponse>;
|
|
28
|
+
|
|
29
|
+
// Implementation
|
|
30
|
+
export async function approve(args: {
|
|
31
|
+
contractAddress: string;
|
|
32
|
+
spender: string;
|
|
33
|
+
value: BigNumberish;
|
|
34
|
+
web3Lib: Web3LibAdapter;
|
|
35
|
+
txRequest?: TransactionRequest;
|
|
36
|
+
returnTxInfo?: boolean;
|
|
37
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
38
|
+
const transactionRequest: TransactionRequest = {
|
|
13
39
|
...args.txRequest,
|
|
14
40
|
to: args.contractAddress,
|
|
15
41
|
data: erc20Iface.encodeFunctionData("approve", [args.spender, args.value])
|
|
16
|
-
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
if (args.returnTxInfo) {
|
|
45
|
+
return transactionRequest;
|
|
46
|
+
} else {
|
|
47
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
48
|
+
}
|
|
17
49
|
}
|
|
18
50
|
|
|
19
51
|
export async function getAllowance(args: {
|
package/src/erc20/mixin.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Web3LibAdapter,
|
|
3
|
+
TransactionResponse,
|
|
4
|
+
TransactionRequest
|
|
5
|
+
} from "@bosonprotocol/common";
|
|
1
6
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
2
7
|
import {
|
|
3
8
|
approve,
|
|
@@ -9,14 +14,82 @@ import {
|
|
|
9
14
|
balanceOf
|
|
10
15
|
} from "./handler";
|
|
11
16
|
|
|
12
|
-
export class ERC20Mixin extends BaseCoreSDK {
|
|
17
|
+
export class ERC20Mixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
13
18
|
/* -------------------------------------------------------------------------- */
|
|
14
19
|
/* ERC20 related methods */
|
|
15
20
|
/* -------------------------------------------------------------------------- */
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Approves ERC20 token spending allowance.
|
|
24
|
+
* This transaction only succeeds if the token contract exists and caller has sufficient balance.
|
|
25
|
+
* @param args - Approval arguments.
|
|
26
|
+
* @param overrides - Optional overrides.
|
|
27
|
+
* @returns Transaction response.
|
|
28
|
+
*/
|
|
29
|
+
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
30
|
+
public async erc20Approve(
|
|
31
|
+
args: Omit<
|
|
32
|
+
Parameters<typeof approve>[0],
|
|
33
|
+
"web3Lib" | "theGraphStorage" | "metadataStorage"
|
|
34
|
+
>,
|
|
35
|
+
overrides: Partial<{
|
|
36
|
+
contractAddress: string;
|
|
37
|
+
txRequest: TransactionRequest;
|
|
38
|
+
returnTxInfo: true;
|
|
39
|
+
}>
|
|
40
|
+
): Promise<TransactionRequest>;
|
|
41
|
+
|
|
42
|
+
// Overload: returnTxInfo is false or undefined → returns TransactionResponse
|
|
43
|
+
public async erc20Approve(
|
|
44
|
+
args: Omit<
|
|
45
|
+
Parameters<typeof approve>[0],
|
|
46
|
+
"web3Lib" | "theGraphStorage" | "metadataStorage"
|
|
47
|
+
>,
|
|
48
|
+
overrides?: Partial<{
|
|
49
|
+
contractAddress: string;
|
|
50
|
+
txRequest: TransactionRequest;
|
|
51
|
+
returnTxInfo?: false | undefined;
|
|
52
|
+
}>
|
|
53
|
+
): Promise<TransactionResponse>;
|
|
54
|
+
|
|
55
|
+
// Implementation
|
|
16
56
|
public async erc20Approve(
|
|
17
|
-
args: Omit<
|
|
18
|
-
|
|
19
|
-
|
|
57
|
+
args: Omit<
|
|
58
|
+
Parameters<typeof approve>[0],
|
|
59
|
+
"web3Lib" | "theGraphStorage" | "metadataStorage"
|
|
60
|
+
>,
|
|
61
|
+
overrides: Partial<{
|
|
62
|
+
contractAddress: string;
|
|
63
|
+
txRequest: TransactionRequest;
|
|
64
|
+
returnTxInfo?: boolean;
|
|
65
|
+
}> = {}
|
|
66
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
67
|
+
const { returnTxInfo } = overrides;
|
|
68
|
+
|
|
69
|
+
const approveArgs = {
|
|
70
|
+
...args,
|
|
71
|
+
web3Lib: this._web3Lib,
|
|
72
|
+
contractAddress: overrides.contractAddress,
|
|
73
|
+
txRequest: overrides.txRequest
|
|
74
|
+
} as const satisfies Parameters<typeof approve>[0];
|
|
75
|
+
|
|
76
|
+
if (returnTxInfo === true) {
|
|
77
|
+
return approve({
|
|
78
|
+
...approveArgs,
|
|
79
|
+
returnTxInfo: true
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
return approve({
|
|
83
|
+
...approveArgs,
|
|
84
|
+
returnTxInfo: false
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
public async erc20EnsureAllowance(
|
|
90
|
+
args: Omit<Parameters<typeof ensureAllowance>[0], "web3Lib">
|
|
91
|
+
): Promise<ReturnType<typeof ensureAllowance>> {
|
|
92
|
+
return ensureAllowance({ web3Lib: this._web3Lib, ...args });
|
|
20
93
|
}
|
|
21
94
|
|
|
22
95
|
public async erc20GetAllowance(
|
|
@@ -43,12 +116,6 @@ export class ERC20Mixin extends BaseCoreSDK {
|
|
|
43
116
|
return getName({ web3Lib: this._web3Lib, ...args });
|
|
44
117
|
}
|
|
45
118
|
|
|
46
|
-
public async erc20EnsureAllowance(
|
|
47
|
-
args: Omit<Parameters<typeof ensureAllowance>[0], "web3Lib">
|
|
48
|
-
): Promise<ReturnType<typeof ensureAllowance>> {
|
|
49
|
-
return ensureAllowance({ web3Lib: this._web3Lib, ...args });
|
|
50
|
-
}
|
|
51
|
-
|
|
52
119
|
public async erc20BalanceOf(
|
|
53
120
|
args: Omit<Parameters<typeof balanceOf>[0], "web3Lib">
|
|
54
121
|
): Promise<ReturnType<typeof balanceOf>> {
|