@shapeshiftoss/unchained-client 9.0.2 → 9.1.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/evm/avalanche/index.d.ts +2 -0
- package/dist/{ethereum → evm/avalanche}/index.js +1 -2
- package/dist/evm/avalanche/parser/index.d.ts +5 -0
- package/dist/evm/avalanche/parser/index.js +16 -0
- package/dist/evm/ethereum/index.d.ts +2 -0
- package/dist/evm/ethereum/index.js +18 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/foxyStaking.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/foxyStaking.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/shapeShiftRouter.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/shapeShiftRouter.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/thor.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/thor.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/uniV2.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/uniV2.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/uniV2StakingRewards.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/uniV2StakingRewards.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/weth.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/weth.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/yearnVault.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/abi/yearnVault.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/constants.d.ts +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/constants.js +0 -0
- package/dist/{ethereum → evm/ethereum}/parser/foxy.d.ts +3 -3
- package/dist/{ethereum → evm/ethereum}/parser/foxy.js +4 -4
- package/dist/evm/ethereum/parser/index.d.ts +5 -0
- package/dist/evm/ethereum/parser/index.js +55 -0
- package/dist/{ethereum → evm/ethereum}/parser/thor.d.ts +3 -3
- package/dist/{ethereum → evm/ethereum}/parser/thor.js +4 -4
- package/dist/{ethereum → evm/ethereum}/parser/uniV2.d.ts +3 -3
- package/dist/{ethereum → evm/ethereum}/parser/uniV2.js +8 -8
- package/dist/{ethereum → evm/ethereum}/parser/weth.d.ts +3 -3
- package/dist/{ethereum → evm/ethereum}/parser/weth.js +4 -4
- package/dist/{ethereum → evm/ethereum}/parser/yearn.d.ts +3 -3
- package/dist/{ethereum → evm/ethereum}/parser/yearn.js +3 -3
- package/dist/evm/ethereum/parser/zrx.d.ts +5 -0
- package/dist/{ethereum → evm/ethereum}/parser/zrx.js +3 -3
- package/dist/evm/index.d.ts +2 -0
- package/dist/evm/index.js +28 -0
- package/dist/{ethereum → evm}/parser/abi/erc20.d.ts +0 -0
- package/dist/{ethereum → evm}/parser/abi/erc20.js +0 -0
- package/dist/{ethereum → evm}/parser/erc20.d.ts +3 -4
- package/dist/{ethereum → evm}/parser/erc20.js +1 -1
- package/dist/evm/parser/index.d.ts +26 -0
- package/dist/{ethereum → evm}/parser/index.js +29 -39
- package/dist/{ethereum → evm/parser}/types.d.ts +6 -4
- package/dist/{ethereum → evm/parser}/types.js +0 -0
- package/dist/evm/parser/utils.d.ts +4 -0
- package/dist/{ethereum → evm}/parser/utils.js +0 -0
- package/dist/generated/avalanche/api.d.ts +766 -0
- package/dist/generated/avalanche/api.js +490 -0
- package/dist/generated/avalanche/base.d.ts +55 -0
- package/dist/generated/avalanche/base.js +64 -0
- package/dist/generated/avalanche/common.d.ts +65 -0
- package/dist/generated/avalanche/common.js +137 -0
- package/dist/generated/avalanche/configuration.d.ts +83 -0
- package/dist/generated/avalanche/configuration.js +42 -0
- package/dist/generated/avalanche/index.d.ts +13 -0
- package/dist/generated/avalanche/index.js +31 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +7 -7
- package/package.json +3 -3
- package/dist/ethereum/index.d.ts +0 -3
- package/dist/ethereum/parser/index.d.ts +0 -23
- package/dist/ethereum/parser/utils.d.ts +0 -3
- package/dist/ethereum/parser/zrx.d.ts +0 -5
|
@@ -22,38 +22,36 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
25
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
29
|
+
exports.BaseTransactionParser = void 0;
|
|
27
30
|
const caip_1 = require("@shapeshiftoss/caip");
|
|
28
31
|
const bignumber_js_1 = require("bignumber.js");
|
|
29
32
|
const ethers_1 = require("ethers");
|
|
30
33
|
const types_1 = require("../../types");
|
|
31
34
|
const utils_1 = require("../../utils");
|
|
32
35
|
const erc20 = __importStar(require("./erc20"));
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const weth = __importStar(require("./weth"));
|
|
37
|
-
const yearn = __importStar(require("./yearn"));
|
|
38
|
-
const zrx = __importStar(require("./zrx"));
|
|
39
|
-
class TransactionParser {
|
|
36
|
+
__exportStar(require("./types"), exports);
|
|
37
|
+
__exportStar(require("./utils"), exports);
|
|
38
|
+
class BaseTransactionParser {
|
|
40
39
|
constructor(args) {
|
|
40
|
+
this.parsers = [];
|
|
41
41
|
this.chainId = args.chainId;
|
|
42
|
-
this.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// order here matters currently as weth and yearn have the same sigHash for deposit() and the weth parser is stricter resulting in faster processing times
|
|
56
|
-
this.parsers = [this.zrx, this.thor, this.uniV2, this.weth, this.foxy, this.yearn, this.erc20];
|
|
42
|
+
this.provider = new ethers_1.ethers.providers.JsonRpcProvider(args.rpcUrl);
|
|
43
|
+
this.registerParser(new erc20.Parser({ chainId: this.chainId, provider: this.provider }));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Register custom transaction sub parser to extract contract specific data
|
|
47
|
+
*
|
|
48
|
+
* _parsers should be registered from most generic first to most specific last_
|
|
49
|
+
*/
|
|
50
|
+
registerParser(parser) {
|
|
51
|
+
this.parsers.unshift(parser);
|
|
52
|
+
}
|
|
53
|
+
registerParsers(parsers) {
|
|
54
|
+
parsers.forEach((parser) => this.registerParser(parser));
|
|
57
55
|
}
|
|
58
56
|
async parse(tx, address) {
|
|
59
57
|
var _a;
|
|
@@ -67,7 +65,7 @@ class TransactionParser {
|
|
|
67
65
|
blockTime: tx.timestamp,
|
|
68
66
|
chainId: this.chainId,
|
|
69
67
|
confirmations: tx.confirmations,
|
|
70
|
-
status:
|
|
68
|
+
status: this.getStatus(tx),
|
|
71
69
|
trade: contractParserResult === null || contractParserResult === void 0 ? void 0 : contractParserResult.trade,
|
|
72
70
|
transfers: (_a = contractParserResult === null || contractParserResult === void 0 ? void 0 : contractParserResult.transfers) !== null && _a !== void 0 ? _a : [],
|
|
73
71
|
txid: tx.txid,
|
|
@@ -75,7 +73,7 @@ class TransactionParser {
|
|
|
75
73
|
};
|
|
76
74
|
return this.getParsedTxWithTransfers(tx, parsedTx, address);
|
|
77
75
|
}
|
|
78
|
-
|
|
76
|
+
getStatus(tx) {
|
|
79
77
|
const status = tx.status;
|
|
80
78
|
if (status === -1 && tx.confirmations <= 0)
|
|
81
79
|
return types_1.Status.Pending;
|
|
@@ -107,8 +105,9 @@ class TransactionParser {
|
|
|
107
105
|
}
|
|
108
106
|
}
|
|
109
107
|
(_a = tx.tokenTransfers) === null || _a === void 0 ? void 0 : _a.forEach((transfer) => {
|
|
110
|
-
// FTX Token (FTT) name and symbol was set backwards on the ERC20 contract
|
|
111
|
-
if (
|
|
108
|
+
// FTX Token (FTT) name and symbol was set backwards on the ERC20 contract (Ethereum Mainnet)
|
|
109
|
+
if (this.chainId === caip_1.ethChainId &&
|
|
110
|
+
transfer.contract === '0x50D1c9771902476076eCFc8B2A83Ad6b9355a4c9') {
|
|
112
111
|
transfer.name = transfer.symbol;
|
|
113
112
|
transfer.symbol = transfer.name;
|
|
114
113
|
}
|
|
@@ -120,7 +119,7 @@ class TransactionParser {
|
|
|
120
119
|
};
|
|
121
120
|
const transferArgs = [
|
|
122
121
|
(0, caip_1.toAssetId)({
|
|
123
|
-
|
|
122
|
+
chainId: this.chainId,
|
|
124
123
|
assetNamespace: 'erc20',
|
|
125
124
|
assetReference: transfer.contract
|
|
126
125
|
}),
|
|
@@ -139,16 +138,7 @@ class TransactionParser {
|
|
|
139
138
|
}
|
|
140
139
|
});
|
|
141
140
|
(_b = tx.internalTxs) === null || _b === void 0 ? void 0 : _b.forEach((internalTx) => {
|
|
142
|
-
const transferArgs = [
|
|
143
|
-
(0, caip_1.toAssetId)({
|
|
144
|
-
...(0, caip_1.fromChainId)(this.chainId),
|
|
145
|
-
assetNamespace: 'slip44',
|
|
146
|
-
assetReference: caip_1.ASSET_REFERENCE.Ethereum
|
|
147
|
-
}),
|
|
148
|
-
internalTx.from,
|
|
149
|
-
internalTx.to,
|
|
150
|
-
internalTx.value
|
|
151
|
-
];
|
|
141
|
+
const transferArgs = [this.assetId, internalTx.from, internalTx.to, internalTx.value];
|
|
152
142
|
// internal eth send
|
|
153
143
|
if (address === internalTx.from) {
|
|
154
144
|
parsedTx.transfers = (0, utils_1.aggregateTransfer)(parsedTx.transfers, types_1.TransferType.Send, ...transferArgs);
|
|
@@ -161,4 +151,4 @@ class TransactionParser {
|
|
|
161
151
|
return parsedTx;
|
|
162
152
|
}
|
|
163
153
|
}
|
|
164
|
-
exports.
|
|
154
|
+
exports.BaseTransactionParser = BaseTransactionParser;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { AvalancheTx } from '../../generated/avalanche';
|
|
2
|
+
import { EthereumTx } from '../../generated/ethereum';
|
|
3
|
+
import { BaseTxMetadata, StandardTx, StandardTxMetadata } from '../../types';
|
|
4
|
+
export declare type Tx = EthereumTx | AvalancheTx;
|
|
3
5
|
export declare enum TxParser {
|
|
4
6
|
ERC20 = "erc20"
|
|
5
7
|
}
|
|
@@ -12,6 +14,6 @@ export interface ParsedTx extends StandardTx {
|
|
|
12
14
|
data?: TxMetadata;
|
|
13
15
|
}
|
|
14
16
|
export declare type TxSpecific = Partial<Pick<ParsedTx, 'trade' | 'transfers' | 'data'>>;
|
|
15
|
-
export interface SubParser {
|
|
16
|
-
parse(tx:
|
|
17
|
+
export interface SubParser<T extends Tx, U = TxSpecific> {
|
|
18
|
+
parse(tx: T): Promise<U | undefined>;
|
|
17
19
|
}
|
|
File without changes
|
|
File without changes
|