@shapeshiftoss/unchained-client 10.15.0 → 10.17.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/.tsbuildinfo +1 -1
- package/dist/cjs/evm/arbitrum/parser/index.js +1 -1
- package/dist/cjs/evm/avalanche/parser/index.js +1 -1
- package/dist/cjs/evm/base/parser/index.js +1 -1
- package/dist/cjs/evm/bnbsmartchain/parser/index.js +1 -1
- package/dist/cjs/evm/ethereum/parser/__tests__/ethereum.test.js +13 -13
- package/dist/cjs/evm/ethereum/parser/index.js +12 -3
- package/dist/cjs/evm/ethereum/parser/uniV2.d.ts +4 -3
- package/dist/cjs/evm/ethereum/parser/uniV2.js +13 -10
- package/dist/cjs/evm/ethereum/parser/weth.d.ts +0 -2
- package/dist/cjs/evm/ethereum/parser/weth.js +0 -2
- package/dist/cjs/evm/gnosis/parser/index.js +1 -1
- package/dist/cjs/evm/optimism/parser/index.js +1 -1
- package/dist/cjs/evm/parser/erc20.d.ts +0 -2
- package/dist/cjs/evm/parser/erc20.js +0 -2
- package/dist/cjs/evm/parser/index.d.ts +1 -2
- package/dist/cjs/evm/parser/index.js +2 -2
- package/dist/cjs/evm/polygon/parser/index.js +1 -1
- package/dist/cjs/generated/arbitrum/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/arbitrum/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/arbitrum/models/index.d.ts +1 -0
- package/dist/cjs/generated/arbitrum/models/index.js +1 -0
- package/dist/cjs/generated/avalanche/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/avalanche/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/avalanche/models/index.d.ts +1 -0
- package/dist/cjs/generated/avalanche/models/index.js +1 -0
- package/dist/cjs/generated/base/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/base/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/base/models/index.d.ts +1 -0
- package/dist/cjs/generated/base/models/index.js +1 -0
- package/dist/cjs/generated/bitcoin/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/bitcoin/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/bitcoin/models/index.d.ts +1 -0
- package/dist/cjs/generated/bitcoin/models/index.js +1 -0
- package/dist/cjs/generated/bitcoincash/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/bitcoincash/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/bitcoincash/models/index.d.ts +1 -0
- package/dist/cjs/generated/bitcoincash/models/index.js +1 -0
- package/dist/cjs/generated/bnbsmartchain/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/bnbsmartchain/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/bnbsmartchain/models/index.d.ts +1 -0
- package/dist/cjs/generated/bnbsmartchain/models/index.js +1 -0
- package/dist/cjs/generated/dogecoin/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/dogecoin/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/dogecoin/models/index.d.ts +1 -0
- package/dist/cjs/generated/dogecoin/models/index.js +1 -0
- package/dist/cjs/generated/ethereum/apis/V1Api.d.ts +15 -0
- package/dist/cjs/generated/ethereum/apis/V1Api.js +24 -0
- package/dist/cjs/generated/ethereum/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/ethereum/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/ethereum/models/index.d.ts +1 -0
- package/dist/cjs/generated/ethereum/models/index.js +1 -0
- package/dist/cjs/generated/gnosis/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/gnosis/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/gnosis/models/index.d.ts +1 -0
- package/dist/cjs/generated/gnosis/models/index.js +1 -0
- package/dist/cjs/generated/litecoin/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/litecoin/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/litecoin/models/index.d.ts +1 -0
- package/dist/cjs/generated/litecoin/models/index.js +1 -0
- package/dist/cjs/generated/optimism/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/optimism/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/optimism/models/index.d.ts +1 -0
- package/dist/cjs/generated/optimism/models/index.js +1 -0
- package/dist/cjs/generated/polygon/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/polygon/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/polygon/models/index.d.ts +1 -0
- package/dist/cjs/generated/polygon/models/index.js +1 -0
- package/dist/cjs/generated/solana/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/solana/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/solana/models/index.d.ts +1 -0
- package/dist/cjs/generated/solana/models/index.js +1 -0
- package/dist/cjs/generated/zcash/models/NotFoundError.d.ts +31 -0
- package/dist/cjs/generated/zcash/models/NotFoundError.js +51 -0
- package/dist/cjs/generated/zcash/models/index.d.ts +1 -0
- package/dist/cjs/generated/zcash/models/index.js +1 -0
- package/dist/cjs/tron/__tests__/api.test.js +125 -0
- package/dist/cjs/tron/api.d.ts +7 -0
- package/dist/cjs/tron/api.js +39 -3
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/evm/arbitrum/parser/index.js +1 -1
- package/dist/esm/evm/avalanche/parser/index.js +1 -1
- package/dist/esm/evm/base/parser/index.js +1 -1
- package/dist/esm/evm/bnbsmartchain/parser/index.js +1 -1
- package/dist/esm/evm/ethereum/parser/__tests__/ethereum.test.js +13 -13
- package/dist/esm/evm/ethereum/parser/index.js +12 -3
- package/dist/esm/evm/ethereum/parser/uniV2.d.ts +4 -3
- package/dist/esm/evm/ethereum/parser/uniV2.js +14 -11
- package/dist/esm/evm/ethereum/parser/weth.d.ts +0 -2
- package/dist/esm/evm/ethereum/parser/weth.js +0 -2
- package/dist/esm/evm/gnosis/parser/index.js +1 -1
- package/dist/esm/evm/optimism/parser/index.js +1 -1
- package/dist/esm/evm/parser/erc20.d.ts +0 -2
- package/dist/esm/evm/parser/erc20.js +0 -2
- package/dist/esm/evm/parser/index.d.ts +1 -2
- package/dist/esm/evm/parser/index.js +3 -3
- package/dist/esm/evm/polygon/parser/index.js +1 -1
- package/dist/esm/generated/arbitrum/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/arbitrum/models/NotFoundError.js +44 -0
- package/dist/esm/generated/arbitrum/models/index.d.ts +1 -0
- package/dist/esm/generated/arbitrum/models/index.js +1 -0
- package/dist/esm/generated/avalanche/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/avalanche/models/NotFoundError.js +44 -0
- package/dist/esm/generated/avalanche/models/index.d.ts +1 -0
- package/dist/esm/generated/avalanche/models/index.js +1 -0
- package/dist/esm/generated/base/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/base/models/NotFoundError.js +44 -0
- package/dist/esm/generated/base/models/index.d.ts +1 -0
- package/dist/esm/generated/base/models/index.js +1 -0
- package/dist/esm/generated/bitcoin/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/bitcoin/models/NotFoundError.js +44 -0
- package/dist/esm/generated/bitcoin/models/index.d.ts +1 -0
- package/dist/esm/generated/bitcoin/models/index.js +1 -0
- package/dist/esm/generated/bitcoincash/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/bitcoincash/models/NotFoundError.js +44 -0
- package/dist/esm/generated/bitcoincash/models/index.d.ts +1 -0
- package/dist/esm/generated/bitcoincash/models/index.js +1 -0
- package/dist/esm/generated/bnbsmartchain/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/bnbsmartchain/models/NotFoundError.js +44 -0
- package/dist/esm/generated/bnbsmartchain/models/index.d.ts +1 -0
- package/dist/esm/generated/bnbsmartchain/models/index.js +1 -0
- package/dist/esm/generated/dogecoin/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/dogecoin/models/NotFoundError.js +44 -0
- package/dist/esm/generated/dogecoin/models/index.d.ts +1 -0
- package/dist/esm/generated/dogecoin/models/index.js +1 -0
- package/dist/esm/generated/ethereum/apis/V1Api.d.ts +15 -0
- package/dist/esm/generated/ethereum/apis/V1Api.js +24 -0
- package/dist/esm/generated/ethereum/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/ethereum/models/NotFoundError.js +44 -0
- package/dist/esm/generated/ethereum/models/index.d.ts +1 -0
- package/dist/esm/generated/ethereum/models/index.js +1 -0
- package/dist/esm/generated/gnosis/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/gnosis/models/NotFoundError.js +44 -0
- package/dist/esm/generated/gnosis/models/index.d.ts +1 -0
- package/dist/esm/generated/gnosis/models/index.js +1 -0
- package/dist/esm/generated/litecoin/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/litecoin/models/NotFoundError.js +44 -0
- package/dist/esm/generated/litecoin/models/index.d.ts +1 -0
- package/dist/esm/generated/litecoin/models/index.js +1 -0
- package/dist/esm/generated/optimism/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/optimism/models/NotFoundError.js +44 -0
- package/dist/esm/generated/optimism/models/index.d.ts +1 -0
- package/dist/esm/generated/optimism/models/index.js +1 -0
- package/dist/esm/generated/polygon/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/polygon/models/NotFoundError.js +44 -0
- package/dist/esm/generated/polygon/models/index.d.ts +1 -0
- package/dist/esm/generated/polygon/models/index.js +1 -0
- package/dist/esm/generated/solana/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/solana/models/NotFoundError.js +44 -0
- package/dist/esm/generated/solana/models/index.d.ts +1 -0
- package/dist/esm/generated/solana/models/index.js +1 -0
- package/dist/esm/generated/zcash/models/NotFoundError.d.ts +31 -0
- package/dist/esm/generated/zcash/models/NotFoundError.js +44 -0
- package/dist/esm/generated/zcash/models/index.d.ts +1 -0
- package/dist/esm/generated/zcash/models/index.js +1 -0
- package/dist/esm/tron/__tests__/api.test.js +125 -0
- package/dist/esm/tron/api.d.ts +7 -0
- package/dist/esm/tron/api.js +39 -3
- package/package.json +4 -4
|
@@ -36,7 +36,7 @@ class TransactionParser extends parser_1.BaseTransactionParser {
|
|
|
36
36
|
constructor(args) {
|
|
37
37
|
super(args);
|
|
38
38
|
this.registerParsers([
|
|
39
|
-
new erc20.Parser({ chainId: this.chainId
|
|
39
|
+
new erc20.Parser({ chainId: this.chainId }),
|
|
40
40
|
new mayachain.Parser({
|
|
41
41
|
chainId: this.chainId,
|
|
42
42
|
midgardUrl: args.mayaMidgardUrl,
|
|
@@ -33,7 +33,7 @@ class TransactionParser extends parser_1.BaseTransactionParser {
|
|
|
33
33
|
constructor(args) {
|
|
34
34
|
super(args);
|
|
35
35
|
this.registerParsers([
|
|
36
|
-
new erc20.Parser({ chainId: this.chainId
|
|
36
|
+
new erc20.Parser({ chainId: this.chainId }),
|
|
37
37
|
new thorchain.Parser({
|
|
38
38
|
chainId: this.chainId,
|
|
39
39
|
midgardUrl: args.midgardUrl,
|
|
@@ -32,7 +32,7 @@ class TransactionParser extends parser_1.BaseTransactionParser {
|
|
|
32
32
|
constructor(args) {
|
|
33
33
|
super(args);
|
|
34
34
|
this.registerParsers([
|
|
35
|
-
new erc20.Parser({ chainId: this.chainId
|
|
35
|
+
new erc20.Parser({ chainId: this.chainId }),
|
|
36
36
|
new zrx.Parser({ proxyContract: contracts_1.ZRX_ETHEREUM_PROXY_CONTRACT }),
|
|
37
37
|
]);
|
|
38
38
|
}
|
|
@@ -33,7 +33,7 @@ class TransactionParser extends parser_1.BaseTransactionParser {
|
|
|
33
33
|
constructor(args) {
|
|
34
34
|
super(args);
|
|
35
35
|
this.registerParsers([
|
|
36
|
-
new erc20.Parser({ chainId: this.chainId
|
|
36
|
+
new erc20.Parser({ chainId: this.chainId }),
|
|
37
37
|
new thorchain.Parser({
|
|
38
38
|
chainId: this.chainId,
|
|
39
39
|
midgardUrl: args.midgardUrl,
|
|
@@ -110,21 +110,21 @@ const mockTokenData = {
|
|
|
110
110
|
symbol: 'UNI-V2',
|
|
111
111
|
},
|
|
112
112
|
};
|
|
113
|
-
vitest_1.vi.mock('
|
|
114
|
-
|
|
115
|
-
const actual = await vitest_1.vi.importActual('ethers');
|
|
116
|
-
const MockContract = vitest_1.vi.fn().mockImplementation(function (address) {
|
|
117
|
-
const checksumAddress = actual.getAddress(address.toLowerCase());
|
|
118
|
-
const data = mockTokenData[checksumAddress] ?? { decimals: 18, name: 'Unknown', symbol: 'UNK' };
|
|
119
|
-
return {
|
|
120
|
-
decimals: vitest_1.vi.fn().mockResolvedValue(data.decimals),
|
|
121
|
-
name: vitest_1.vi.fn().mockResolvedValue(data.name),
|
|
122
|
-
symbol: vitest_1.vi.fn().mockResolvedValue(data.symbol),
|
|
123
|
-
};
|
|
124
|
-
});
|
|
113
|
+
vitest_1.vi.mock('viem', async () => {
|
|
114
|
+
const actual = await vitest_1.vi.importActual('viem');
|
|
125
115
|
return {
|
|
126
116
|
...actual,
|
|
127
|
-
|
|
117
|
+
createPublicClient: vitest_1.vi.fn(() => ({
|
|
118
|
+
readContract: vitest_1.vi.fn(({ address, functionName, }) => {
|
|
119
|
+
const checksumAddress = actual.getAddress(address.toLowerCase());
|
|
120
|
+
const data = mockTokenData[checksumAddress] ?? {
|
|
121
|
+
decimals: 18,
|
|
122
|
+
name: 'Unknown',
|
|
123
|
+
symbol: 'UNK',
|
|
124
|
+
};
|
|
125
|
+
return Promise.resolve(data[functionName]);
|
|
126
|
+
}),
|
|
127
|
+
})),
|
|
128
128
|
};
|
|
129
129
|
});
|
|
130
130
|
const makeTxParser = vitest_1.vi.fn(async () => new index_1.TransactionParser({
|
|
@@ -26,6 +26,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.TransactionParser = void 0;
|
|
27
27
|
const caip_1 = require("@shapeshiftoss/caip");
|
|
28
28
|
const contracts_1 = require("@shapeshiftoss/contracts");
|
|
29
|
+
const viem_1 = require("viem");
|
|
30
|
+
const chains_1 = require("viem/chains");
|
|
29
31
|
const parser_1 = require("../../parser");
|
|
30
32
|
const arbitrumBridge = __importStar(require("../../parser/arbitrumBridge"));
|
|
31
33
|
const erc20 = __importStar(require("../../parser/erc20"));
|
|
@@ -42,10 +44,17 @@ class TransactionParser extends parser_1.BaseTransactionParser {
|
|
|
42
44
|
super(args);
|
|
43
45
|
// due to the current parser logic, order here matters (register most generic first to most specific last)
|
|
44
46
|
this.registerParsers([
|
|
45
|
-
new erc20.Parser({ chainId: this.chainId
|
|
47
|
+
new erc20.Parser({ chainId: this.chainId }),
|
|
46
48
|
new foxy.Parser(),
|
|
47
|
-
new weth.Parser({ chainId: this.chainId
|
|
48
|
-
new uniV2.Parser({
|
|
49
|
+
new weth.Parser({ chainId: this.chainId }),
|
|
50
|
+
new uniV2.Parser({
|
|
51
|
+
chainId: this.chainId,
|
|
52
|
+
client: (0, viem_1.createPublicClient)({
|
|
53
|
+
chain: chains_1.mainnet,
|
|
54
|
+
transport: (0, viem_1.http)(this.rpcUrl),
|
|
55
|
+
batch: { multicall: true },
|
|
56
|
+
}),
|
|
57
|
+
}),
|
|
49
58
|
new mayachain.Parser({
|
|
50
59
|
chainId: this.chainId,
|
|
51
60
|
midgardUrl: args.mayaMidgardUrl,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ChainId } from '@shapeshiftoss/caip';
|
|
2
|
-
import type { JsonRpcProvider } from 'ethers';
|
|
3
2
|
import { Interface } from 'ethers';
|
|
3
|
+
import type { PublicClient } from 'viem';
|
|
4
4
|
import type { Tx } from '../../../generated/ethereum';
|
|
5
5
|
import type { BaseTxMetadata } from '../../../types';
|
|
6
6
|
import type { SubParser, TxSpecific } from '../../parser';
|
|
@@ -9,10 +9,10 @@ export interface TxMetadata extends BaseTxMetadata {
|
|
|
9
9
|
}
|
|
10
10
|
export interface ParserArgs {
|
|
11
11
|
chainId: ChainId;
|
|
12
|
-
|
|
12
|
+
client: PublicClient;
|
|
13
13
|
}
|
|
14
14
|
export declare class Parser implements SubParser<Tx> {
|
|
15
|
-
|
|
15
|
+
client: PublicClient;
|
|
16
16
|
readonly chainId: ChainId;
|
|
17
17
|
readonly wethContract: string;
|
|
18
18
|
readonly abiInterface: Interface;
|
|
@@ -23,5 +23,6 @@ export declare class Parser implements SubParser<Tx> {
|
|
|
23
23
|
parseUniV2(tx: Tx): Promise<TxSpecific | undefined>;
|
|
24
24
|
parseStakingRewards(tx: Tx): TxSpecific | undefined;
|
|
25
25
|
parse(tx: Tx): Promise<TxSpecific | undefined>;
|
|
26
|
+
private getTokenMetadata;
|
|
26
27
|
private static pairFor;
|
|
27
28
|
}
|
|
@@ -12,7 +12,7 @@ const viem_1 = require("viem");
|
|
|
12
12
|
const types_1 = require("../../../types");
|
|
13
13
|
const parser_1 = require("../../parser");
|
|
14
14
|
class Parser {
|
|
15
|
-
|
|
15
|
+
client;
|
|
16
16
|
chainId;
|
|
17
17
|
wethContract;
|
|
18
18
|
abiInterface = new ethers_1.Interface(contracts_1.UNISWAP_V2_ROUTER_02_ABI);
|
|
@@ -21,7 +21,7 @@ class Parser {
|
|
|
21
21
|
supportedStakingRewardsFunctions;
|
|
22
22
|
constructor(args) {
|
|
23
23
|
this.chainId = args.chainId;
|
|
24
|
-
this.
|
|
24
|
+
this.client = args.client;
|
|
25
25
|
(0, assert_1.default)(args.chainId === 'eip155:1', `chainId '${args.chainId}' is not supported`);
|
|
26
26
|
this.wethContract = contracts_1.WETH_TOKEN_CONTRACT;
|
|
27
27
|
const addLiquidityEthSigHash = this.abiInterface.getFunction('addLiquidityETH')?.selector;
|
|
@@ -67,10 +67,7 @@ class Parser {
|
|
|
67
67
|
const transfers = await (async () => {
|
|
68
68
|
switch ((0, parser_1.getSigHash)(tx.inputData)) {
|
|
69
69
|
case this.supportedFunctions.addLiquidityEthSigHash: {
|
|
70
|
-
const
|
|
71
|
-
const decimals = await contract.decimals();
|
|
72
|
-
const name = await contract.name();
|
|
73
|
-
const symbol = await contract.symbol();
|
|
70
|
+
const { decimals, name, symbol } = await this.getTokenMetadata(tokenAddress);
|
|
74
71
|
const value = decoded.args.amountTokenDesired.toString();
|
|
75
72
|
const assetId = (0, caip_1.toAssetId)({
|
|
76
73
|
...(0, caip_1.fromChainId)(this.chainId),
|
|
@@ -90,10 +87,7 @@ class Parser {
|
|
|
90
87
|
];
|
|
91
88
|
}
|
|
92
89
|
case this.supportedFunctions.removeLiquidityEthSigHash: {
|
|
93
|
-
const
|
|
94
|
-
const decimals = await contract.decimals();
|
|
95
|
-
const name = await contract.name();
|
|
96
|
-
const symbol = await contract.symbol();
|
|
90
|
+
const { decimals, name, symbol } = await this.getTokenMetadata(lpTokenAddress);
|
|
97
91
|
const value = decoded.args.liquidity.toString();
|
|
98
92
|
const assetId = (0, caip_1.toAssetId)({
|
|
99
93
|
...(0, caip_1.fromChainId)(this.chainId),
|
|
@@ -152,6 +146,15 @@ class Parser {
|
|
|
152
146
|
if (isFoxStakingRewards)
|
|
153
147
|
return await Promise.resolve(this.parseStakingRewards(tx));
|
|
154
148
|
}
|
|
149
|
+
async getTokenMetadata(address) {
|
|
150
|
+
const contract = { address: address, abi: viem_1.erc20Abi };
|
|
151
|
+
const [decimals, name, symbol] = await Promise.all([
|
|
152
|
+
this.client.readContract({ ...contract, functionName: 'decimals' }),
|
|
153
|
+
this.client.readContract({ ...contract, functionName: 'name' }),
|
|
154
|
+
this.client.readContract({ ...contract, functionName: 'symbol' }),
|
|
155
|
+
]);
|
|
156
|
+
return { decimals, name, symbol };
|
|
157
|
+
}
|
|
155
158
|
static pairFor(tokenA, tokenB) {
|
|
156
159
|
const [token0, token1] = tokenA < tokenB ? [tokenA, tokenB] : [tokenB, tokenA];
|
|
157
160
|
const salt = (0, ethers_1.solidityPackedKeccak256)(['address', 'address'], [token0, token1]);
|
|
@@ -8,10 +8,8 @@ export interface TxMetadata extends BaseTxMetadata {
|
|
|
8
8
|
}
|
|
9
9
|
export interface ParserArgs {
|
|
10
10
|
chainId: ChainId;
|
|
11
|
-
provider: ethers.JsonRpcProvider;
|
|
12
11
|
}
|
|
13
12
|
export declare class Parser implements SubParser<Tx> {
|
|
14
|
-
provider: ethers.JsonRpcProvider;
|
|
15
13
|
readonly chainId: ChainId;
|
|
16
14
|
readonly wethContract: string;
|
|
17
15
|
readonly abiInterface: ethers.Interface;
|
|
@@ -11,14 +11,12 @@ const ethers_1 = require("ethers");
|
|
|
11
11
|
const types_1 = require("../../../types");
|
|
12
12
|
const parser_1 = require("../../parser");
|
|
13
13
|
class Parser {
|
|
14
|
-
provider;
|
|
15
14
|
chainId;
|
|
16
15
|
wethContract;
|
|
17
16
|
abiInterface = new ethers_1.ethers.Interface(contracts_1.WETH_ABI);
|
|
18
17
|
supportedFunctions;
|
|
19
18
|
constructor(args) {
|
|
20
19
|
this.chainId = args.chainId;
|
|
21
|
-
this.provider = args.provider;
|
|
22
20
|
(0, assert_1.default)(args.chainId === 'eip155:1', `chainId '${args.chainId}' is not supported`);
|
|
23
21
|
this.wethContract = contracts_1.WETH_TOKEN_CONTRACT;
|
|
24
22
|
const depositSigHash = this.abiInterface.getFunction('deposit')?.selector;
|
|
@@ -29,7 +29,7 @@ const erc20 = __importStar(require("../../parser/erc20"));
|
|
|
29
29
|
class TransactionParser extends parser_1.BaseTransactionParser {
|
|
30
30
|
constructor(args) {
|
|
31
31
|
super(args);
|
|
32
|
-
this.registerParsers([new erc20.Parser({ chainId: this.chainId
|
|
32
|
+
this.registerParsers([new erc20.Parser({ chainId: this.chainId })]);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
exports.TransactionParser = TransactionParser;
|
|
@@ -32,7 +32,7 @@ class TransactionParser extends parser_1.BaseTransactionParser {
|
|
|
32
32
|
constructor(args) {
|
|
33
33
|
super(args);
|
|
34
34
|
this.registerParsers([
|
|
35
|
-
new erc20.Parser({ chainId: this.chainId
|
|
35
|
+
new erc20.Parser({ chainId: this.chainId }),
|
|
36
36
|
new zrx.Parser({ proxyContract: contracts_1.ZRX_OPTIMISM_PROXY_CONTRACT }),
|
|
37
37
|
]);
|
|
38
38
|
}
|
|
@@ -9,10 +9,8 @@ export interface TxMetadata extends BaseTxMetadata {
|
|
|
9
9
|
}
|
|
10
10
|
interface ParserArgs {
|
|
11
11
|
chainId: ChainId;
|
|
12
|
-
provider: ethers.JsonRpcProvider;
|
|
13
12
|
}
|
|
14
13
|
export declare class Parser<T extends Tx> implements SubParser<T> {
|
|
15
|
-
provider: ethers.JsonRpcProvider;
|
|
16
14
|
readonly chainId: ChainId;
|
|
17
15
|
readonly abiInterface: ethers.Interface;
|
|
18
16
|
private readonly supportedFunctions;
|
|
@@ -6,12 +6,10 @@ const ethers_1 = require("ethers");
|
|
|
6
6
|
const viem_1 = require("viem");
|
|
7
7
|
const utils_1 = require("./utils");
|
|
8
8
|
class Parser {
|
|
9
|
-
provider;
|
|
10
9
|
chainId;
|
|
11
10
|
abiInterface = new ethers_1.ethers.Interface(viem_1.erc20Abi);
|
|
12
11
|
supportedFunctions;
|
|
13
12
|
constructor(args) {
|
|
14
|
-
this.provider = args.provider;
|
|
15
13
|
this.chainId = args.chainId;
|
|
16
14
|
const approveSigHash = this.abiInterface.getFunction('approve')?.selector;
|
|
17
15
|
if (!approveSigHash)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { AssetId, ChainId } from '@shapeshiftoss/caip';
|
|
2
|
-
import { JsonRpcProvider } from 'ethers';
|
|
3
2
|
import type { Api } from '..';
|
|
4
3
|
import type { ParsedTx, SubParser, Tx } from './types';
|
|
5
4
|
export * from './types';
|
|
@@ -14,7 +13,7 @@ export declare class BaseTransactionParser<T extends Tx> {
|
|
|
14
13
|
chainId: ChainId;
|
|
15
14
|
assetId: AssetId;
|
|
16
15
|
protected readonly api: Api;
|
|
17
|
-
protected readonly
|
|
16
|
+
protected readonly rpcUrl: string;
|
|
18
17
|
private parsers;
|
|
19
18
|
constructor(args: BaseTransactionParserArgs);
|
|
20
19
|
/**
|
|
@@ -27,13 +27,13 @@ class BaseTransactionParser {
|
|
|
27
27
|
chainId;
|
|
28
28
|
assetId;
|
|
29
29
|
api;
|
|
30
|
-
|
|
30
|
+
rpcUrl;
|
|
31
31
|
parsers = [];
|
|
32
32
|
constructor(args) {
|
|
33
33
|
this.chainId = args.chainId;
|
|
34
34
|
this.assetId = args.assetId;
|
|
35
35
|
this.api = args.api;
|
|
36
|
-
this.
|
|
36
|
+
this.rpcUrl = args.rpcUrl;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Register custom transaction sub parser to extract contract specific data
|
|
@@ -32,7 +32,7 @@ class TransactionParser extends parser_1.BaseTransactionParser {
|
|
|
32
32
|
constructor(args) {
|
|
33
33
|
super(args);
|
|
34
34
|
this.registerParsers([
|
|
35
|
-
new erc20.Parser({ chainId: this.chainId
|
|
35
|
+
new erc20.Parser({ chainId: this.chainId }),
|
|
36
36
|
new zrx.Parser({ proxyContract: contracts_1.ZRX_ETHEREUM_PROXY_CONTRACT }),
|
|
37
37
|
]);
|
|
38
38
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @shapeshiftoss/arbitrum-api
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 10.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Contains info about a 404 Not Found response
|
|
14
|
+
* @export
|
|
15
|
+
* @interface NotFoundError
|
|
16
|
+
*/
|
|
17
|
+
export interface NotFoundError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof NotFoundError
|
|
22
|
+
*/
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the NotFoundError interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfNotFoundError(value: object): boolean;
|
|
29
|
+
export declare function NotFoundErrorFromJSON(json: any): NotFoundError;
|
|
30
|
+
export declare function NotFoundErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotFoundError;
|
|
31
|
+
export declare function NotFoundErrorToJSON(value?: NotFoundError | null): any;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/* tslint:disable */
|
|
4
|
+
/* eslint-disable */
|
|
5
|
+
/**
|
|
6
|
+
* @shapeshiftoss/arbitrum-api
|
|
7
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
8
|
+
*
|
|
9
|
+
* The version of the OpenAPI document: 10.0.0
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
13
|
+
* https://openapi-generator.tech
|
|
14
|
+
* Do not edit the class manually.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.NotFoundErrorToJSON = exports.NotFoundErrorFromJSONTyped = exports.NotFoundErrorFromJSON = exports.instanceOfNotFoundError = void 0;
|
|
18
|
+
/**
|
|
19
|
+
* Check if a given object implements the NotFoundError interface.
|
|
20
|
+
*/
|
|
21
|
+
function instanceOfNotFoundError(value) {
|
|
22
|
+
let isInstance = true;
|
|
23
|
+
isInstance = isInstance && "message" in value;
|
|
24
|
+
return isInstance;
|
|
25
|
+
}
|
|
26
|
+
exports.instanceOfNotFoundError = instanceOfNotFoundError;
|
|
27
|
+
function NotFoundErrorFromJSON(json) {
|
|
28
|
+
return NotFoundErrorFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
exports.NotFoundErrorFromJSON = NotFoundErrorFromJSON;
|
|
31
|
+
function NotFoundErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if ((json === undefined) || (json === null)) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'message': json['message'],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
exports.NotFoundErrorFromJSONTyped = NotFoundErrorFromJSONTyped;
|
|
40
|
+
function NotFoundErrorToJSON(value) {
|
|
41
|
+
if (value === undefined) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
if (value === null) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
'message': value.message,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.NotFoundErrorToJSON = NotFoundErrorToJSON;
|
|
@@ -10,6 +10,7 @@ export * from './GasEstimate';
|
|
|
10
10
|
export * from './GasFees';
|
|
11
11
|
export * from './InternalServerError';
|
|
12
12
|
export * from './InternalTx';
|
|
13
|
+
export * from './NotFoundError';
|
|
13
14
|
export * from './RPCRequest';
|
|
14
15
|
export * from './RPCResponse';
|
|
15
16
|
export * from './RPCResponseError';
|
|
@@ -29,6 +29,7 @@ __exportStar(require("./GasEstimate"), exports);
|
|
|
29
29
|
__exportStar(require("./GasFees"), exports);
|
|
30
30
|
__exportStar(require("./InternalServerError"), exports);
|
|
31
31
|
__exportStar(require("./InternalTx"), exports);
|
|
32
|
+
__exportStar(require("./NotFoundError"), exports);
|
|
32
33
|
__exportStar(require("./RPCRequest"), exports);
|
|
33
34
|
__exportStar(require("./RPCResponse"), exports);
|
|
34
35
|
__exportStar(require("./RPCResponseError"), exports);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @shapeshiftoss/avalanche-api
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 10.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Contains info about a 404 Not Found response
|
|
14
|
+
* @export
|
|
15
|
+
* @interface NotFoundError
|
|
16
|
+
*/
|
|
17
|
+
export interface NotFoundError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof NotFoundError
|
|
22
|
+
*/
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the NotFoundError interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfNotFoundError(value: object): boolean;
|
|
29
|
+
export declare function NotFoundErrorFromJSON(json: any): NotFoundError;
|
|
30
|
+
export declare function NotFoundErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotFoundError;
|
|
31
|
+
export declare function NotFoundErrorToJSON(value?: NotFoundError | null): any;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/* tslint:disable */
|
|
4
|
+
/* eslint-disable */
|
|
5
|
+
/**
|
|
6
|
+
* @shapeshiftoss/avalanche-api
|
|
7
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
8
|
+
*
|
|
9
|
+
* The version of the OpenAPI document: 10.0.0
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
13
|
+
* https://openapi-generator.tech
|
|
14
|
+
* Do not edit the class manually.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.NotFoundErrorToJSON = exports.NotFoundErrorFromJSONTyped = exports.NotFoundErrorFromJSON = exports.instanceOfNotFoundError = void 0;
|
|
18
|
+
/**
|
|
19
|
+
* Check if a given object implements the NotFoundError interface.
|
|
20
|
+
*/
|
|
21
|
+
function instanceOfNotFoundError(value) {
|
|
22
|
+
let isInstance = true;
|
|
23
|
+
isInstance = isInstance && "message" in value;
|
|
24
|
+
return isInstance;
|
|
25
|
+
}
|
|
26
|
+
exports.instanceOfNotFoundError = instanceOfNotFoundError;
|
|
27
|
+
function NotFoundErrorFromJSON(json) {
|
|
28
|
+
return NotFoundErrorFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
exports.NotFoundErrorFromJSON = NotFoundErrorFromJSON;
|
|
31
|
+
function NotFoundErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if ((json === undefined) || (json === null)) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'message': json['message'],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
exports.NotFoundErrorFromJSONTyped = NotFoundErrorFromJSONTyped;
|
|
40
|
+
function NotFoundErrorToJSON(value) {
|
|
41
|
+
if (value === undefined) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
if (value === null) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
'message': value.message,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.NotFoundErrorToJSON = NotFoundErrorToJSON;
|
|
@@ -10,6 +10,7 @@ export * from './GasEstimate';
|
|
|
10
10
|
export * from './GasFees';
|
|
11
11
|
export * from './InternalServerError';
|
|
12
12
|
export * from './InternalTx';
|
|
13
|
+
export * from './NotFoundError';
|
|
13
14
|
export * from './RPCRequest';
|
|
14
15
|
export * from './RPCResponse';
|
|
15
16
|
export * from './RPCResponseError';
|
|
@@ -29,6 +29,7 @@ __exportStar(require("./GasEstimate"), exports);
|
|
|
29
29
|
__exportStar(require("./GasFees"), exports);
|
|
30
30
|
__exportStar(require("./InternalServerError"), exports);
|
|
31
31
|
__exportStar(require("./InternalTx"), exports);
|
|
32
|
+
__exportStar(require("./NotFoundError"), exports);
|
|
32
33
|
__exportStar(require("./RPCRequest"), exports);
|
|
33
34
|
__exportStar(require("./RPCResponse"), exports);
|
|
34
35
|
__exportStar(require("./RPCResponseError"), exports);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @shapeshiftoss/base-api
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 10.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Contains info about a 404 Not Found response
|
|
14
|
+
* @export
|
|
15
|
+
* @interface NotFoundError
|
|
16
|
+
*/
|
|
17
|
+
export interface NotFoundError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof NotFoundError
|
|
22
|
+
*/
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the NotFoundError interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfNotFoundError(value: object): boolean;
|
|
29
|
+
export declare function NotFoundErrorFromJSON(json: any): NotFoundError;
|
|
30
|
+
export declare function NotFoundErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotFoundError;
|
|
31
|
+
export declare function NotFoundErrorToJSON(value?: NotFoundError | null): any;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/* tslint:disable */
|
|
4
|
+
/* eslint-disable */
|
|
5
|
+
/**
|
|
6
|
+
* @shapeshiftoss/base-api
|
|
7
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
8
|
+
*
|
|
9
|
+
* The version of the OpenAPI document: 10.0.0
|
|
10
|
+
*
|
|
11
|
+
*
|
|
12
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
13
|
+
* https://openapi-generator.tech
|
|
14
|
+
* Do not edit the class manually.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.NotFoundErrorToJSON = exports.NotFoundErrorFromJSONTyped = exports.NotFoundErrorFromJSON = exports.instanceOfNotFoundError = void 0;
|
|
18
|
+
/**
|
|
19
|
+
* Check if a given object implements the NotFoundError interface.
|
|
20
|
+
*/
|
|
21
|
+
function instanceOfNotFoundError(value) {
|
|
22
|
+
let isInstance = true;
|
|
23
|
+
isInstance = isInstance && "message" in value;
|
|
24
|
+
return isInstance;
|
|
25
|
+
}
|
|
26
|
+
exports.instanceOfNotFoundError = instanceOfNotFoundError;
|
|
27
|
+
function NotFoundErrorFromJSON(json) {
|
|
28
|
+
return NotFoundErrorFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
exports.NotFoundErrorFromJSON = NotFoundErrorFromJSON;
|
|
31
|
+
function NotFoundErrorFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if ((json === undefined) || (json === null)) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'message': json['message'],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
exports.NotFoundErrorFromJSONTyped = NotFoundErrorFromJSONTyped;
|
|
40
|
+
function NotFoundErrorToJSON(value) {
|
|
41
|
+
if (value === undefined) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
if (value === null) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
'message': value.message,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.NotFoundErrorToJSON = NotFoundErrorToJSON;
|
|
@@ -10,6 +10,7 @@ export * from './EstimateGasBody';
|
|
|
10
10
|
export * from './Fees';
|
|
11
11
|
export * from './InternalServerError';
|
|
12
12
|
export * from './InternalTx';
|
|
13
|
+
export * from './NotFoundError';
|
|
13
14
|
export * from './RPCRequest';
|
|
14
15
|
export * from './RPCResponse';
|
|
15
16
|
export * from './RPCResponseError';
|
|
@@ -29,6 +29,7 @@ __exportStar(require("./EstimateGasBody"), exports);
|
|
|
29
29
|
__exportStar(require("./Fees"), exports);
|
|
30
30
|
__exportStar(require("./InternalServerError"), exports);
|
|
31
31
|
__exportStar(require("./InternalTx"), exports);
|
|
32
|
+
__exportStar(require("./NotFoundError"), exports);
|
|
32
33
|
__exportStar(require("./RPCRequest"), exports);
|
|
33
34
|
__exportStar(require("./RPCResponse"), exports);
|
|
34
35
|
__exportStar(require("./RPCResponseError"), exports);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @shapeshiftoss/bitcoin-api
|
|
3
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
4
|
+
*
|
|
5
|
+
* The version of the OpenAPI document: 10.0.0
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
9
|
+
* https://openapi-generator.tech
|
|
10
|
+
* Do not edit the class manually.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Contains info about a 404 Not Found response
|
|
14
|
+
* @export
|
|
15
|
+
* @interface NotFoundError
|
|
16
|
+
*/
|
|
17
|
+
export interface NotFoundError {
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof NotFoundError
|
|
22
|
+
*/
|
|
23
|
+
message: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if a given object implements the NotFoundError interface.
|
|
27
|
+
*/
|
|
28
|
+
export declare function instanceOfNotFoundError(value: object): boolean;
|
|
29
|
+
export declare function NotFoundErrorFromJSON(json: any): NotFoundError;
|
|
30
|
+
export declare function NotFoundErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotFoundError;
|
|
31
|
+
export declare function NotFoundErrorToJSON(value?: NotFoundError | null): any;
|