@bosonprotocol/core-sdk 1.23.0-alpha.9 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/accounts/mixin.d.ts +194 -0
- package/dist/cjs/accounts/mixin.d.ts.map +1 -0
- package/dist/cjs/accounts/mixin.js +426 -0
- package/dist/cjs/accounts/mixin.js.map +1 -0
- package/dist/cjs/core-sdk.d.ts +16 -818
- package/dist/cjs/core-sdk.d.ts.map +1 -1
- package/dist/cjs/core-sdk.js +26 -1579
- package/dist/cjs/core-sdk.js.map +1 -1
- package/dist/cjs/disputes/mixin.d.ts +113 -0
- package/dist/cjs/disputes/mixin.d.ts.map +1 -0
- package/dist/cjs/disputes/mixin.js +203 -0
- package/dist/cjs/disputes/mixin.js.map +1 -0
- package/dist/cjs/erc1155/handler.d.ts +9 -0
- package/dist/cjs/erc1155/handler.d.ts.map +1 -0
- package/dist/cjs/erc1155/handler.js +28 -0
- package/dist/cjs/erc1155/handler.js.map +1 -0
- package/dist/cjs/erc1155/index.d.ts +3 -0
- package/dist/cjs/erc1155/index.d.ts.map +1 -0
- package/dist/cjs/erc1155/index.js +29 -0
- package/dist/cjs/erc1155/index.js.map +1 -0
- package/dist/cjs/erc1155/interface.d.ts +3 -0
- package/dist/cjs/erc1155/interface.d.ts.map +1 -0
- package/dist/cjs/erc1155/interface.js +7 -0
- package/dist/cjs/erc1155/interface.js.map +1 -0
- package/dist/cjs/erc20/handler.d.ts +5 -0
- package/dist/cjs/erc20/handler.d.ts.map +1 -1
- package/dist/cjs/erc20/handler.js +12 -1
- package/dist/cjs/erc20/handler.js.map +1 -1
- package/dist/cjs/erc721/handler.d.ts +5 -0
- package/dist/cjs/erc721/handler.d.ts.map +1 -1
- package/dist/cjs/erc721/handler.js +12 -1
- package/dist/cjs/erc721/handler.js.map +1 -1
- package/dist/cjs/event-logs/mixin.d.ts +11 -0
- package/dist/cjs/event-logs/mixin.d.ts.map +1 -0
- package/dist/cjs/event-logs/mixin.js +28 -0
- package/dist/cjs/event-logs/mixin.js.map +1 -0
- package/dist/cjs/exchanges/mixin.d.ts +77 -0
- package/dist/cjs/exchanges/mixin.d.ts.map +1 -0
- package/dist/cjs/exchanges/mixin.js +172 -0
- package/dist/cjs/exchanges/mixin.js.map +1 -0
- package/dist/cjs/funds/mixin.d.ts +42 -0
- package/dist/cjs/funds/mixin.d.ts.map +1 -0
- package/dist/cjs/funds/mixin.js +95 -0
- package/dist/cjs/funds/mixin.js.map +1 -0
- package/dist/cjs/groups/mixin.d.ts +14 -0
- package/dist/cjs/groups/mixin.d.ts.map +1 -0
- package/dist/cjs/groups/mixin.js +33 -0
- package/dist/cjs/groups/mixin.js.map +1 -0
- package/dist/cjs/meta-tx/mixin.d.ts +176 -0
- package/dist/cjs/meta-tx/mixin.d.ts.map +1 -0
- package/dist/cjs/meta-tx/mixin.js +296 -0
- package/dist/cjs/meta-tx/mixin.js.map +1 -0
- package/dist/cjs/metadata/mixin.d.ts +42 -0
- package/dist/cjs/metadata/mixin.d.ts.map +1 -0
- package/dist/cjs/metadata/mixin.js +89 -0
- package/dist/cjs/metadata/mixin.js.map +1 -0
- package/dist/cjs/metadata/subgraph.d.ts +3 -1
- package/dist/cjs/metadata/subgraph.d.ts.map +1 -1
- package/dist/cjs/metadata/subgraph.js +17 -1
- package/dist/cjs/metadata/subgraph.js.map +1 -1
- package/dist/cjs/mixins/base-core-sdk.d.ts +41 -0
- package/dist/cjs/mixins/base-core-sdk.d.ts.map +1 -0
- package/dist/cjs/mixins/base-core-sdk.js +51 -0
- package/dist/cjs/mixins/base-core-sdk.js.map +1 -0
- package/dist/cjs/native-meta-tx/mixin.d.ts +35 -0
- package/dist/cjs/native-meta-tx/mixin.d.ts.map +1 -0
- package/dist/cjs/native-meta-tx/mixin.js +68 -0
- package/dist/cjs/native-meta-tx/mixin.js.map +1 -0
- package/dist/cjs/offers/mixin.d.ts +133 -0
- package/dist/cjs/offers/mixin.d.ts.map +1 -0
- package/dist/cjs/offers/mixin.js +338 -0
- package/dist/cjs/offers/mixin.js.map +1 -0
- package/dist/cjs/orchestration/mixin.d.ts +28 -0
- package/dist/cjs/orchestration/mixin.d.ts.map +1 -0
- package/dist/cjs/orchestration/mixin.js +59 -0
- package/dist/cjs/orchestration/mixin.js.map +1 -0
- package/dist/cjs/subgraph.d.ts +3747 -1529
- package/dist/cjs/subgraph.d.ts.map +1 -1
- package/dist/cjs/subgraph.js +115 -4
- package/dist/cjs/subgraph.js.map +1 -1
- package/dist/cjs/utils/graphql.d.ts +14 -0
- package/dist/cjs/utils/graphql.d.ts.map +1 -1
- package/dist/cjs/utils/tokenInfoManager.d.ts +8 -3
- package/dist/cjs/utils/tokenInfoManager.d.ts.map +1 -1
- package/dist/cjs/utils/tokenInfoManager.js +58 -15
- package/dist/cjs/utils/tokenInfoManager.js.map +1 -1
- package/dist/esm/accounts/mixin.d.ts +194 -0
- package/dist/esm/accounts/mixin.d.ts.map +1 -0
- package/dist/esm/accounts/mixin.js +342 -0
- package/dist/esm/accounts/mixin.js.map +1 -0
- package/dist/esm/core-sdk.d.ts +16 -818
- package/dist/esm/core-sdk.d.ts.map +1 -1
- package/dist/esm/core-sdk.js +27 -1483
- package/dist/esm/core-sdk.js.map +1 -1
- package/dist/esm/disputes/mixin.d.ts +113 -0
- package/dist/esm/disputes/mixin.d.ts.map +1 -0
- package/dist/esm/disputes/mixin.js +173 -0
- package/dist/esm/disputes/mixin.js.map +1 -0
- package/dist/esm/erc1155/handler.d.ts +9 -0
- package/dist/esm/erc1155/handler.d.ts.map +1 -0
- package/dist/esm/erc1155/handler.js +13 -0
- package/dist/esm/erc1155/handler.js.map +1 -0
- package/dist/esm/erc1155/index.d.ts +3 -0
- package/dist/esm/erc1155/index.d.ts.map +1 -0
- package/dist/esm/erc1155/index.js +3 -0
- package/dist/esm/erc1155/index.js.map +1 -0
- package/dist/esm/erc1155/interface.d.ts +3 -0
- package/dist/esm/erc1155/interface.d.ts.map +1 -0
- package/dist/esm/erc1155/interface.js +4 -0
- package/dist/esm/erc1155/interface.js.map +1 -0
- package/dist/esm/erc20/handler.d.ts +5 -0
- package/dist/esm/erc20/handler.d.ts.map +1 -1
- package/dist/esm/erc20/handler.js +8 -0
- package/dist/esm/erc20/handler.js.map +1 -1
- package/dist/esm/erc721/handler.d.ts +5 -0
- package/dist/esm/erc721/handler.d.ts.map +1 -1
- package/dist/esm/erc721/handler.js +8 -0
- package/dist/esm/erc721/handler.js.map +1 -1
- package/dist/esm/event-logs/mixin.d.ts +11 -0
- package/dist/esm/event-logs/mixin.d.ts.map +1 -0
- package/dist/esm/event-logs/mixin.js +13 -0
- package/dist/esm/event-logs/mixin.js.map +1 -0
- package/dist/esm/exchanges/mixin.d.ts +77 -0
- package/dist/esm/exchanges/mixin.d.ts.map +1 -0
- package/dist/esm/exchanges/mixin.js +141 -0
- package/dist/esm/exchanges/mixin.js.map +1 -0
- package/dist/esm/funds/mixin.d.ts +42 -0
- package/dist/esm/funds/mixin.d.ts.map +1 -0
- package/dist/esm/funds/mixin.js +72 -0
- package/dist/esm/funds/mixin.js.map +1 -0
- package/dist/esm/groups/mixin.d.ts +14 -0
- package/dist/esm/groups/mixin.d.ts.map +1 -0
- package/dist/esm/groups/mixin.js +18 -0
- package/dist/esm/groups/mixin.js.map +1 -0
- package/dist/esm/meta-tx/mixin.d.ts +176 -0
- package/dist/esm/meta-tx/mixin.d.ts.map +1 -0
- package/dist/esm/meta-tx/mixin.js +351 -0
- package/dist/esm/meta-tx/mixin.js.map +1 -0
- package/dist/esm/metadata/mixin.d.ts +42 -0
- package/dist/esm/metadata/mixin.d.ts.map +1 -0
- package/dist/esm/metadata/mixin.js +60 -0
- package/dist/esm/metadata/mixin.js.map +1 -0
- package/dist/esm/metadata/subgraph.d.ts +3 -1
- package/dist/esm/metadata/subgraph.d.ts.map +1 -1
- package/dist/esm/metadata/subgraph.js +14 -0
- package/dist/esm/metadata/subgraph.js.map +1 -1
- package/dist/esm/mixins/base-core-sdk.d.ts +41 -0
- package/dist/esm/mixins/base-core-sdk.d.ts.map +1 -0
- package/dist/esm/mixins/base-core-sdk.js +54 -0
- package/dist/esm/mixins/base-core-sdk.js.map +1 -0
- package/dist/esm/native-meta-tx/mixin.d.ts +35 -0
- package/dist/esm/native-meta-tx/mixin.d.ts.map +1 -0
- package/dist/esm/native-meta-tx/mixin.js +51 -0
- package/dist/esm/native-meta-tx/mixin.js.map +1 -0
- package/dist/esm/offers/mixin.d.ts +133 -0
- package/dist/esm/offers/mixin.d.ts.map +1 -0
- package/dist/esm/offers/mixin.js +276 -0
- package/dist/esm/offers/mixin.js.map +1 -0
- package/dist/esm/orchestration/mixin.d.ts +28 -0
- package/dist/esm/orchestration/mixin.d.ts.map +1 -0
- package/dist/esm/orchestration/mixin.js +42 -0
- package/dist/esm/orchestration/mixin.js.map +1 -0
- package/dist/esm/subgraph.d.ts +3747 -1529
- package/dist/esm/subgraph.d.ts.map +1 -1
- package/dist/esm/subgraph.js +112 -1
- package/dist/esm/subgraph.js.map +1 -1
- package/dist/esm/utils/graphql.d.ts +14 -0
- package/dist/esm/utils/graphql.d.ts.map +1 -1
- package/dist/esm/utils/tokenInfoManager.d.ts +8 -3
- package/dist/esm/utils/tokenInfoManager.d.ts.map +1 -1
- package/dist/esm/utils/tokenInfoManager.js +58 -15
- package/dist/esm/utils/tokenInfoManager.js.map +1 -1
- package/package.json +3 -3
- package/src/accounts/mixin.ts +484 -0
- package/src/core-sdk.ts +42 -2102
- package/src/disputes/mixin.ts +240 -0
- package/src/erc1155/handler.ts +21 -0
- package/src/erc1155/index.ts +2 -0
- package/src/erc1155/interface.ts +4 -0
- package/src/erc20/handler.ts +14 -0
- package/src/erc721/handler.ts +14 -0
- package/src/event-logs/mixin.ts +16 -0
- package/src/exchanges/mixin.ts +184 -0
- package/src/funds/mixin.ts +99 -0
- package/src/groups/mixin.ts +24 -0
- package/src/meta-tx/mixin.ts +515 -0
- package/src/metadata/mixin.ts +97 -0
- package/src/metadata/product-v1.graphql +77 -1
- package/src/metadata/subgraph.ts +31 -1
- package/src/mixins/base-core-sdk.ts +96 -0
- package/src/native-meta-tx/mixin.ts +77 -0
- package/src/offers/mixin.ts +376 -0
- package/src/offers/queries.graphql +1 -1
- package/src/orchestration/mixin.ts +57 -0
- package/src/subgraph.ts +4396 -2052
- package/src/utils/tokenInfoManager.ts +71 -16
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Web3LibAdapter } from "@bosonprotocol/common";
|
|
2
2
|
import { AddressZero } from "@ethersproject/constants";
|
|
3
3
|
import { getDecimals, getName, getSymbol } from "../erc20/handler";
|
|
4
|
+
import { getExchangeTokens } from "../erc20/subgraph";
|
|
4
5
|
|
|
5
6
|
export interface ITokenInfo {
|
|
6
7
|
name: string;
|
|
@@ -64,34 +65,88 @@ export const NATIVE_TOKENS: { [key: number]: ITokenInfo } = {
|
|
|
64
65
|
};
|
|
65
66
|
|
|
66
67
|
export class TokenInfoManager implements ITokenInfoManager {
|
|
67
|
-
private
|
|
68
|
+
private static TokenInfos = new Map<number, Map<string, ITokenInfo>>();
|
|
69
|
+
private static mapInitialized = new Map<number, boolean>();
|
|
68
70
|
private _web3Lib: Web3LibAdapter;
|
|
71
|
+
private _subgraphUrl: string;
|
|
72
|
+
private _chainId: number;
|
|
73
|
+
private static InvalidAddresses = new Map<number, Set<string>>();
|
|
69
74
|
|
|
70
|
-
public constructor(
|
|
75
|
+
public constructor(
|
|
76
|
+
chainId: number,
|
|
77
|
+
web3Lib: Web3LibAdapter,
|
|
78
|
+
subgraphUrl: string
|
|
79
|
+
) {
|
|
71
80
|
if (!NATIVE_TOKENS[chainId]) {
|
|
72
81
|
throw new Error(`Unexpected chainId value '${chainId}'`);
|
|
73
82
|
}
|
|
74
|
-
|
|
83
|
+
|
|
84
|
+
if (!TokenInfoManager.TokenInfos.has(chainId)) {
|
|
85
|
+
const tokenInfos = new Map<string, ITokenInfo>();
|
|
86
|
+
tokenInfos.set(AddressZero, NATIVE_TOKENS[chainId]);
|
|
87
|
+
TokenInfoManager.TokenInfos.set(chainId, tokenInfos);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (!TokenInfoManager.mapInitialized.has(chainId)) {
|
|
91
|
+
TokenInfoManager.mapInitialized.set(chainId, false);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (!TokenInfoManager.InvalidAddresses.has(chainId)) {
|
|
95
|
+
TokenInfoManager.InvalidAddresses.set(chainId, new Set<string>());
|
|
96
|
+
}
|
|
75
97
|
this._web3Lib = web3Lib;
|
|
98
|
+
this._subgraphUrl = subgraphUrl;
|
|
99
|
+
this._chainId = chainId;
|
|
76
100
|
}
|
|
77
101
|
|
|
78
|
-
public async getExchangeTokenInfo(
|
|
79
|
-
|
|
102
|
+
public async getExchangeTokenInfo(
|
|
103
|
+
tokenAddress: string
|
|
104
|
+
): Promise<ITokenInfo | undefined> {
|
|
105
|
+
await this.ensureInitialized();
|
|
106
|
+
const tokenInfos = TokenInfoManager.TokenInfos.get(this._chainId);
|
|
107
|
+
const invalidAddressesSet = TokenInfoManager.InvalidAddresses.get(
|
|
108
|
+
this._chainId
|
|
109
|
+
);
|
|
110
|
+
const key = tokenAddress.toLowerCase();
|
|
111
|
+
|
|
112
|
+
if (!tokenInfos.has(key) && !invalidAddressesSet.has(key)) {
|
|
80
113
|
const args = {
|
|
81
114
|
web3Lib: this._web3Lib,
|
|
82
115
|
contractAddress: tokenAddress
|
|
83
116
|
};
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
117
|
+
try {
|
|
118
|
+
const [decimals, name, symbol] = await Promise.all([
|
|
119
|
+
getDecimals(args),
|
|
120
|
+
getName(args),
|
|
121
|
+
getSymbol(args)
|
|
122
|
+
]);
|
|
123
|
+
tokenInfos.set(key, {
|
|
124
|
+
decimals,
|
|
125
|
+
name,
|
|
126
|
+
symbol
|
|
127
|
+
});
|
|
128
|
+
} catch (error) {
|
|
129
|
+
invalidAddressesSet.add(key);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return tokenInfos.get(key);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
private async ensureInitialized() {
|
|
136
|
+
const isInitialized = TokenInfoManager.mapInitialized.get(this._chainId);
|
|
137
|
+
if (!isInitialized) {
|
|
138
|
+
// Be sure we are initializing the map only one time per chainId
|
|
139
|
+
TokenInfoManager.mapInitialized.set(this._chainId, true);
|
|
140
|
+
const tokenInfos = TokenInfoManager.TokenInfos.get(this._chainId);
|
|
141
|
+
// Get all tokens from subgraph
|
|
142
|
+
const tokens = await getExchangeTokens(this._subgraphUrl);
|
|
143
|
+
for (const token of tokens) {
|
|
144
|
+
tokenInfos.set(token.address.toLowerCase(), {
|
|
145
|
+
decimals: parseInt(token.decimals),
|
|
146
|
+
name: token.name,
|
|
147
|
+
symbol: token.symbol
|
|
148
|
+
});
|
|
149
|
+
}
|
|
94
150
|
}
|
|
95
|
-
return this._tokenInfos.get(tokenAddress.toLowerCase());
|
|
96
151
|
}
|
|
97
152
|
}
|