@bosonprotocol/core-sdk 1.43.3 → 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 +81 -1
- package/dist/cjs/offers/handler.d.ts.map +1 -1
- package/dist/cjs/offers/handler.js +81 -20
- package/dist/cjs/offers/handler.js.map +1 -1
- package/dist/cjs/offers/mixin.d.ts +54 -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/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 +81 -1
- package/dist/esm/offers/handler.d.ts.map +1 -1
- package/dist/esm/offers/handler.js +83 -18
- package/dist/esm/offers/handler.js.map +1 -1
- package/dist/esm/offers/mixin.d.ts +54 -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/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 +280 -28
- package/src/offers/mixin.ts +401 -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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Web3LibAdapter,
|
|
3
|
+
TransactionRequest,
|
|
3
4
|
TransactionResponse,
|
|
4
5
|
MetadataStorage,
|
|
5
6
|
utils,
|
|
@@ -24,6 +25,7 @@ import { findCollectionSalt } from "../accounts/handler";
|
|
|
24
25
|
import { PremintParametersStruct } from "@bosonprotocol/common/src";
|
|
25
26
|
import { storeMetadataItems } from "../metadata/storeMetadataItems";
|
|
26
27
|
|
|
28
|
+
// createOfferAndSeller overloads
|
|
27
29
|
export async function createOfferAndSeller(args: {
|
|
28
30
|
offerToCreate: CreateOfferArgs;
|
|
29
31
|
sellerToCreate: CreateSellerArgs;
|
|
@@ -31,7 +33,28 @@ export async function createOfferAndSeller(args: {
|
|
|
31
33
|
web3Lib: Web3LibAdapter;
|
|
32
34
|
metadataStorage?: MetadataStorage;
|
|
33
35
|
theGraphStorage?: MetadataStorage;
|
|
34
|
-
|
|
36
|
+
returnTxInfo: true;
|
|
37
|
+
}): Promise<TransactionRequest>;
|
|
38
|
+
|
|
39
|
+
export async function createOfferAndSeller(args: {
|
|
40
|
+
offerToCreate: CreateOfferArgs;
|
|
41
|
+
sellerToCreate: CreateSellerArgs;
|
|
42
|
+
contractAddress: string;
|
|
43
|
+
web3Lib: Web3LibAdapter;
|
|
44
|
+
metadataStorage?: MetadataStorage;
|
|
45
|
+
theGraphStorage?: MetadataStorage;
|
|
46
|
+
returnTxInfo?: false | undefined;
|
|
47
|
+
}): Promise<TransactionResponse>;
|
|
48
|
+
|
|
49
|
+
export async function createOfferAndSeller(args: {
|
|
50
|
+
offerToCreate: CreateOfferArgs;
|
|
51
|
+
sellerToCreate: CreateSellerArgs;
|
|
52
|
+
contractAddress: string;
|
|
53
|
+
web3Lib: Web3LibAdapter;
|
|
54
|
+
metadataStorage?: MetadataStorage;
|
|
55
|
+
theGraphStorage?: MetadataStorage;
|
|
56
|
+
returnTxInfo?: boolean;
|
|
57
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
35
58
|
utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
|
|
36
59
|
abortEarly: false
|
|
37
60
|
});
|
|
@@ -60,16 +83,23 @@ export async function createOfferAndSeller(args: {
|
|
|
60
83
|
});
|
|
61
84
|
|
|
62
85
|
const collectionSalt = await findCollectionSalt(args);
|
|
63
|
-
|
|
86
|
+
const transactionRequest = {
|
|
64
87
|
to: args.contractAddress,
|
|
65
88
|
data: encodeCreateSellerAndOffer(
|
|
66
89
|
args.sellerToCreate,
|
|
67
90
|
collectionSalt,
|
|
68
91
|
args.offerToCreate
|
|
69
92
|
)
|
|
70
|
-
}
|
|
93
|
+
} satisfies TransactionRequest;
|
|
94
|
+
|
|
95
|
+
if (args.returnTxInfo) {
|
|
96
|
+
return transactionRequest;
|
|
97
|
+
} else {
|
|
98
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
99
|
+
}
|
|
71
100
|
}
|
|
72
101
|
|
|
102
|
+
// createOfferWithCondition overloads
|
|
73
103
|
export async function createOfferWithCondition(args: {
|
|
74
104
|
offerToCreate: CreateOfferArgs;
|
|
75
105
|
contractAddress: string;
|
|
@@ -77,7 +107,28 @@ export async function createOfferWithCondition(args: {
|
|
|
77
107
|
metadataStorage?: MetadataStorage;
|
|
78
108
|
theGraphStorage?: MetadataStorage;
|
|
79
109
|
condition: ConditionStruct;
|
|
80
|
-
|
|
110
|
+
returnTxInfo: true;
|
|
111
|
+
}): Promise<TransactionRequest>;
|
|
112
|
+
|
|
113
|
+
export async function createOfferWithCondition(args: {
|
|
114
|
+
offerToCreate: CreateOfferArgs;
|
|
115
|
+
contractAddress: string;
|
|
116
|
+
web3Lib: Web3LibAdapter;
|
|
117
|
+
metadataStorage?: MetadataStorage;
|
|
118
|
+
theGraphStorage?: MetadataStorage;
|
|
119
|
+
condition: ConditionStruct;
|
|
120
|
+
returnTxInfo?: false | undefined;
|
|
121
|
+
}): Promise<TransactionResponse>;
|
|
122
|
+
|
|
123
|
+
export async function createOfferWithCondition(args: {
|
|
124
|
+
offerToCreate: CreateOfferArgs;
|
|
125
|
+
contractAddress: string;
|
|
126
|
+
web3Lib: Web3LibAdapter;
|
|
127
|
+
metadataStorage?: MetadataStorage;
|
|
128
|
+
theGraphStorage?: MetadataStorage;
|
|
129
|
+
condition: ConditionStruct;
|
|
130
|
+
returnTxInfo?: boolean;
|
|
131
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
81
132
|
utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
|
|
82
133
|
abortEarly: false
|
|
83
134
|
});
|
|
@@ -93,12 +144,19 @@ export async function createOfferWithCondition(args: {
|
|
|
93
144
|
createOffersArgs: [args.offerToCreate]
|
|
94
145
|
});
|
|
95
146
|
|
|
96
|
-
|
|
147
|
+
const transactionRequest = {
|
|
97
148
|
to: args.contractAddress,
|
|
98
149
|
data: encodeCreateOfferWithCondition(args.offerToCreate, args.condition)
|
|
99
|
-
}
|
|
150
|
+
} satisfies TransactionRequest;
|
|
151
|
+
|
|
152
|
+
if (args.returnTxInfo) {
|
|
153
|
+
return transactionRequest;
|
|
154
|
+
} else {
|
|
155
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
156
|
+
}
|
|
100
157
|
}
|
|
101
158
|
|
|
159
|
+
// createSellerAndOfferWithCondition overloads
|
|
102
160
|
export async function createSellerAndOfferWithCondition(args: {
|
|
103
161
|
sellerToCreate: CreateSellerArgs;
|
|
104
162
|
offerToCreate: CreateOfferArgs;
|
|
@@ -107,7 +165,30 @@ export async function createSellerAndOfferWithCondition(args: {
|
|
|
107
165
|
metadataStorage?: MetadataStorage;
|
|
108
166
|
theGraphStorage?: MetadataStorage;
|
|
109
167
|
condition: ConditionStruct;
|
|
110
|
-
|
|
168
|
+
returnTxInfo: true;
|
|
169
|
+
}): Promise<TransactionRequest>;
|
|
170
|
+
|
|
171
|
+
export async function createSellerAndOfferWithCondition(args: {
|
|
172
|
+
sellerToCreate: CreateSellerArgs;
|
|
173
|
+
offerToCreate: CreateOfferArgs;
|
|
174
|
+
contractAddress: string;
|
|
175
|
+
web3Lib: Web3LibAdapter;
|
|
176
|
+
metadataStorage?: MetadataStorage;
|
|
177
|
+
theGraphStorage?: MetadataStorage;
|
|
178
|
+
condition: ConditionStruct;
|
|
179
|
+
returnTxInfo?: false | undefined;
|
|
180
|
+
}): Promise<TransactionResponse>;
|
|
181
|
+
|
|
182
|
+
export async function createSellerAndOfferWithCondition(args: {
|
|
183
|
+
sellerToCreate: CreateSellerArgs;
|
|
184
|
+
offerToCreate: CreateOfferArgs;
|
|
185
|
+
contractAddress: string;
|
|
186
|
+
web3Lib: Web3LibAdapter;
|
|
187
|
+
metadataStorage?: MetadataStorage;
|
|
188
|
+
theGraphStorage?: MetadataStorage;
|
|
189
|
+
condition: ConditionStruct;
|
|
190
|
+
returnTxInfo?: boolean;
|
|
191
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
111
192
|
utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
|
|
112
193
|
abortEarly: false
|
|
113
194
|
});
|
|
@@ -132,7 +213,7 @@ export async function createSellerAndOfferWithCondition(args: {
|
|
|
132
213
|
});
|
|
133
214
|
|
|
134
215
|
const collectionSalt = await findCollectionSalt(args);
|
|
135
|
-
|
|
216
|
+
const transactionRequest = {
|
|
136
217
|
to: args.contractAddress,
|
|
137
218
|
data: encodeCreateSellerAndOfferWithCondition(
|
|
138
219
|
args.sellerToCreate,
|
|
@@ -140,9 +221,27 @@ export async function createSellerAndOfferWithCondition(args: {
|
|
|
140
221
|
args.offerToCreate,
|
|
141
222
|
args.condition
|
|
142
223
|
)
|
|
143
|
-
}
|
|
224
|
+
} satisfies TransactionRequest;
|
|
225
|
+
|
|
226
|
+
if (args.returnTxInfo) {
|
|
227
|
+
return transactionRequest;
|
|
228
|
+
} else {
|
|
229
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
230
|
+
}
|
|
144
231
|
}
|
|
145
232
|
|
|
233
|
+
// createPremintedOfferAddToGroup overloads
|
|
234
|
+
export async function createPremintedOfferAddToGroup(args: {
|
|
235
|
+
offerToCreate: CreateOfferArgs;
|
|
236
|
+
premintParameters: PremintParametersStruct;
|
|
237
|
+
groupId: BigNumberish;
|
|
238
|
+
contractAddress: string;
|
|
239
|
+
web3Lib: Web3LibAdapter;
|
|
240
|
+
metadataStorage?: MetadataStorage;
|
|
241
|
+
theGraphStorage?: MetadataStorage;
|
|
242
|
+
returnTxInfo: true;
|
|
243
|
+
}): Promise<TransactionRequest>;
|
|
244
|
+
|
|
146
245
|
export async function createPremintedOfferAddToGroup(args: {
|
|
147
246
|
offerToCreate: CreateOfferArgs;
|
|
148
247
|
premintParameters: PremintParametersStruct;
|
|
@@ -151,7 +250,19 @@ export async function createPremintedOfferAddToGroup(args: {
|
|
|
151
250
|
web3Lib: Web3LibAdapter;
|
|
152
251
|
metadataStorage?: MetadataStorage;
|
|
153
252
|
theGraphStorage?: MetadataStorage;
|
|
154
|
-
|
|
253
|
+
returnTxInfo?: false | undefined;
|
|
254
|
+
}): Promise<TransactionResponse>;
|
|
255
|
+
|
|
256
|
+
export async function createPremintedOfferAddToGroup(args: {
|
|
257
|
+
offerToCreate: CreateOfferArgs;
|
|
258
|
+
premintParameters: PremintParametersStruct;
|
|
259
|
+
groupId: BigNumberish;
|
|
260
|
+
contractAddress: string;
|
|
261
|
+
web3Lib: Web3LibAdapter;
|
|
262
|
+
metadataStorage?: MetadataStorage;
|
|
263
|
+
theGraphStorage?: MetadataStorage;
|
|
264
|
+
returnTxInfo?: boolean;
|
|
265
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
155
266
|
utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
|
|
156
267
|
abortEarly: false
|
|
157
268
|
});
|
|
@@ -167,16 +278,45 @@ export async function createPremintedOfferAddToGroup(args: {
|
|
|
167
278
|
createOffersArgs: [args.offerToCreate]
|
|
168
279
|
});
|
|
169
280
|
|
|
170
|
-
|
|
281
|
+
const transactionRequest = {
|
|
171
282
|
to: args.contractAddress,
|
|
172
283
|
data: encodeCreatePremintedOfferAddToGroup(
|
|
173
284
|
args.offerToCreate,
|
|
174
285
|
args.premintParameters,
|
|
175
286
|
args.groupId
|
|
176
287
|
)
|
|
177
|
-
}
|
|
288
|
+
} satisfies TransactionRequest;
|
|
289
|
+
|
|
290
|
+
if (args.returnTxInfo) {
|
|
291
|
+
return transactionRequest;
|
|
292
|
+
} else {
|
|
293
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
294
|
+
}
|
|
178
295
|
}
|
|
179
296
|
|
|
297
|
+
// createPremintedOfferWithCondition overloads
|
|
298
|
+
export async function createPremintedOfferWithCondition(args: {
|
|
299
|
+
offerToCreate: CreateOfferArgs;
|
|
300
|
+
premintParameters: PremintParametersStruct;
|
|
301
|
+
contractAddress: string;
|
|
302
|
+
web3Lib: Web3LibAdapter;
|
|
303
|
+
metadataStorage?: MetadataStorage;
|
|
304
|
+
theGraphStorage?: MetadataStorage;
|
|
305
|
+
condition: ConditionStruct;
|
|
306
|
+
returnTxInfo: true;
|
|
307
|
+
}): Promise<TransactionRequest>;
|
|
308
|
+
|
|
309
|
+
export async function createPremintedOfferWithCondition(args: {
|
|
310
|
+
offerToCreate: CreateOfferArgs;
|
|
311
|
+
premintParameters: PremintParametersStruct;
|
|
312
|
+
contractAddress: string;
|
|
313
|
+
web3Lib: Web3LibAdapter;
|
|
314
|
+
metadataStorage?: MetadataStorage;
|
|
315
|
+
theGraphStorage?: MetadataStorage;
|
|
316
|
+
condition: ConditionStruct;
|
|
317
|
+
returnTxInfo?: false | undefined;
|
|
318
|
+
}): Promise<TransactionResponse>;
|
|
319
|
+
|
|
180
320
|
export async function createPremintedOfferWithCondition(args: {
|
|
181
321
|
offerToCreate: CreateOfferArgs;
|
|
182
322
|
premintParameters: PremintParametersStruct;
|
|
@@ -185,7 +325,8 @@ export async function createPremintedOfferWithCondition(args: {
|
|
|
185
325
|
metadataStorage?: MetadataStorage;
|
|
186
326
|
theGraphStorage?: MetadataStorage;
|
|
187
327
|
condition: ConditionStruct;
|
|
188
|
-
|
|
328
|
+
returnTxInfo?: boolean;
|
|
329
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
189
330
|
utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
|
|
190
331
|
abortEarly: false
|
|
191
332
|
});
|
|
@@ -201,16 +342,23 @@ export async function createPremintedOfferWithCondition(args: {
|
|
|
201
342
|
createOffersArgs: [args.offerToCreate]
|
|
202
343
|
});
|
|
203
344
|
|
|
204
|
-
|
|
345
|
+
const transactionRequest = {
|
|
205
346
|
to: args.contractAddress,
|
|
206
347
|
data: encodeCreatePremintedOfferWithCondition(
|
|
207
348
|
args.offerToCreate,
|
|
208
349
|
args.premintParameters,
|
|
209
350
|
args.condition
|
|
210
351
|
)
|
|
211
|
-
}
|
|
352
|
+
} satisfies TransactionRequest;
|
|
353
|
+
|
|
354
|
+
if (args.returnTxInfo) {
|
|
355
|
+
return transactionRequest;
|
|
356
|
+
} else {
|
|
357
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
358
|
+
}
|
|
212
359
|
}
|
|
213
360
|
|
|
361
|
+
// createSellerAndPremintedOffer overloads
|
|
214
362
|
export async function createSellerAndPremintedOffer(args: {
|
|
215
363
|
sellerToCreate: CreateSellerArgs;
|
|
216
364
|
offerToCreate: CreateOfferArgs;
|
|
@@ -219,7 +367,30 @@ export async function createSellerAndPremintedOffer(args: {
|
|
|
219
367
|
web3Lib: Web3LibAdapter;
|
|
220
368
|
metadataStorage?: MetadataStorage;
|
|
221
369
|
theGraphStorage?: MetadataStorage;
|
|
222
|
-
|
|
370
|
+
returnTxInfo: true;
|
|
371
|
+
}): Promise<TransactionRequest>;
|
|
372
|
+
|
|
373
|
+
export async function createSellerAndPremintedOffer(args: {
|
|
374
|
+
sellerToCreate: CreateSellerArgs;
|
|
375
|
+
offerToCreate: CreateOfferArgs;
|
|
376
|
+
premintParameters: PremintParametersStruct;
|
|
377
|
+
contractAddress: string;
|
|
378
|
+
web3Lib: Web3LibAdapter;
|
|
379
|
+
metadataStorage?: MetadataStorage;
|
|
380
|
+
theGraphStorage?: MetadataStorage;
|
|
381
|
+
returnTxInfo?: false | undefined;
|
|
382
|
+
}): Promise<TransactionResponse>;
|
|
383
|
+
|
|
384
|
+
export async function createSellerAndPremintedOffer(args: {
|
|
385
|
+
sellerToCreate: CreateSellerArgs;
|
|
386
|
+
offerToCreate: CreateOfferArgs;
|
|
387
|
+
premintParameters: PremintParametersStruct;
|
|
388
|
+
contractAddress: string;
|
|
389
|
+
web3Lib: Web3LibAdapter;
|
|
390
|
+
metadataStorage?: MetadataStorage;
|
|
391
|
+
theGraphStorage?: MetadataStorage;
|
|
392
|
+
returnTxInfo?: boolean;
|
|
393
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
223
394
|
utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
|
|
224
395
|
abortEarly: false
|
|
225
396
|
});
|
|
@@ -244,7 +415,7 @@ export async function createSellerAndPremintedOffer(args: {
|
|
|
244
415
|
});
|
|
245
416
|
|
|
246
417
|
const collectionSalt = await findCollectionSalt(args);
|
|
247
|
-
|
|
418
|
+
const transactionRequest = {
|
|
248
419
|
to: args.contractAddress,
|
|
249
420
|
data: encodeCreateSellerAndPremintedOffer(
|
|
250
421
|
args.sellerToCreate,
|
|
@@ -252,9 +423,16 @@ export async function createSellerAndPremintedOffer(args: {
|
|
|
252
423
|
args.offerToCreate,
|
|
253
424
|
args.premintParameters
|
|
254
425
|
)
|
|
255
|
-
}
|
|
426
|
+
} satisfies TransactionRequest;
|
|
427
|
+
|
|
428
|
+
if (args.returnTxInfo) {
|
|
429
|
+
return transactionRequest;
|
|
430
|
+
} else {
|
|
431
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
432
|
+
}
|
|
256
433
|
}
|
|
257
434
|
|
|
435
|
+
// createSellerAndPremintedOfferWithCondition overloads
|
|
258
436
|
export async function createSellerAndPremintedOfferWithCondition(args: {
|
|
259
437
|
sellerToCreate: CreateSellerArgs;
|
|
260
438
|
offerToCreate: CreateOfferArgs;
|
|
@@ -264,7 +442,32 @@ export async function createSellerAndPremintedOfferWithCondition(args: {
|
|
|
264
442
|
metadataStorage?: MetadataStorage;
|
|
265
443
|
theGraphStorage?: MetadataStorage;
|
|
266
444
|
condition: ConditionStruct;
|
|
267
|
-
|
|
445
|
+
returnTxInfo: true;
|
|
446
|
+
}): Promise<TransactionRequest>;
|
|
447
|
+
|
|
448
|
+
export async function createSellerAndPremintedOfferWithCondition(args: {
|
|
449
|
+
sellerToCreate: CreateSellerArgs;
|
|
450
|
+
offerToCreate: CreateOfferArgs;
|
|
451
|
+
premintParameters: PremintParametersStruct;
|
|
452
|
+
contractAddress: string;
|
|
453
|
+
web3Lib: Web3LibAdapter;
|
|
454
|
+
metadataStorage?: MetadataStorage;
|
|
455
|
+
theGraphStorage?: MetadataStorage;
|
|
456
|
+
condition: ConditionStruct;
|
|
457
|
+
returnTxInfo?: false | undefined;
|
|
458
|
+
}): Promise<TransactionResponse>;
|
|
459
|
+
|
|
460
|
+
export async function createSellerAndPremintedOfferWithCondition(args: {
|
|
461
|
+
sellerToCreate: CreateSellerArgs;
|
|
462
|
+
offerToCreate: CreateOfferArgs;
|
|
463
|
+
premintParameters: PremintParametersStruct;
|
|
464
|
+
contractAddress: string;
|
|
465
|
+
web3Lib: Web3LibAdapter;
|
|
466
|
+
metadataStorage?: MetadataStorage;
|
|
467
|
+
theGraphStorage?: MetadataStorage;
|
|
468
|
+
condition: ConditionStruct;
|
|
469
|
+
returnTxInfo?: boolean;
|
|
470
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
268
471
|
utils.validation.createOfferArgsSchema.validateSync(args.offerToCreate, {
|
|
269
472
|
abortEarly: false
|
|
270
473
|
});
|
|
@@ -289,7 +492,7 @@ export async function createSellerAndPremintedOfferWithCondition(args: {
|
|
|
289
492
|
});
|
|
290
493
|
|
|
291
494
|
const collectionSalt = await findCollectionSalt(args);
|
|
292
|
-
|
|
495
|
+
const transactionRequest = {
|
|
293
496
|
to: args.contractAddress,
|
|
294
497
|
data: encodeCreateSellerAndPremintedOfferWithCondition(
|
|
295
498
|
args.sellerToCreate,
|
|
@@ -298,18 +501,50 @@ export async function createSellerAndPremintedOfferWithCondition(args: {
|
|
|
298
501
|
args.premintParameters,
|
|
299
502
|
args.condition
|
|
300
503
|
)
|
|
301
|
-
}
|
|
504
|
+
} satisfies TransactionRequest;
|
|
505
|
+
|
|
506
|
+
if (args.returnTxInfo) {
|
|
507
|
+
return transactionRequest;
|
|
508
|
+
} else {
|
|
509
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
510
|
+
}
|
|
302
511
|
}
|
|
303
512
|
|
|
513
|
+
// raiseAndEscalateDispute overloads
|
|
514
|
+
export async function raiseAndEscalateDispute(args: {
|
|
515
|
+
exchangeId: BigNumberish;
|
|
516
|
+
contractAddress: string;
|
|
517
|
+
web3Lib: Web3LibAdapter;
|
|
518
|
+
metadataStorage?: MetadataStorage;
|
|
519
|
+
theGraphStorage?: MetadataStorage;
|
|
520
|
+
returnTxInfo: true;
|
|
521
|
+
}): Promise<TransactionRequest>;
|
|
522
|
+
|
|
304
523
|
export async function raiseAndEscalateDispute(args: {
|
|
305
524
|
exchangeId: BigNumberish;
|
|
306
525
|
contractAddress: string;
|
|
307
526
|
web3Lib: Web3LibAdapter;
|
|
308
527
|
metadataStorage?: MetadataStorage;
|
|
309
528
|
theGraphStorage?: MetadataStorage;
|
|
310
|
-
|
|
311
|
-
|
|
529
|
+
returnTxInfo?: false | undefined;
|
|
530
|
+
}): Promise<TransactionResponse>;
|
|
531
|
+
|
|
532
|
+
export async function raiseAndEscalateDispute(args: {
|
|
533
|
+
exchangeId: BigNumberish;
|
|
534
|
+
contractAddress: string;
|
|
535
|
+
web3Lib: Web3LibAdapter;
|
|
536
|
+
metadataStorage?: MetadataStorage;
|
|
537
|
+
theGraphStorage?: MetadataStorage;
|
|
538
|
+
returnTxInfo?: boolean;
|
|
539
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
540
|
+
const transactionRequest = {
|
|
312
541
|
to: args.contractAddress,
|
|
313
542
|
data: encodeRaiseAndEscalateDispute(args.exchangeId)
|
|
314
|
-
}
|
|
543
|
+
} satisfies TransactionRequest;
|
|
544
|
+
|
|
545
|
+
if (args.returnTxInfo) {
|
|
546
|
+
return transactionRequest;
|
|
547
|
+
} else {
|
|
548
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
549
|
+
}
|
|
315
550
|
}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ConditionStruct,
|
|
3
|
+
TransactionResponse,
|
|
4
|
+
Web3LibAdapter
|
|
5
|
+
} from "@bosonprotocol/common";
|
|
2
6
|
import { BigNumberish } from "@ethersproject/bignumber";
|
|
3
7
|
import { handler } from ".";
|
|
4
8
|
import { offers, accounts } from "..";
|
|
5
9
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
6
10
|
import { PremintParametersStruct } from "@bosonprotocol/common/src";
|
|
7
11
|
|
|
8
|
-
export class OrchestrationMixin
|
|
12
|
+
export class OrchestrationMixin<
|
|
13
|
+
T extends Web3LibAdapter
|
|
14
|
+
> extends BaseCoreSDK<T> {
|
|
9
15
|
/**
|
|
10
16
|
* Creates an offer with a specific conditions
|
|
11
17
|
* @param offerToCreate - Offer arguments.
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Web3LibAdapter,
|
|
3
3
|
PriceDiscoveryStruct,
|
|
4
|
-
TransactionResponse
|
|
4
|
+
TransactionResponse,
|
|
5
|
+
TransactionRequest
|
|
5
6
|
} from "@bosonprotocol/common";
|
|
6
7
|
import { BigNumber, BigNumberish } from "@ethersproject/bignumber";
|
|
7
8
|
import * as exchanges from "../exchanges/handler";
|
|
@@ -9,6 +10,7 @@ import { getOfferById } from "../offers/subgraph";
|
|
|
9
10
|
import { AddressZero } from "@ethersproject/constants";
|
|
10
11
|
import { encodeCommitToPriceDiscoveryOffer } from "./interface";
|
|
11
12
|
|
|
13
|
+
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
12
14
|
export async function commitToPriceDiscoveryOffer(args: {
|
|
13
15
|
contractAddress: string;
|
|
14
16
|
subgraphUrl: string;
|
|
@@ -16,7 +18,30 @@ export async function commitToPriceDiscoveryOffer(args: {
|
|
|
16
18
|
buyer: string;
|
|
17
19
|
tokenIdOrOfferId: BigNumberish;
|
|
18
20
|
priceDiscovery: PriceDiscoveryStruct;
|
|
19
|
-
|
|
21
|
+
returnTxInfo: true;
|
|
22
|
+
}): Promise<TransactionRequest>;
|
|
23
|
+
|
|
24
|
+
// Overload: returnTxInfo is false or undefined → returns TransactionResponse
|
|
25
|
+
export async function commitToPriceDiscoveryOffer(args: {
|
|
26
|
+
contractAddress: string;
|
|
27
|
+
subgraphUrl: string;
|
|
28
|
+
web3Lib: Web3LibAdapter;
|
|
29
|
+
buyer: string;
|
|
30
|
+
tokenIdOrOfferId: BigNumberish;
|
|
31
|
+
priceDiscovery: PriceDiscoveryStruct;
|
|
32
|
+
returnTxInfo?: false | undefined;
|
|
33
|
+
}): Promise<TransactionResponse>;
|
|
34
|
+
|
|
35
|
+
// Implementation
|
|
36
|
+
export async function commitToPriceDiscoveryOffer(args: {
|
|
37
|
+
contractAddress: string;
|
|
38
|
+
subgraphUrl: string;
|
|
39
|
+
web3Lib: Web3LibAdapter;
|
|
40
|
+
buyer: string;
|
|
41
|
+
tokenIdOrOfferId: BigNumberish;
|
|
42
|
+
priceDiscovery: PriceDiscoveryStruct;
|
|
43
|
+
returnTxInfo?: boolean;
|
|
44
|
+
}): Promise<TransactionRequest | TransactionResponse> {
|
|
20
45
|
let { offerId } = exchanges.parseTokenId(args.tokenIdOrOfferId);
|
|
21
46
|
if (offerId.eq(0)) {
|
|
22
47
|
offerId = BigNumber.from(args.tokenIdOrOfferId);
|
|
@@ -25,7 +50,7 @@ export async function commitToPriceDiscoveryOffer(args: {
|
|
|
25
50
|
|
|
26
51
|
// TODO: do we need to check allowance?
|
|
27
52
|
|
|
28
|
-
|
|
53
|
+
const transactionRequest = {
|
|
29
54
|
to: args.contractAddress,
|
|
30
55
|
data: encodeCommitToPriceDiscoveryOffer(
|
|
31
56
|
args.buyer,
|
|
@@ -33,5 +58,11 @@ export async function commitToPriceDiscoveryOffer(args: {
|
|
|
33
58
|
args.priceDiscovery
|
|
34
59
|
),
|
|
35
60
|
value: offer.exchangeToken.address === AddressZero ? offer.price : "0"
|
|
36
|
-
}
|
|
61
|
+
} satisfies TransactionRequest;
|
|
62
|
+
|
|
63
|
+
if (args.returnTxInfo) {
|
|
64
|
+
return transactionRequest;
|
|
65
|
+
} else {
|
|
66
|
+
return args.web3Lib.sendTransaction(transactionRequest);
|
|
67
|
+
}
|
|
37
68
|
}
|
|
@@ -1,30 +1,81 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TransactionResponse,
|
|
3
|
-
|
|
3
|
+
TransactionRequest,
|
|
4
|
+
PriceDiscoveryStruct,
|
|
5
|
+
Web3LibAdapter
|
|
4
6
|
} from "@bosonprotocol/common";
|
|
5
7
|
import { BaseCoreSDK } from "./../mixins/base-core-sdk";
|
|
6
8
|
import { commitToPriceDiscoveryOffer } from "./handler";
|
|
7
9
|
import { BigNumberish } from "@ethersproject/bignumber";
|
|
8
10
|
|
|
9
|
-
export class PriceDiscoveryMixin
|
|
11
|
+
export class PriceDiscoveryMixin<
|
|
12
|
+
T extends Web3LibAdapter
|
|
13
|
+
> extends BaseCoreSDK<T> {
|
|
10
14
|
/**
|
|
11
15
|
* Commits to a price discovery offer (first step of an exchange)
|
|
12
|
-
*
|
|
16
|
+
* This transaction only succeeds if there is an existing buyer account for connected signer.
|
|
17
|
+
* @param buyer - Buyer address.
|
|
18
|
+
* @param tokenIdOrOfferId - Token ID or Offer ID.
|
|
19
|
+
* @param priceDiscovery - Price discovery struct.
|
|
13
20
|
* @param overrides - Optional overrides.
|
|
14
21
|
* @returns Transaction response.
|
|
15
22
|
*/
|
|
23
|
+
// Overload: returnTxInfo is true → returns TransactionRequest
|
|
16
24
|
public async commitToPriceDiscoveryOffer(
|
|
17
25
|
buyer: string,
|
|
18
26
|
tokenIdOrOfferId: BigNumberish,
|
|
19
|
-
priceDiscovery: PriceDiscoveryStruct
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
priceDiscovery: PriceDiscoveryStruct,
|
|
28
|
+
overrides: Partial<{
|
|
29
|
+
contractAddress: string;
|
|
30
|
+
txRequest: TransactionRequest;
|
|
31
|
+
returnTxInfo: true;
|
|
32
|
+
}>
|
|
33
|
+
): Promise<TransactionRequest>;
|
|
34
|
+
|
|
35
|
+
// Overload: returnTxInfo is false or undefined → returns TransactionResponse
|
|
36
|
+
public async commitToPriceDiscoveryOffer(
|
|
37
|
+
buyer: string,
|
|
38
|
+
tokenIdOrOfferId: BigNumberish,
|
|
39
|
+
priceDiscovery: PriceDiscoveryStruct,
|
|
40
|
+
overrides?: Partial<{
|
|
41
|
+
contractAddress: string;
|
|
42
|
+
txRequest: TransactionRequest;
|
|
43
|
+
returnTxInfo?: false | undefined;
|
|
44
|
+
}>
|
|
45
|
+
): Promise<TransactionResponse>;
|
|
46
|
+
|
|
47
|
+
// Implementation
|
|
48
|
+
public async commitToPriceDiscoveryOffer(
|
|
49
|
+
buyer: string,
|
|
50
|
+
tokenIdOrOfferId: BigNumberish,
|
|
51
|
+
priceDiscovery: PriceDiscoveryStruct,
|
|
52
|
+
overrides: Partial<{
|
|
53
|
+
contractAddress: string;
|
|
54
|
+
txRequest: TransactionRequest;
|
|
55
|
+
returnTxInfo?: boolean;
|
|
56
|
+
}> = {}
|
|
57
|
+
): Promise<TransactionResponse | TransactionRequest> {
|
|
58
|
+
const { returnTxInfo } = overrides;
|
|
59
|
+
|
|
60
|
+
const commitArgs = {
|
|
22
61
|
buyer,
|
|
23
62
|
tokenIdOrOfferId,
|
|
24
63
|
priceDiscovery,
|
|
25
64
|
web3Lib: this._web3Lib,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
65
|
+
contractAddress: overrides.contractAddress || this._protocolDiamond,
|
|
66
|
+
subgraphUrl: this._subgraphUrl
|
|
67
|
+
} as const satisfies Parameters<typeof commitToPriceDiscoveryOffer>[0];
|
|
68
|
+
|
|
69
|
+
if (returnTxInfo === true) {
|
|
70
|
+
return commitToPriceDiscoveryOffer({
|
|
71
|
+
...commitArgs,
|
|
72
|
+
returnTxInfo: true
|
|
73
|
+
});
|
|
74
|
+
} else {
|
|
75
|
+
return commitToPriceDiscoveryOffer({
|
|
76
|
+
...commitArgs,
|
|
77
|
+
returnTxInfo: false
|
|
78
|
+
});
|
|
79
|
+
}
|
|
29
80
|
}
|
|
30
81
|
}
|
|
@@ -4,13 +4,35 @@ import {
|
|
|
4
4
|
decodeGetMaxRoyaltyPercentage
|
|
5
5
|
} from "./interface";
|
|
6
6
|
|
|
7
|
+
// Overload: returnTxInfo is true → returns call request
|
|
7
8
|
export async function getMaxRoyaltyPercentage(args: {
|
|
8
9
|
contractAddress: string;
|
|
9
10
|
web3Lib: Web3LibAdapter;
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
returnTxInfo: true;
|
|
12
|
+
}): Promise<{ to: string; data: string }>;
|
|
13
|
+
|
|
14
|
+
// Overload: returnTxInfo is false or undefined → returns number
|
|
15
|
+
export async function getMaxRoyaltyPercentage(args: {
|
|
16
|
+
contractAddress: string;
|
|
17
|
+
web3Lib: Web3LibAdapter;
|
|
18
|
+
returnTxInfo?: false | undefined;
|
|
19
|
+
}): Promise<number>;
|
|
20
|
+
|
|
21
|
+
// Implementation
|
|
22
|
+
export async function getMaxRoyaltyPercentage(args: {
|
|
23
|
+
contractAddress: string;
|
|
24
|
+
web3Lib: Web3LibAdapter;
|
|
25
|
+
returnTxInfo?: boolean;
|
|
26
|
+
}): Promise<number | { to: string; data: string }> {
|
|
27
|
+
const callRequest = {
|
|
12
28
|
to: args.contractAddress,
|
|
13
29
|
data: encodeGetMaxRoyaltyPercentage()
|
|
14
|
-
}
|
|
15
|
-
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
if (args.returnTxInfo) {
|
|
33
|
+
return callRequest;
|
|
34
|
+
} else {
|
|
35
|
+
const result = await args.web3Lib.call(callRequest);
|
|
36
|
+
return decodeGetMaxRoyaltyPercentage(result);
|
|
37
|
+
}
|
|
16
38
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { BaseCoreSDK } from "../mixins/base-core-sdk";
|
|
2
2
|
import { handler } from ".";
|
|
3
|
+
import { Web3LibAdapter } from "@bosonprotocol/common";
|
|
3
4
|
|
|
4
|
-
export class ProtocolConfigMixin
|
|
5
|
+
export class ProtocolConfigMixin<
|
|
6
|
+
T extends Web3LibAdapter
|
|
7
|
+
> extends BaseCoreSDK<T> {
|
|
5
8
|
public async getMaxRoyaltyPercentage(
|
|
6
9
|
overrides: Partial<{
|
|
7
10
|
contractAddress: string;
|