@bosonprotocol/core-sdk 1.12.0-alpha.7 → 1.12.0-alpha.9
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/core-sdk.d.ts +5 -5
- package/dist/cjs/core-sdk.d.ts.map +1 -1
- package/dist/cjs/core-sdk.js +20 -10
- package/dist/cjs/core-sdk.js.map +1 -1
- package/dist/cjs/offers/index.d.ts +1 -0
- package/dist/cjs/offers/index.d.ts.map +1 -1
- package/dist/cjs/offers/index.js +1 -0
- package/dist/cjs/offers/index.js.map +1 -1
- package/dist/cjs/offers/renderContractualAgreement.d.ts +41 -0
- package/dist/cjs/offers/renderContractualAgreement.d.ts.map +1 -0
- package/dist/cjs/offers/renderContractualAgreement.js +156 -0
- package/dist/cjs/offers/renderContractualAgreement.js.map +1 -0
- package/dist/cjs/offers/subgraph.d.ts.map +1 -1
- package/dist/cjs/offers/subgraph.js.map +1 -1
- package/dist/cjs/subgraph.d.ts +3782 -54
- package/dist/cjs/subgraph.d.ts.map +1 -1
- package/dist/cjs/subgraph.js +207 -169
- package/dist/cjs/subgraph.js.map +1 -1
- package/dist/cjs/utils/tokenInfoManager.d.ts +16 -0
- package/dist/cjs/utils/tokenInfoManager.d.ts.map +1 -0
- package/dist/cjs/utils/tokenInfoManager.js +97 -0
- package/dist/cjs/utils/tokenInfoManager.js.map +1 -0
- package/dist/esm/core-sdk.d.ts +5 -5
- package/dist/esm/core-sdk.d.ts.map +1 -1
- package/dist/esm/core-sdk.js +17 -10
- package/dist/esm/core-sdk.js.map +1 -1
- package/dist/esm/offers/index.d.ts +1 -0
- package/dist/esm/offers/index.d.ts.map +1 -1
- package/dist/esm/offers/index.js +1 -0
- package/dist/esm/offers/index.js.map +1 -1
- package/dist/esm/offers/renderContractualAgreement.d.ts +41 -0
- package/dist/esm/offers/renderContractualAgreement.d.ts.map +1 -0
- package/dist/esm/offers/renderContractualAgreement.js +132 -0
- package/dist/esm/offers/renderContractualAgreement.js.map +1 -0
- package/dist/esm/offers/subgraph.d.ts.map +1 -1
- package/dist/esm/offers/subgraph.js.map +1 -1
- package/dist/esm/subgraph.d.ts +3782 -54
- package/dist/esm/subgraph.d.ts.map +1 -1
- package/dist/esm/subgraph.js +205 -167
- package/dist/esm/subgraph.js.map +1 -1
- package/dist/esm/utils/tokenInfoManager.d.ts +16 -0
- package/dist/esm/utils/tokenInfoManager.d.ts.map +1 -0
- package/dist/esm/utils/tokenInfoManager.js +83 -0
- package/dist/esm/utils/tokenInfoManager.js.map +1 -0
- package/package.json +5 -4
- package/src/core-sdk.ts +34 -15
- package/src/metadata/product-v1.graphql +3 -0
- package/src/offers/index.ts +1 -0
- package/src/offers/queries.graphql +29 -0
- package/src/offers/renderContractualAgreement.ts +203 -0
- package/src/offers/subgraph.ts +0 -1
- package/src/subgraph.ts +3885 -167
- package/src/utils/tokenInfoManager.ts +97 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Web3LibAdapter } from "@bosonprotocol/common";
|
|
2
|
+
import { AddressZero } from "@ethersproject/constants";
|
|
3
|
+
import { erc20 } from "..";
|
|
4
|
+
|
|
5
|
+
export interface ITokenInfo {
|
|
6
|
+
name: string;
|
|
7
|
+
decimals: number;
|
|
8
|
+
symbol: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ITokenInfoManager {
|
|
12
|
+
getExchangeTokenInfo: (tokenAddress: string) => Promise<ITokenInfo>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const NATIVE_TOKENS: { [key: number]: ITokenInfo } = {
|
|
16
|
+
1: {
|
|
17
|
+
// Ethereum Mainnet
|
|
18
|
+
name: "Ether",
|
|
19
|
+
decimals: 18,
|
|
20
|
+
symbol: "ETH"
|
|
21
|
+
},
|
|
22
|
+
3: {
|
|
23
|
+
// Ethereum Ropsten
|
|
24
|
+
name: "Ether",
|
|
25
|
+
decimals: 18,
|
|
26
|
+
symbol: "ETH"
|
|
27
|
+
},
|
|
28
|
+
4: {
|
|
29
|
+
// Ethereum Rinkeby
|
|
30
|
+
name: "Ether",
|
|
31
|
+
decimals: 18,
|
|
32
|
+
symbol: "ETH"
|
|
33
|
+
},
|
|
34
|
+
5: {
|
|
35
|
+
// Ethereum Goerli
|
|
36
|
+
name: "Ether",
|
|
37
|
+
decimals: 18,
|
|
38
|
+
symbol: "ETH"
|
|
39
|
+
},
|
|
40
|
+
137: {
|
|
41
|
+
// Polygon Mainnet
|
|
42
|
+
name: "MATIC",
|
|
43
|
+
decimals: 18,
|
|
44
|
+
symbol: "MATIC"
|
|
45
|
+
},
|
|
46
|
+
80001: {
|
|
47
|
+
// Polygon Mumbai
|
|
48
|
+
name: "MATIC",
|
|
49
|
+
decimals: 18,
|
|
50
|
+
symbol: "MATIC"
|
|
51
|
+
},
|
|
52
|
+
1234: {
|
|
53
|
+
// Private Node
|
|
54
|
+
name: "Ether",
|
|
55
|
+
decimals: 18,
|
|
56
|
+
symbol: "ETH"
|
|
57
|
+
},
|
|
58
|
+
31337: {
|
|
59
|
+
// Local Hardhat
|
|
60
|
+
name: "Ether",
|
|
61
|
+
decimals: 18,
|
|
62
|
+
symbol: "ETH"
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export class TokenInfoManager implements ITokenInfoManager {
|
|
67
|
+
private _tokenInfos = new Map<string, ITokenInfo>();
|
|
68
|
+
private _web3Lib: Web3LibAdapter;
|
|
69
|
+
|
|
70
|
+
public constructor(chainId: number, web3Lib: Web3LibAdapter) {
|
|
71
|
+
if (!NATIVE_TOKENS[chainId]) {
|
|
72
|
+
throw new Error(`Unexpected chainId value '${chainId}'`);
|
|
73
|
+
}
|
|
74
|
+
this._tokenInfos.set(AddressZero, NATIVE_TOKENS[chainId]);
|
|
75
|
+
this._web3Lib = web3Lib;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public async getExchangeTokenInfo(tokenAddress: string): Promise<ITokenInfo> {
|
|
79
|
+
if (!this._tokenInfos.has(tokenAddress.toLowerCase())) {
|
|
80
|
+
const args = {
|
|
81
|
+
web3Lib: this._web3Lib,
|
|
82
|
+
contractAddress: tokenAddress
|
|
83
|
+
};
|
|
84
|
+
const [decimals, name, symbol] = await Promise.all([
|
|
85
|
+
erc20.handler.getDecimals(args),
|
|
86
|
+
erc20.handler.getName(args),
|
|
87
|
+
erc20.handler.getSymbol(args)
|
|
88
|
+
]);
|
|
89
|
+
this._tokenInfos.set(tokenAddress.toLowerCase(), {
|
|
90
|
+
decimals,
|
|
91
|
+
name,
|
|
92
|
+
symbol
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return this._tokenInfos.get(tokenAddress.toLowerCase());
|
|
96
|
+
}
|
|
97
|
+
}
|