@bosonprotocol/core-sdk 1.44.0-alpha.0 → 1.44.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +77 -1
- package/dist/cjs/disputes/handler.d.ts.map +1 -1
- package/dist/cjs/disputes/handler.js +90 -20
- package/dist/cjs/disputes/handler.js.map +1 -1
- package/dist/cjs/disputes/mixin.d.ts +29 -11
- package/dist/cjs/disputes/mixin.d.ts.map +1 -1
- package/dist/cjs/disputes/mixin.js +97 -88
- 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/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 +4 -2
- package/dist/cjs/meta-tx/handler.js.map +1 -1
- package/dist/cjs/meta-tx/mixin.d.ts +2 -2
- package/dist/cjs/meta-tx/mixin.d.ts.map +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 +2 -1
- 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/offers/handler.d.ts +79 -0
- package/dist/cjs/offers/handler.d.ts.map +1 -1
- package/dist/cjs/offers/handler.js +81 -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 +101 -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/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 +77 -1
- package/dist/esm/disputes/handler.d.ts.map +1 -1
- package/dist/esm/disputes/handler.js +90 -20
- package/dist/esm/disputes/handler.js.map +1 -1
- package/dist/esm/disputes/mixin.d.ts +29 -11
- package/dist/esm/disputes/mixin.d.ts.map +1 -1
- package/dist/esm/disputes/mixin.js +155 -90
- 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/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 +4 -2
- package/dist/esm/meta-tx/handler.js.map +1 -1
- package/dist/esm/meta-tx/mixin.d.ts +2 -2
- package/dist/esm/meta-tx/mixin.d.ts.map +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 +2 -1
- 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/offers/handler.d.ts +79 -0
- package/dist/esm/offers/handler.d.ts.map +1 -1
- package/dist/esm/offers/handler.js +82 -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 +161 -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/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/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 +257 -31
- package/src/disputes/mixin.ts +273 -42
- 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/marketplaces/mixin.ts +2 -1
- package/src/meta-tx/handler.ts +4 -2
- package/src/meta-tx/mixin.ts +3 -2
- package/src/metadata/mixin.ts +2 -1
- package/src/mixins/base-core-sdk.ts +5 -5
- package/src/native-meta-tx/handler.ts +2 -1
- package/src/native-meta-tx/mixin.ts +8 -2
- package/src/offers/handler.ts +276 -27
- package/src/offers/mixin.ts +398 -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/voucher/handler.ts +192 -22
- package/src/voucher/mixin.ts +244 -66
package/src/exchanges/mixin.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
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
|
+
Log,
|
|
7
|
+
Web3LibAdapter
|
|
8
|
+
} from "@bosonprotocol/common";
|
|
4
9
|
import { BigNumberish, BigNumber } from "@ethersproject/bignumber";
|
|
5
10
|
import { getValueFromLogs } from "../utils/logs";
|
|
6
11
|
import {
|
|
@@ -18,7 +23,7 @@ import {
|
|
|
18
23
|
import { getExchangeById, getExchanges } from "./subgraph";
|
|
19
24
|
import { bosonExchangeHandlerIface } from "./interface";
|
|
20
25
|
|
|
21
|
-
export class ExchangesMixin extends BaseCoreSDK {
|
|
26
|
+
export class ExchangesMixin<T extends Web3LibAdapter> extends BaseCoreSDK<T> {
|
|
22
27
|
/* -------------------------------------------------------------------------- */
|
|
23
28
|
/* Exchange related methods */
|
|
24
29
|
/* -------------------------------------------------------------------------- */
|
|
@@ -58,16 +63,45 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
58
63
|
offerId: BigNumberish,
|
|
59
64
|
overrides: Partial<{
|
|
60
65
|
buyer: string;
|
|
66
|
+
returnTxInfo: true;
|
|
67
|
+
}>
|
|
68
|
+
): Promise<TransactionRequest>;
|
|
69
|
+
public async commitToOffer(
|
|
70
|
+
offerId: BigNumberish,
|
|
71
|
+
overrides?: Partial<{
|
|
72
|
+
buyer: string;
|
|
73
|
+
returnTxInfo?: false | undefined;
|
|
74
|
+
}>
|
|
75
|
+
): Promise<TransactionResponse>;
|
|
76
|
+
public async commitToOffer(
|
|
77
|
+
offerId: BigNumberish,
|
|
78
|
+
overrides: Partial<{
|
|
79
|
+
buyer: string;
|
|
80
|
+
returnTxInfo?: boolean;
|
|
61
81
|
}> = {}
|
|
62
|
-
): Promise<TransactionResponse> {
|
|
82
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
83
|
+
const { returnTxInfo } = overrides;
|
|
63
84
|
const buyer = overrides.buyer || (await this._web3Lib.getSignerAddress());
|
|
64
|
-
|
|
85
|
+
|
|
86
|
+
const commitArgs = {
|
|
65
87
|
buyer,
|
|
66
88
|
offerId,
|
|
67
89
|
web3Lib: this._web3Lib,
|
|
68
90
|
subgraphUrl: this._subgraphUrl,
|
|
69
91
|
contractAddress: this._protocolDiamond
|
|
70
|
-
}
|
|
92
|
+
} as const satisfies Parameters<typeof commitToOffer>[0];
|
|
93
|
+
|
|
94
|
+
if (returnTxInfo === true) {
|
|
95
|
+
return commitToOffer({
|
|
96
|
+
...commitArgs,
|
|
97
|
+
returnTxInfo: true
|
|
98
|
+
});
|
|
99
|
+
} else {
|
|
100
|
+
return commitToOffer({
|
|
101
|
+
...commitArgs,
|
|
102
|
+
returnTxInfo: false
|
|
103
|
+
});
|
|
104
|
+
}
|
|
71
105
|
}
|
|
72
106
|
|
|
73
107
|
/**
|
|
@@ -83,17 +117,48 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
83
117
|
tokenId: BigNumberish,
|
|
84
118
|
overrides: Partial<{
|
|
85
119
|
buyer: string;
|
|
120
|
+
returnTxInfo: true;
|
|
121
|
+
}>
|
|
122
|
+
): Promise<TransactionRequest>;
|
|
123
|
+
public async commitToConditionalOffer(
|
|
124
|
+
offerId: BigNumberish,
|
|
125
|
+
tokenId: BigNumberish,
|
|
126
|
+
overrides?: Partial<{
|
|
127
|
+
buyer: string;
|
|
128
|
+
returnTxInfo?: false | undefined;
|
|
129
|
+
}>
|
|
130
|
+
): Promise<TransactionResponse>;
|
|
131
|
+
public async commitToConditionalOffer(
|
|
132
|
+
offerId: BigNumberish,
|
|
133
|
+
tokenId: BigNumberish,
|
|
134
|
+
overrides: Partial<{
|
|
135
|
+
buyer: string;
|
|
136
|
+
returnTxInfo?: boolean;
|
|
86
137
|
}> = {}
|
|
87
|
-
): Promise<TransactionResponse> {
|
|
138
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
139
|
+
const { returnTxInfo } = overrides;
|
|
88
140
|
const buyer = overrides.buyer || (await this._web3Lib.getSignerAddress());
|
|
89
|
-
|
|
141
|
+
|
|
142
|
+
const commitArgs = {
|
|
90
143
|
buyer,
|
|
91
144
|
offerId,
|
|
92
145
|
tokenId,
|
|
93
146
|
web3Lib: this._web3Lib,
|
|
94
147
|
subgraphUrl: this._subgraphUrl,
|
|
95
148
|
contractAddress: this._protocolDiamond
|
|
96
|
-
}
|
|
149
|
+
} as const satisfies Parameters<typeof commitToConditionalOffer>[0];
|
|
150
|
+
|
|
151
|
+
if (returnTxInfo === true) {
|
|
152
|
+
return commitToConditionalOffer({
|
|
153
|
+
...commitArgs,
|
|
154
|
+
returnTxInfo: true
|
|
155
|
+
});
|
|
156
|
+
} else {
|
|
157
|
+
return commitToConditionalOffer({
|
|
158
|
+
...commitArgs,
|
|
159
|
+
returnTxInfo: false
|
|
160
|
+
});
|
|
161
|
+
}
|
|
97
162
|
}
|
|
98
163
|
|
|
99
164
|
/**
|
|
@@ -117,14 +182,35 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
117
182
|
* @returns Transaction response.
|
|
118
183
|
*/
|
|
119
184
|
public async revokeVoucher(
|
|
120
|
-
exchangeId: BigNumberish
|
|
121
|
-
|
|
122
|
-
|
|
185
|
+
exchangeId: BigNumberish,
|
|
186
|
+
returnTxInfo: true
|
|
187
|
+
): Promise<TransactionRequest>;
|
|
188
|
+
public async revokeVoucher(
|
|
189
|
+
exchangeId: BigNumberish,
|
|
190
|
+
returnTxInfo?: false | undefined
|
|
191
|
+
): Promise<TransactionResponse>;
|
|
192
|
+
public async revokeVoucher(
|
|
193
|
+
exchangeId: BigNumberish,
|
|
194
|
+
returnTxInfo?: boolean
|
|
195
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
196
|
+
const revokeArgs = {
|
|
123
197
|
web3Lib: this._web3Lib,
|
|
124
198
|
contractAddress: this._protocolDiamond,
|
|
125
199
|
exchangeId,
|
|
126
200
|
subgraphUrl: this._subgraphUrl
|
|
127
|
-
}
|
|
201
|
+
} as const satisfies Parameters<typeof revokeVoucher>[0];
|
|
202
|
+
|
|
203
|
+
if (returnTxInfo === true) {
|
|
204
|
+
return revokeVoucher({
|
|
205
|
+
...revokeArgs,
|
|
206
|
+
returnTxInfo: true
|
|
207
|
+
});
|
|
208
|
+
} else {
|
|
209
|
+
return revokeVoucher({
|
|
210
|
+
...revokeArgs,
|
|
211
|
+
returnTxInfo: false
|
|
212
|
+
});
|
|
213
|
+
}
|
|
128
214
|
}
|
|
129
215
|
|
|
130
216
|
/**
|
|
@@ -134,14 +220,35 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
134
220
|
* @returns Transaction response.
|
|
135
221
|
*/
|
|
136
222
|
public async cancelVoucher(
|
|
137
|
-
exchangeId: BigNumberish
|
|
138
|
-
|
|
139
|
-
|
|
223
|
+
exchangeId: BigNumberish,
|
|
224
|
+
returnTxInfo: true
|
|
225
|
+
): Promise<TransactionRequest>;
|
|
226
|
+
public async cancelVoucher(
|
|
227
|
+
exchangeId: BigNumberish,
|
|
228
|
+
returnTxInfo?: false | undefined
|
|
229
|
+
): Promise<TransactionResponse>;
|
|
230
|
+
public async cancelVoucher(
|
|
231
|
+
exchangeId: BigNumberish,
|
|
232
|
+
returnTxInfo?: boolean
|
|
233
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
234
|
+
const cancelArgs = {
|
|
140
235
|
web3Lib: this._web3Lib,
|
|
141
236
|
contractAddress: this._protocolDiamond,
|
|
142
237
|
exchangeId,
|
|
143
238
|
subgraphUrl: this._subgraphUrl
|
|
144
|
-
}
|
|
239
|
+
} as const satisfies Parameters<typeof cancelVoucher>[0];
|
|
240
|
+
|
|
241
|
+
if (returnTxInfo === true) {
|
|
242
|
+
return cancelVoucher({
|
|
243
|
+
...cancelArgs,
|
|
244
|
+
returnTxInfo: true
|
|
245
|
+
});
|
|
246
|
+
} else {
|
|
247
|
+
return cancelVoucher({
|
|
248
|
+
...cancelArgs,
|
|
249
|
+
returnTxInfo: false
|
|
250
|
+
});
|
|
251
|
+
}
|
|
145
252
|
}
|
|
146
253
|
|
|
147
254
|
/**
|
|
@@ -151,14 +258,35 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
151
258
|
* @returns Transaction response.
|
|
152
259
|
*/
|
|
153
260
|
public async redeemVoucher(
|
|
154
|
-
exchangeId: BigNumberish
|
|
155
|
-
|
|
156
|
-
|
|
261
|
+
exchangeId: BigNumberish,
|
|
262
|
+
returnTxInfo: true
|
|
263
|
+
): Promise<TransactionRequest>;
|
|
264
|
+
public async redeemVoucher(
|
|
265
|
+
exchangeId: BigNumberish,
|
|
266
|
+
returnTxInfo?: false | undefined
|
|
267
|
+
): Promise<TransactionResponse>;
|
|
268
|
+
public async redeemVoucher(
|
|
269
|
+
exchangeId: BigNumberish,
|
|
270
|
+
returnTxInfo?: boolean
|
|
271
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
272
|
+
const redeemArgs = {
|
|
157
273
|
web3Lib: this._web3Lib,
|
|
158
274
|
contractAddress: this._protocolDiamond,
|
|
159
275
|
exchangeId,
|
|
160
276
|
subgraphUrl: this._subgraphUrl
|
|
161
|
-
}
|
|
277
|
+
} as const satisfies Parameters<typeof redeemVoucher>[0];
|
|
278
|
+
|
|
279
|
+
if (returnTxInfo === true) {
|
|
280
|
+
return redeemVoucher({
|
|
281
|
+
...redeemArgs,
|
|
282
|
+
returnTxInfo: true
|
|
283
|
+
});
|
|
284
|
+
} else {
|
|
285
|
+
return redeemVoucher({
|
|
286
|
+
...redeemArgs,
|
|
287
|
+
returnTxInfo: false
|
|
288
|
+
});
|
|
289
|
+
}
|
|
162
290
|
}
|
|
163
291
|
|
|
164
292
|
/**
|
|
@@ -168,14 +296,35 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
168
296
|
* @returns Transaction response.
|
|
169
297
|
*/
|
|
170
298
|
public async completeExchange(
|
|
171
|
-
exchangeId: BigNumberish
|
|
172
|
-
|
|
173
|
-
|
|
299
|
+
exchangeId: BigNumberish,
|
|
300
|
+
returnTxInfo: true
|
|
301
|
+
): Promise<TransactionRequest>;
|
|
302
|
+
public async completeExchange(
|
|
303
|
+
exchangeId: BigNumberish,
|
|
304
|
+
returnTxInfo?: false | undefined
|
|
305
|
+
): Promise<TransactionResponse>;
|
|
306
|
+
public async completeExchange(
|
|
307
|
+
exchangeId: BigNumberish,
|
|
308
|
+
returnTxInfo?: boolean
|
|
309
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
310
|
+
const completeArgs = {
|
|
174
311
|
web3Lib: this._web3Lib,
|
|
175
312
|
contractAddress: this._protocolDiamond,
|
|
176
313
|
exchangeId,
|
|
177
314
|
subgraphUrl: this._subgraphUrl
|
|
178
|
-
}
|
|
315
|
+
} as const satisfies Parameters<typeof completeExchange>[0];
|
|
316
|
+
|
|
317
|
+
if (returnTxInfo === true) {
|
|
318
|
+
return completeExchange({
|
|
319
|
+
...completeArgs,
|
|
320
|
+
returnTxInfo: true
|
|
321
|
+
});
|
|
322
|
+
} else {
|
|
323
|
+
return completeExchange({
|
|
324
|
+
...completeArgs,
|
|
325
|
+
returnTxInfo: false
|
|
326
|
+
});
|
|
327
|
+
}
|
|
179
328
|
}
|
|
180
329
|
|
|
181
330
|
/**
|
|
@@ -185,14 +334,35 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
185
334
|
* @returns Transaction response.
|
|
186
335
|
*/
|
|
187
336
|
public async completeExchangeBatch(
|
|
188
|
-
exchangeIds: BigNumberish[]
|
|
189
|
-
|
|
190
|
-
|
|
337
|
+
exchangeIds: BigNumberish[],
|
|
338
|
+
returnTxInfo: true
|
|
339
|
+
): Promise<TransactionRequest>;
|
|
340
|
+
public async completeExchangeBatch(
|
|
341
|
+
exchangeIds: BigNumberish[],
|
|
342
|
+
returnTxInfo?: false | undefined
|
|
343
|
+
): Promise<TransactionResponse>;
|
|
344
|
+
public async completeExchangeBatch(
|
|
345
|
+
exchangeIds: BigNumberish[],
|
|
346
|
+
returnTxInfo?: boolean
|
|
347
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
348
|
+
const batchArgs = {
|
|
191
349
|
web3Lib: this._web3Lib,
|
|
192
350
|
contractAddress: this._protocolDiamond,
|
|
193
351
|
exchangeIds,
|
|
194
352
|
subgraphUrl: this._subgraphUrl
|
|
195
|
-
}
|
|
353
|
+
} as const satisfies Parameters<typeof completeExchangeBatch>[0];
|
|
354
|
+
|
|
355
|
+
if (returnTxInfo === true) {
|
|
356
|
+
return completeExchangeBatch({
|
|
357
|
+
...batchArgs,
|
|
358
|
+
returnTxInfo: true
|
|
359
|
+
});
|
|
360
|
+
} else {
|
|
361
|
+
return completeExchangeBatch({
|
|
362
|
+
...batchArgs,
|
|
363
|
+
returnTxInfo: false
|
|
364
|
+
});
|
|
365
|
+
}
|
|
196
366
|
}
|
|
197
367
|
|
|
198
368
|
/**
|
|
@@ -201,14 +371,35 @@ export class ExchangesMixin extends BaseCoreSDK {
|
|
|
201
371
|
* @returns Transaction response.
|
|
202
372
|
*/
|
|
203
373
|
public async expireVoucher(
|
|
204
|
-
exchangeId: BigNumberish
|
|
205
|
-
|
|
206
|
-
|
|
374
|
+
exchangeId: BigNumberish,
|
|
375
|
+
returnTxInfo: true
|
|
376
|
+
): Promise<TransactionRequest>;
|
|
377
|
+
public async expireVoucher(
|
|
378
|
+
exchangeId: BigNumberish,
|
|
379
|
+
returnTxInfo?: false | undefined
|
|
380
|
+
): Promise<TransactionResponse>;
|
|
381
|
+
public async expireVoucher(
|
|
382
|
+
exchangeId: BigNumberish,
|
|
383
|
+
returnTxInfo?: boolean
|
|
384
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
385
|
+
const expireArgs = {
|
|
207
386
|
web3Lib: this._web3Lib,
|
|
208
387
|
contractAddress: this._protocolDiamond,
|
|
209
388
|
exchangeId,
|
|
210
389
|
subgraphUrl: this._subgraphUrl
|
|
211
|
-
}
|
|
390
|
+
} as const satisfies Parameters<typeof expireVoucher>[0];
|
|
391
|
+
|
|
392
|
+
if (returnTxInfo === true) {
|
|
393
|
+
return expireVoucher({
|
|
394
|
+
...expireArgs,
|
|
395
|
+
returnTxInfo: true
|
|
396
|
+
});
|
|
397
|
+
} else {
|
|
398
|
+
return expireVoucher({
|
|
399
|
+
...expireArgs,
|
|
400
|
+
returnTxInfo: false
|
|
401
|
+
});
|
|
402
|
+
}
|
|
212
403
|
}
|
|
213
404
|
|
|
214
405
|
public getExchangeTokenId(
|
package/src/funds/handler.ts
CHANGED
|
@@ -1,17 +1,43 @@
|
|
|
1
1
|
import { BigNumberish } from "@ethersproject/bignumber";
|
|
2
2
|
import { isAddress } from "@ethersproject/address";
|
|
3
3
|
import { AddressZero } from "@ethersproject/constants";
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Web3LibAdapter,
|
|
6
|
+
TransactionRequest,
|
|
7
|
+
TransactionResponse
|
|
8
|
+
} from "@bosonprotocol/common";
|
|
5
9
|
import { encodeDepositFunds, encodeWithdrawFunds } from "./interface";
|
|
6
10
|
import { getFunds } from "./subgraph";
|
|
7
11
|
|
|
12
|
+
// Overload: returnTxInfo is true -> returns TransactionRequest
|
|
8
13
|
export async function depositFunds(args: {
|
|
9
14
|
sellerId: BigNumberish;
|
|
10
15
|
fundsTokenAddress?: string;
|
|
11
16
|
fundsAmount: BigNumberish;
|
|
12
17
|
contractAddress: string;
|
|
13
18
|
web3Lib: Web3LibAdapter;
|
|
14
|
-
|
|
19
|
+
returnTxInfo: true;
|
|
20
|
+
}): Promise<TransactionRequest>;
|
|
21
|
+
|
|
22
|
+
// Overload: returnTxInfo is false or undefined -> returns TransactionResponse
|
|
23
|
+
export async function depositFunds(args: {
|
|
24
|
+
sellerId: BigNumberish;
|
|
25
|
+
fundsTokenAddress?: string;
|
|
26
|
+
fundsAmount: BigNumberish;
|
|
27
|
+
contractAddress: string;
|
|
28
|
+
web3Lib: Web3LibAdapter;
|
|
29
|
+
returnTxInfo?: false | undefined;
|
|
30
|
+
}): Promise<TransactionResponse>;
|
|
31
|
+
|
|
32
|
+
// Implementation
|
|
33
|
+
export async function depositFunds(args: {
|
|
34
|
+
sellerId: BigNumberish;
|
|
35
|
+
fundsTokenAddress?: string;
|
|
36
|
+
fundsAmount: BigNumberish;
|
|
37
|
+
contractAddress: string;
|
|
38
|
+
web3Lib: Web3LibAdapter;
|
|
39
|
+
returnTxInfo?: boolean;
|
|
40
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
15
41
|
const { fundsTokenAddress = AddressZero } = args;
|
|
16
42
|
|
|
17
43
|
if (!isAddress(fundsTokenAddress)) {
|
|
@@ -20,40 +46,94 @@ export async function depositFunds(args: {
|
|
|
20
46
|
|
|
21
47
|
const isNativeCoin = fundsTokenAddress === AddressZero;
|
|
22
48
|
|
|
23
|
-
|
|
49
|
+
const transactionRequest: TransactionRequest = {
|
|
24
50
|
to: args.contractAddress,
|
|
25
51
|
data: encodeDepositFunds(
|
|
26
52
|
args.sellerId,
|
|
27
|
-
|
|
53
|
+
fundsTokenAddress,
|
|
28
54
|
args.fundsAmount
|
|
29
55
|
),
|
|
30
56
|
value: isNativeCoin ? args.fundsAmount : "0"
|
|
31
|
-
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
if (args.returnTxInfo) {
|
|
60
|
+
return transactionRequest;
|
|
61
|
+
} else {
|
|
62
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
63
|
+
}
|
|
32
64
|
}
|
|
33
65
|
|
|
66
|
+
// Overload: returnTxInfo is true -> returns TransactionRequest
|
|
67
|
+
export async function withdrawFunds(args: {
|
|
68
|
+
entityId: BigNumberish;
|
|
69
|
+
tokensToWithdraw: Array<string>;
|
|
70
|
+
amountsToWithdraw: Array<BigNumberish>;
|
|
71
|
+
contractAddress: string;
|
|
72
|
+
web3Lib: Web3LibAdapter;
|
|
73
|
+
returnTxInfo: true;
|
|
74
|
+
}): Promise<TransactionRequest>;
|
|
75
|
+
|
|
76
|
+
// Overload: returnTxInfo is false or undefined -> returns TransactionResponse
|
|
34
77
|
export async function withdrawFunds(args: {
|
|
35
78
|
entityId: BigNumberish;
|
|
36
79
|
tokensToWithdraw: Array<string>;
|
|
37
80
|
amountsToWithdraw: Array<BigNumberish>;
|
|
38
81
|
contractAddress: string;
|
|
39
82
|
web3Lib: Web3LibAdapter;
|
|
40
|
-
|
|
41
|
-
|
|
83
|
+
returnTxInfo?: false | undefined;
|
|
84
|
+
}): Promise<TransactionResponse>;
|
|
85
|
+
|
|
86
|
+
// Implementation
|
|
87
|
+
export async function withdrawFunds(args: {
|
|
88
|
+
entityId: BigNumberish;
|
|
89
|
+
tokensToWithdraw: Array<string>;
|
|
90
|
+
amountsToWithdraw: Array<BigNumberish>;
|
|
91
|
+
contractAddress: string;
|
|
92
|
+
web3Lib: Web3LibAdapter;
|
|
93
|
+
returnTxInfo?: boolean;
|
|
94
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
95
|
+
const transactionRequest: TransactionRequest = {
|
|
42
96
|
to: args.contractAddress,
|
|
43
97
|
data: encodeWithdrawFunds(
|
|
44
98
|
args.entityId,
|
|
45
99
|
args.tokensToWithdraw,
|
|
46
100
|
args.amountsToWithdraw
|
|
47
101
|
)
|
|
48
|
-
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
if (args.returnTxInfo) {
|
|
105
|
+
return transactionRequest;
|
|
106
|
+
} else {
|
|
107
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
108
|
+
}
|
|
49
109
|
}
|
|
50
110
|
|
|
111
|
+
// Overload: returnTxInfo is true -> returns TransactionRequest
|
|
112
|
+
export async function withdrawAllAvailableFunds(args: {
|
|
113
|
+
entityId: BigNumberish;
|
|
114
|
+
subgraphUrl: string;
|
|
115
|
+
contractAddress: string;
|
|
116
|
+
web3Lib: Web3LibAdapter;
|
|
117
|
+
returnTxInfo: true;
|
|
118
|
+
}): Promise<TransactionRequest>;
|
|
119
|
+
|
|
120
|
+
// Overload: returnTxInfo is false or undefined -> returns TransactionResponse
|
|
121
|
+
export async function withdrawAllAvailableFunds(args: {
|
|
122
|
+
entityId: BigNumberish;
|
|
123
|
+
subgraphUrl: string;
|
|
124
|
+
contractAddress: string;
|
|
125
|
+
web3Lib: Web3LibAdapter;
|
|
126
|
+
returnTxInfo?: false | undefined;
|
|
127
|
+
}): Promise<TransactionResponse>;
|
|
128
|
+
|
|
129
|
+
// Implementation
|
|
51
130
|
export async function withdrawAllAvailableFunds(args: {
|
|
52
131
|
entityId: BigNumberish;
|
|
53
132
|
subgraphUrl: string;
|
|
54
133
|
contractAddress: string;
|
|
55
134
|
web3Lib: Web3LibAdapter;
|
|
56
|
-
|
|
135
|
+
returnTxInfo?: boolean;
|
|
136
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
57
137
|
const funds = await getFunds(args.subgraphUrl, {
|
|
58
138
|
fundsFilter: {
|
|
59
139
|
accountId: args.entityId.toString()
|
|
@@ -69,17 +149,23 @@ export async function withdrawAllAvailableFunds(args: {
|
|
|
69
149
|
return acc;
|
|
70
150
|
},
|
|
71
151
|
{
|
|
72
|
-
tokensToWithdraw: [],
|
|
73
|
-
amountsToWithdraw: []
|
|
152
|
+
tokensToWithdraw: [] as string[],
|
|
153
|
+
amountsToWithdraw: [] as BigNumberish[]
|
|
74
154
|
}
|
|
75
155
|
);
|
|
76
156
|
|
|
77
|
-
|
|
157
|
+
const transactionRequest: TransactionRequest = {
|
|
78
158
|
to: args.contractAddress,
|
|
79
159
|
data: encodeWithdrawFunds(
|
|
80
160
|
args.entityId,
|
|
81
161
|
tokensToWithdraw,
|
|
82
162
|
amountsToWithdraw
|
|
83
163
|
)
|
|
84
|
-
}
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
if (args.returnTxInfo) {
|
|
167
|
+
return transactionRequest;
|
|
168
|
+
} else {
|
|
169
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
170
|
+
}
|
|
85
171
|
}
|