@sentio/sdk 2.39.3-rc.6 → 2.39.3-rc.8
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/lib/fuel/global-processor.d.ts.map +1 -1
- package/lib/fuel/global-processor.js +9 -1
- package/lib/fuel/global-processor.js.map +1 -1
- package/lib/fuel/transaction.d.ts.map +1 -1
- package/lib/fuel/transaction.js +9 -7
- package/lib/fuel/transaction.js.map +1 -1
- package/package.json +4 -4
- package/src/fuel/global-processor.ts +8 -1
- package/src/fuel/transaction.ts +9 -7
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"global-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/global-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAoD,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;
|
1
|
+
{"version":3,"file":"global-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/global-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAoD,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAGzD,KAAK,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,KAAK,CAAC,CAAA;AAE7E,qBAAa,mBAAoB,YAAW,iBAAiB,CAAC,yBAAyB,CAAC;IAW1E,QAAQ,CAAC,MAAM,EAAE,yBAAyB;IAVtD,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAK;IAE/C,OAAO,CAAC,QAAQ,CAAU;IAE1B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,GAAG,mBAAmB;gBAM9C,MAAM,EAAE,yBAAyB;IAEhD,SAAS;IAKR,aAAa,CAClB,OAAO,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACjF,MAAM,GAAE,eAA2C;CAuBtD"}
|
@@ -3,6 +3,7 @@ import { Provider } from 'fuels';
|
|
3
3
|
import { getRpcEndpoint } from './network.js';
|
4
4
|
import { decodeFuelTransaction, DEFAULT_FUEL_FETCH_CONFIG } from './transaction.js';
|
5
5
|
import { FuelContext } from './context.js';
|
6
|
+
import { mergeProcessResults } from '@sentio/runtime';
|
6
7
|
export class FuelGlobalProcessor {
|
7
8
|
config;
|
8
9
|
callHandlers = [];
|
@@ -22,7 +23,14 @@ export class FuelGlobalProcessor {
|
|
22
23
|
onTransaction(handler, config = DEFAULT_FUEL_FETCH_CONFIG) {
|
23
24
|
const callHandler = {
|
24
25
|
handler: async (call) => {
|
25
|
-
|
26
|
+
let tx;
|
27
|
+
try {
|
28
|
+
tx = decodeFuelTransaction(call.transaction, this.provider);
|
29
|
+
}
|
30
|
+
catch (e) {
|
31
|
+
console.error('error decoding transaction', e);
|
32
|
+
return mergeProcessResults([]);
|
33
|
+
}
|
26
34
|
const ctx = new FuelContext(this.config.chainId, '*', this.config.name ?? '*', tx);
|
27
35
|
await handler(tx, ctx);
|
28
36
|
return ctx.stopAndGetResult();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"global-processor.js","sourceRoot":"","sources":["../../src/fuel/global-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAoC,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;
|
1
|
+
{"version":3,"file":"global-processor.js","sourceRoot":"","sources":["../../src/fuel/global-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/E,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAoC,MAAM,kBAAkB,CAAA;AACrH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAIrD,MAAM,OAAO,mBAAmB;IAWT;IAVrB,YAAY,GAAiC,EAAE,CAAA;IAEvC,QAAQ,CAAU;IAE1B,MAAM,CAAC,IAAI,CAAC,MAAiC;QAC3C,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACjD,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC/C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,YAAqB,MAAiC;QAAjC,WAAM,GAAN,MAAM,CAA2B;IAAG,CAAC;IAE1D,KAAK,CAAC,SAAS;QACb,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;IAEM,aAAa,CAClB,OAAiF,EACjF,SAA0B,yBAAyB;QAEnD,MAAM,WAAW,GAAG;YAClB,OAAO,EAAE,KAAK,EAAE,IAAmB,EAAE,EAAE;gBACrC,IAAI,EAAmB,CAAA;gBACvB,IAAI,CAAC;oBACH,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC7D,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAA;oBAC9C,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC,CAAA;gBAClF,MAAM,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACtB,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAA;YAC/B,CAAC;YACD,WAAW,EAAE;gBACX,OAAO,EAAE,EAAE;gBACX,GAAG,MAAM;aACV;SACF,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EASN,QAAQ,EAIR,kBAAkB,EACnB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,eAEvC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAWD,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EASN,QAAQ,EAIR,kBAAkB,EACnB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,eAEvC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAWD,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CA+B9F;AAED,wBAAsB,4BAA4B,CAChD,cAAc,EAAE,GAAG,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,eAAe,CAAC,CA8D1B"}
|
package/lib/fuel/transaction.js
CHANGED
@@ -2,9 +2,9 @@ import { arrayify, assembleTransactionSummary, BigNumberCoder, bn, InputType, In
|
|
2
2
|
export const DEFAULT_FUEL_FETCH_CONFIG = {
|
3
3
|
includeFailed: false
|
4
4
|
};
|
5
|
-
function findSenderFromInputs(inputs) {
|
5
|
+
function findSenderFromInputs(inputs, baseAssetId) {
|
6
6
|
for (const input of inputs || []) {
|
7
|
-
if (input.type == InputType.Coin) {
|
7
|
+
if (input.type == InputType.Coin && input.assetId == baseAssetId) {
|
8
8
|
return input.owner;
|
9
9
|
}
|
10
10
|
}
|
@@ -12,8 +12,9 @@ function findSenderFromInputs(inputs) {
|
|
12
12
|
}
|
13
13
|
export function decodeFuelTransaction(gqlTransaction, provider) {
|
14
14
|
const rawPayload = arrayify(gqlTransaction.rawPayload);
|
15
|
+
const receipts = gqlTransaction?.status.receipts?.map(processGqlReceipt) || [];
|
15
16
|
const [decodedTransaction] = new TransactionCoder().decode(rawPayload, 0);
|
16
|
-
const { gasCosts, feeParameters, txParameters } = provider.getChain().consensusParameters;
|
17
|
+
const { gasCosts, feeParameters, txParameters, baseAssetId } = provider.getChain().consensusParameters;
|
17
18
|
const blockNumber = gqlTransaction.status?.block?.header?.height;
|
18
19
|
const { gasPriceFactor, gasPerByte } = feeParameters;
|
19
20
|
const { maxInputs, maxGasPerTx } = txParameters;
|
@@ -24,7 +25,7 @@ export function decodeFuelTransaction(gqlTransaction, provider) {
|
|
24
25
|
return {
|
25
26
|
...assembleTransactionSummary({
|
26
27
|
id: gqlTransaction.id,
|
27
|
-
receipts
|
28
|
+
receipts,
|
28
29
|
transaction: decodedTransaction,
|
29
30
|
transactionBytes: rawPayload,
|
30
31
|
gqlTransactionStatus,
|
@@ -33,10 +34,11 @@ export function decodeFuelTransaction(gqlTransaction, provider) {
|
|
33
34
|
maxInputs,
|
34
35
|
gasCosts,
|
35
36
|
gasPrice: bn(gqlTransaction.gasPrice),
|
36
|
-
maxGasPerTx
|
37
|
+
maxGasPerTx,
|
38
|
+
baseAssetId
|
37
39
|
}),
|
38
40
|
blockNumber,
|
39
|
-
sender: findSenderFromInputs(decodedTransaction.inputs)
|
41
|
+
sender: findSenderFromInputs(decodedTransaction.inputs, baseAssetId)
|
40
42
|
};
|
41
43
|
}
|
42
44
|
export async function decodeFuelTransactionWithAbi(gqlTransaction, abiMap, provider) {
|
@@ -94,7 +96,7 @@ export async function decodeFuelTransactionWithAbi(gqlTransaction, abiMap, provi
|
|
94
96
|
...summary,
|
95
97
|
blockNumber,
|
96
98
|
logs,
|
97
|
-
sender: findSenderFromInputs(decodedTransaction.inputs)
|
99
|
+
sender: findSenderFromInputs(decodedTransaction.inputs, provider.getChain().consensusParameters.baseAssetId)
|
98
100
|
};
|
99
101
|
}
|
100
102
|
//# sourceMappingURL=transaction.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,0BAA0B,EAC1B,cAAc,EACd,EAAE,EAEF,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,OAAO,CAAA;AAOd,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,aAAa,EAAE,KAAK;CACrB,CAAA;AAQD,SAAS,oBAAoB,CAAC,MAA2B;
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,0BAA0B,EAC1B,cAAc,EACd,EAAE,EAEF,SAAS,EACT,SAAS,EACT,iBAAiB,EAEjB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EAEpB,MAAM,OAAO,CAAA;AAOd,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,aAAa,EAAE,KAAK;CACrB,CAAA;AAQD,SAAS,oBAAoB,CAAC,MAA2B,EAAE,WAAmB;IAC5E,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC,KAAK,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,cAAmB,EAAE,QAAkB;IAC3E,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;IAE9E,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACzE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAA;IACtG,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAA;IAChE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,aAAa,CAAA;IACpD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,YAAY,CAAA;IAC/C,MAAM,oBAAoB,GAAG;QAC3B,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,UAAU;QACvC,GAAG,cAAc,CAAC,MAAM;KACzB,CAAA;IACD,OAAO;QACL,GAAG,0BAA0B,CAAC;YAC5B,EAAE,EAAE,cAAc,CAAC,EAAE;YACrB,QAAQ;YACR,WAAW,EAAE,kBAAkB;YAC/B,gBAAgB,EAAE,UAAU;YAC5B,oBAAoB;YACpB,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;YAC1B,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC;YAClC,SAAS;YACT,QAAQ;YACR,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;YACrC,WAAW;YACX,WAAW;SACZ,CAAC;QACF,WAAW;QACX,MAAM,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC;KACrE,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,cAAmB,EACnB,MAAc,EACd,QAAkB;IAElB,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;IACtD,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAEzE,MAAM,QAAQ,GAAG,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;IAE9E,UAAU;IACV,2BAA2B;IAC3B,qDAAqD;IACrD,gDAAgD;IAChD,eAAe;IACf,MAAM;IACN,0BAA0B;IAC1B,EAAE;IACF,MAAM,oBAAoB,GAAG;QAC3B,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,UAAU;QACvC,GAAG,cAAc,CAAC,MAAM;KACzB,CAAA;IAED,MAAM,WAAW,GAAG,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAA;IAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,EAAoB,CAChC;IAAC,QAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QAC5C,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;YAC7E,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA;YACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;YAC7G,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;YACrC,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAA;QAC3D,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,IAAI,mBAAmB,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE;QACtE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,kBAAkB,EAAE,EAAE;KACvB,CAAC,CAAA;IACF,UAAU,CAAC,cAAc,GAAG;QAC1B,GAAG,cAAc;QACjB,MAAM,EAAE,oBAAoB;KAC7B,CAAA;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAA;IAExD,OAAO;QACL;;;;;;;;;;;;;aAaK;QACL,GAAG,OAAO;QACV,WAAW;QACX,IAAI;QACJ,MAAM,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC;KAC7G,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/sdk",
|
3
|
-
"version": "2.39.3-rc.
|
3
|
+
"version": "2.39.3-rc.8",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -64,7 +64,7 @@
|
|
64
64
|
"chalk": "^5.3.0",
|
65
65
|
"csv-parse": "^5.5.3",
|
66
66
|
"ethers": "npm:@sentio/ethers@6.12.2",
|
67
|
-
"fuels": "^0.
|
67
|
+
"fuels": "^0.89.2",
|
68
68
|
"js-sha3": "^0.9.3",
|
69
69
|
"lru-cache": "^10.2.0",
|
70
70
|
"mkdirp": "^1.0.4",
|
@@ -82,8 +82,8 @@
|
|
82
82
|
"typedoc": "^0.25.7",
|
83
83
|
"utility-types": "^3.11.0",
|
84
84
|
"yaml": "^2.3.4",
|
85
|
-
"@sentio/
|
86
|
-
"@sentio/
|
85
|
+
"@sentio/protos": "2.39.3-rc.8",
|
86
|
+
"@sentio/runtime": "^2.39.3-rc.8"
|
87
87
|
},
|
88
88
|
"peerDependencies": {
|
89
89
|
"tsup": "npm:@sentio/tsup@^6.7.2"
|
@@ -5,6 +5,7 @@ import { getRpcEndpoint } from './network.js'
|
|
5
5
|
import { decodeFuelTransaction, DEFAULT_FUEL_FETCH_CONFIG, FuelFetchConfig, FuelTransaction } from './transaction.js'
|
6
6
|
import { FuelContext } from './context.js'
|
7
7
|
import { FuelProcessorConfig } from './fuel-processor.js'
|
8
|
+
import { mergeProcessResults } from '@sentio/runtime'
|
8
9
|
|
9
10
|
type GlobalFuelProcessorConfig = Omit<FuelProcessorConfig, 'address' | 'abi'>
|
10
11
|
|
@@ -32,7 +33,13 @@ export class FuelGlobalProcessor implements FuelBaseProcessor<GlobalFuelProcesso
|
|
32
33
|
) {
|
33
34
|
const callHandler = {
|
34
35
|
handler: async (call: Data_FuelCall) => {
|
35
|
-
|
36
|
+
let tx: FuelTransaction
|
37
|
+
try {
|
38
|
+
tx = decodeFuelTransaction(call.transaction, this.provider)
|
39
|
+
} catch (e) {
|
40
|
+
console.error('error decoding transaction', e)
|
41
|
+
return mergeProcessResults([])
|
42
|
+
}
|
36
43
|
const ctx = new FuelContext(this.config.chainId, '*', this.config.name ?? '*', tx)
|
37
44
|
await handler(tx, ctx)
|
38
45
|
return ctx.stopAndGetResult()
|
package/src/fuel/transaction.ts
CHANGED
@@ -30,9 +30,9 @@ export type FuelTransaction = TransactionSummary & {
|
|
30
30
|
sender?: string
|
31
31
|
}
|
32
32
|
|
33
|
-
function findSenderFromInputs(inputs: Input[] | undefined): string | undefined {
|
33
|
+
function findSenderFromInputs(inputs: Input[] | undefined, baseAssetId: string): string | undefined {
|
34
34
|
for (const input of inputs || []) {
|
35
|
-
if (input.type == InputType.Coin) {
|
35
|
+
if (input.type == InputType.Coin && input.assetId == baseAssetId) {
|
36
36
|
return input.owner
|
37
37
|
}
|
38
38
|
}
|
@@ -41,9 +41,10 @@ function findSenderFromInputs(inputs: Input[] | undefined): string | undefined {
|
|
41
41
|
|
42
42
|
export function decodeFuelTransaction(gqlTransaction: any, provider: Provider): FuelTransaction {
|
43
43
|
const rawPayload = arrayify(gqlTransaction.rawPayload)
|
44
|
+
const receipts = gqlTransaction?.status.receipts?.map(processGqlReceipt) || []
|
44
45
|
|
45
46
|
const [decodedTransaction] = new TransactionCoder().decode(rawPayload, 0)
|
46
|
-
const { gasCosts, feeParameters, txParameters } = provider.getChain().consensusParameters
|
47
|
+
const { gasCosts, feeParameters, txParameters, baseAssetId } = provider.getChain().consensusParameters
|
47
48
|
const blockNumber = gqlTransaction.status?.block?.header?.height
|
48
49
|
const { gasPriceFactor, gasPerByte } = feeParameters
|
49
50
|
const { maxInputs, maxGasPerTx } = txParameters
|
@@ -54,7 +55,7 @@ export function decodeFuelTransaction(gqlTransaction: any, provider: Provider):
|
|
54
55
|
return {
|
55
56
|
...assembleTransactionSummary({
|
56
57
|
id: gqlTransaction.id,
|
57
|
-
receipts
|
58
|
+
receipts,
|
58
59
|
transaction: decodedTransaction,
|
59
60
|
transactionBytes: rawPayload,
|
60
61
|
gqlTransactionStatus,
|
@@ -63,10 +64,11 @@ export function decodeFuelTransaction(gqlTransaction: any, provider: Provider):
|
|
63
64
|
maxInputs,
|
64
65
|
gasCosts,
|
65
66
|
gasPrice: bn(gqlTransaction.gasPrice),
|
66
|
-
maxGasPerTx
|
67
|
+
maxGasPerTx,
|
68
|
+
baseAssetId
|
67
69
|
}),
|
68
70
|
blockNumber,
|
69
|
-
sender: findSenderFromInputs(decodedTransaction.inputs)
|
71
|
+
sender: findSenderFromInputs(decodedTransaction.inputs, baseAssetId)
|
70
72
|
}
|
71
73
|
}
|
72
74
|
|
@@ -134,6 +136,6 @@ export async function decodeFuelTransactionWithAbi(
|
|
134
136
|
...summary,
|
135
137
|
blockNumber,
|
136
138
|
logs,
|
137
|
-
sender: findSenderFromInputs(decodedTransaction.inputs)
|
139
|
+
sender: findSenderFromInputs(decodedTransaction.inputs, provider.getChain().consensusParameters.baseAssetId)
|
138
140
|
}
|
139
141
|
}
|