@subsquid/fuel-normalization 0.0.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/lib/data.d.ts +212 -0
- package/lib/data.d.ts.map +1 -0
- package/lib/data.js +3 -0
- package/lib/data.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +19 -0
- package/lib/index.js.map +1 -0
- package/lib/mapping.d.ts +4 -0
- package/lib/mapping.d.ts.map +1 -0
- package/lib/mapping.js +341 -0
- package/lib/mapping.js.map +1 -0
- package/package.json +30 -0
- package/src/data.ts +261 -0
- package/src/index.ts +2 -0
- package/src/mapping.ts +372 -0
package/lib/data.d.ts
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
export type Bytes = string;
|
|
2
|
+
export interface BlockHeader {
|
|
3
|
+
hash: Bytes;
|
|
4
|
+
height: number;
|
|
5
|
+
daHeight: bigint;
|
|
6
|
+
transactionsRoot: Bytes;
|
|
7
|
+
transactionsCount: bigint;
|
|
8
|
+
messageReceiptRoot: Bytes;
|
|
9
|
+
messageReceiptCount: bigint;
|
|
10
|
+
prevRoot: Bytes;
|
|
11
|
+
time: bigint;
|
|
12
|
+
applicationHash: Bytes;
|
|
13
|
+
}
|
|
14
|
+
export interface Policies {
|
|
15
|
+
gasPrice?: bigint;
|
|
16
|
+
witnessLimit?: bigint;
|
|
17
|
+
maturity?: number;
|
|
18
|
+
maxFee?: bigint;
|
|
19
|
+
}
|
|
20
|
+
export interface ProgramState {
|
|
21
|
+
returnType: 'RETURN' | 'RETURN_DATA' | 'REVERT';
|
|
22
|
+
data: Bytes;
|
|
23
|
+
}
|
|
24
|
+
export interface SubmittedStatus {
|
|
25
|
+
type: 'SubmittedStatus';
|
|
26
|
+
time: bigint;
|
|
27
|
+
}
|
|
28
|
+
export interface SuccessStatus {
|
|
29
|
+
type: 'SuccessStatus';
|
|
30
|
+
transactionId: Bytes;
|
|
31
|
+
time: bigint;
|
|
32
|
+
programState?: ProgramState;
|
|
33
|
+
}
|
|
34
|
+
export interface SqueezedOutStatus {
|
|
35
|
+
type: 'SqueezedOutStatus';
|
|
36
|
+
reason: string;
|
|
37
|
+
}
|
|
38
|
+
export interface FailureStatus {
|
|
39
|
+
type: 'FailureStatus';
|
|
40
|
+
transactionId: Bytes;
|
|
41
|
+
time: bigint;
|
|
42
|
+
reason: string;
|
|
43
|
+
programState?: ProgramState;
|
|
44
|
+
}
|
|
45
|
+
export type Status = SubmittedStatus | SuccessStatus | SqueezedOutStatus | FailureStatus;
|
|
46
|
+
export type TransactionType = 'Script' | 'Create' | 'Mint';
|
|
47
|
+
export interface Transaction {
|
|
48
|
+
index: number;
|
|
49
|
+
hash: Bytes;
|
|
50
|
+
inputAssetIds?: Bytes[];
|
|
51
|
+
inputContracts?: Bytes[];
|
|
52
|
+
inputContract?: {
|
|
53
|
+
utxoId: Bytes;
|
|
54
|
+
balanceRoot: Bytes;
|
|
55
|
+
stateRoot: Bytes;
|
|
56
|
+
txPointer: string;
|
|
57
|
+
contract: Bytes;
|
|
58
|
+
};
|
|
59
|
+
policies?: Policies;
|
|
60
|
+
gasPrice?: bigint;
|
|
61
|
+
scriptGasLimit?: bigint;
|
|
62
|
+
maturity?: number;
|
|
63
|
+
mintAmount?: bigint;
|
|
64
|
+
mintAssetId?: Bytes;
|
|
65
|
+
txPointer?: string;
|
|
66
|
+
isScript: boolean;
|
|
67
|
+
isCreate: boolean;
|
|
68
|
+
isMint: boolean;
|
|
69
|
+
type: TransactionType;
|
|
70
|
+
outputContract?: {
|
|
71
|
+
inputIndex: number;
|
|
72
|
+
balanceRoot: Bytes;
|
|
73
|
+
stateRoot: Bytes;
|
|
74
|
+
};
|
|
75
|
+
witnesses?: Bytes[];
|
|
76
|
+
receiptsRoot?: Bytes;
|
|
77
|
+
status: Status;
|
|
78
|
+
script?: Bytes;
|
|
79
|
+
scriptData?: Bytes;
|
|
80
|
+
bytecodeWitnessIndex?: number;
|
|
81
|
+
bytecodeLength?: bigint;
|
|
82
|
+
salt?: Bytes;
|
|
83
|
+
storageSlots?: Bytes[];
|
|
84
|
+
rawPayload?: Bytes;
|
|
85
|
+
}
|
|
86
|
+
export interface InputCoin {
|
|
87
|
+
type: 'InputCoin';
|
|
88
|
+
index: number;
|
|
89
|
+
transactionIndex: number;
|
|
90
|
+
utxoId: Bytes;
|
|
91
|
+
owner: Bytes;
|
|
92
|
+
amount: bigint;
|
|
93
|
+
assetId: Bytes;
|
|
94
|
+
txPointer: string;
|
|
95
|
+
witnessIndex: number;
|
|
96
|
+
maturity: number;
|
|
97
|
+
predicateGasUsed: bigint;
|
|
98
|
+
predicate: Bytes;
|
|
99
|
+
predicateData: Bytes;
|
|
100
|
+
}
|
|
101
|
+
export interface InputContract {
|
|
102
|
+
type: 'InputContract';
|
|
103
|
+
index: number;
|
|
104
|
+
transactionIndex: number;
|
|
105
|
+
utxoId: Bytes;
|
|
106
|
+
balanceRoot: Bytes;
|
|
107
|
+
stateRoot: Bytes;
|
|
108
|
+
txPointer: string;
|
|
109
|
+
contract: Bytes;
|
|
110
|
+
}
|
|
111
|
+
export interface InputMessage {
|
|
112
|
+
type: 'InputMessage';
|
|
113
|
+
index: number;
|
|
114
|
+
transactionIndex: number;
|
|
115
|
+
sender: Bytes;
|
|
116
|
+
recipient: Bytes;
|
|
117
|
+
amount: bigint;
|
|
118
|
+
nonce: Bytes;
|
|
119
|
+
witnessIndex: number;
|
|
120
|
+
predicateGasUsed: bigint;
|
|
121
|
+
data: Bytes;
|
|
122
|
+
predicate: Bytes;
|
|
123
|
+
predicateData: Bytes;
|
|
124
|
+
}
|
|
125
|
+
export type InputType = 'InputCoin' | 'InputContract' | 'InputMessage';
|
|
126
|
+
export type TransactionInput = InputCoin | InputContract | InputMessage;
|
|
127
|
+
export interface CoinOutput {
|
|
128
|
+
type: 'CoinOutput';
|
|
129
|
+
index: number;
|
|
130
|
+
transactionIndex: number;
|
|
131
|
+
to: Bytes;
|
|
132
|
+
amount: bigint;
|
|
133
|
+
assetId: Bytes;
|
|
134
|
+
}
|
|
135
|
+
export interface ContractOutput {
|
|
136
|
+
type: 'ContractOutput';
|
|
137
|
+
index: number;
|
|
138
|
+
transactionIndex: number;
|
|
139
|
+
inputIndex: number;
|
|
140
|
+
balanceRoot: Bytes;
|
|
141
|
+
stateRoot: Bytes;
|
|
142
|
+
}
|
|
143
|
+
export interface ChangeOutput {
|
|
144
|
+
type: 'ChangeOutput';
|
|
145
|
+
index: number;
|
|
146
|
+
transactionIndex: number;
|
|
147
|
+
to: Bytes;
|
|
148
|
+
amount: bigint;
|
|
149
|
+
assetId: Bytes;
|
|
150
|
+
}
|
|
151
|
+
export interface VariableOutput {
|
|
152
|
+
type: 'VariableOutput';
|
|
153
|
+
index: number;
|
|
154
|
+
transactionIndex: number;
|
|
155
|
+
to: Bytes;
|
|
156
|
+
amount: bigint;
|
|
157
|
+
assetId: Bytes;
|
|
158
|
+
}
|
|
159
|
+
export interface ContractCreated {
|
|
160
|
+
type: 'ContractCreated';
|
|
161
|
+
index: number;
|
|
162
|
+
transactionIndex: number;
|
|
163
|
+
contract: {
|
|
164
|
+
id: Bytes;
|
|
165
|
+
bytecode: Bytes;
|
|
166
|
+
salt: Bytes;
|
|
167
|
+
};
|
|
168
|
+
stateRoot: Bytes;
|
|
169
|
+
}
|
|
170
|
+
export type OutputType = 'CoinOutput' | 'ContractOutput' | 'ChangeOutput' | 'VariableOutput' | 'ContractCreated';
|
|
171
|
+
export type TransactionOutput = CoinOutput | ContractOutput | ChangeOutput | VariableOutput | ContractCreated;
|
|
172
|
+
export type ReceiptType = 'CALL' | 'RETURN' | 'RETURN_DATA' | 'PANIC' | 'REVERT' | 'LOG' | 'LOG_DATA' | 'TRANSFER' | 'TRANSFER_OUT' | 'SCRIPT_RESULT' | 'MESSAGE_OUT' | 'MINT' | 'BURN';
|
|
173
|
+
export interface Receipt {
|
|
174
|
+
index: number;
|
|
175
|
+
transactionIndex: number;
|
|
176
|
+
contract?: Bytes;
|
|
177
|
+
pc?: bigint;
|
|
178
|
+
is?: bigint;
|
|
179
|
+
to?: Bytes;
|
|
180
|
+
toAddress?: Bytes;
|
|
181
|
+
amount?: bigint;
|
|
182
|
+
assetId?: Bytes;
|
|
183
|
+
gas?: bigint;
|
|
184
|
+
param1?: bigint;
|
|
185
|
+
param2?: bigint;
|
|
186
|
+
val?: bigint;
|
|
187
|
+
ptr?: bigint;
|
|
188
|
+
digest?: Bytes;
|
|
189
|
+
reason?: bigint;
|
|
190
|
+
ra?: bigint;
|
|
191
|
+
rb?: bigint;
|
|
192
|
+
rc?: bigint;
|
|
193
|
+
rd?: bigint;
|
|
194
|
+
len?: bigint;
|
|
195
|
+
receiptType: ReceiptType;
|
|
196
|
+
result?: bigint;
|
|
197
|
+
gasUsed?: bigint;
|
|
198
|
+
data?: Bytes;
|
|
199
|
+
sender?: Bytes;
|
|
200
|
+
recipient?: Bytes;
|
|
201
|
+
nonce?: Bytes;
|
|
202
|
+
contractId?: Bytes;
|
|
203
|
+
subId?: Bytes;
|
|
204
|
+
}
|
|
205
|
+
export interface Block {
|
|
206
|
+
header: BlockHeader;
|
|
207
|
+
transactions: Transaction[];
|
|
208
|
+
inputs: TransactionInput[];
|
|
209
|
+
outputs: TransactionOutput[];
|
|
210
|
+
receipts: Receipt[];
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
|
package/lib/data.js
ADDED
package/lib/data.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":""}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./data"), exports);
|
|
18
|
+
__exportStar(require("./mapping"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,4CAAyB"}
|
package/lib/mapping.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,kCAAkC,CAAA;AAEvD,OAAO,EAQH,KAAK,EAER,MAAM,QAAQ,CAAA;AA4Tf,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,GAAG,KAAK,CA0CrD"}
|
package/lib/mapping.js
ADDED
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.mapRawBlock = void 0;
|
|
7
|
+
const util_internal_1 = require("@subsquid/util-internal");
|
|
8
|
+
const assert_1 = __importDefault(require("assert"));
|
|
9
|
+
function toInteger(val) {
|
|
10
|
+
let int = parseInt(val);
|
|
11
|
+
(0, assert_1.default)(Number.isSafeInteger(int));
|
|
12
|
+
return int;
|
|
13
|
+
}
|
|
14
|
+
function isEmpty(obj) {
|
|
15
|
+
for (let _ in obj) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
function mapRawTransactionStatus(raw) {
|
|
21
|
+
let programState;
|
|
22
|
+
switch (raw.__typename) {
|
|
23
|
+
case 'FailureStatus':
|
|
24
|
+
if (raw.programState) {
|
|
25
|
+
programState = {
|
|
26
|
+
data: raw.programState.data,
|
|
27
|
+
returnType: raw.programState.returnType
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
type: 'FailureStatus',
|
|
32
|
+
transactionId: raw.transactionId,
|
|
33
|
+
time: BigInt(raw.time),
|
|
34
|
+
reason: raw.reason,
|
|
35
|
+
programState
|
|
36
|
+
};
|
|
37
|
+
case 'SqueezedOutStatus':
|
|
38
|
+
return {
|
|
39
|
+
type: 'SqueezedOutStatus',
|
|
40
|
+
reason: raw.reason
|
|
41
|
+
};
|
|
42
|
+
case 'SubmittedStatus':
|
|
43
|
+
return {
|
|
44
|
+
type: 'SubmittedStatus',
|
|
45
|
+
time: BigInt(raw.time)
|
|
46
|
+
};
|
|
47
|
+
case 'SuccessStatus':
|
|
48
|
+
if (raw.programState) {
|
|
49
|
+
programState = {
|
|
50
|
+
data: raw.programState.data,
|
|
51
|
+
returnType: raw.programState.returnType
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
type: 'SuccessStatus',
|
|
56
|
+
time: BigInt(raw.time),
|
|
57
|
+
transactionId: raw.transactionId,
|
|
58
|
+
programState,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function mapRawPolicies(raw) {
|
|
63
|
+
let policies = {};
|
|
64
|
+
if (raw?.gasPrice) {
|
|
65
|
+
policies.gasPrice = BigInt(raw.gasPrice);
|
|
66
|
+
}
|
|
67
|
+
if (raw?.maturity) {
|
|
68
|
+
policies.maturity = toInteger(raw.maturity);
|
|
69
|
+
}
|
|
70
|
+
if (raw?.maxFee) {
|
|
71
|
+
policies.maxFee = BigInt(raw.maxFee);
|
|
72
|
+
}
|
|
73
|
+
if (raw?.witnessLimit) {
|
|
74
|
+
policies.witnessLimit = BigInt(raw.witnessLimit);
|
|
75
|
+
}
|
|
76
|
+
return isEmpty(policies) ? undefined : policies;
|
|
77
|
+
}
|
|
78
|
+
function getTransactionType(raw) {
|
|
79
|
+
if (raw.isScript) {
|
|
80
|
+
return 'Script';
|
|
81
|
+
}
|
|
82
|
+
else if (raw.isCreate) {
|
|
83
|
+
return 'Create';
|
|
84
|
+
}
|
|
85
|
+
else if (raw.isMint) {
|
|
86
|
+
return 'Mint';
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw (0, util_internal_1.unexpectedCase)();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function mapRawTransaction(raw, transactionIndex) {
|
|
93
|
+
let transaction = {
|
|
94
|
+
index: transactionIndex,
|
|
95
|
+
hash: raw.id,
|
|
96
|
+
isCreate: raw.isCreate,
|
|
97
|
+
isMint: raw.isMint,
|
|
98
|
+
isScript: raw.isScript,
|
|
99
|
+
type: getTransactionType(raw),
|
|
100
|
+
status: mapRawTransactionStatus(raw.status),
|
|
101
|
+
policies: mapRawPolicies(raw.policies),
|
|
102
|
+
salt: raw.salt ?? undefined,
|
|
103
|
+
storageSlots: raw.storageSlots ?? undefined,
|
|
104
|
+
rawPayload: raw.rawPayload ?? undefined,
|
|
105
|
+
mintAssetId: raw.mintAssetId ?? undefined,
|
|
106
|
+
txPointer: raw.txPointer ?? undefined,
|
|
107
|
+
outputContract: raw.outputContract ?? undefined,
|
|
108
|
+
witnesses: raw.witnesses ?? undefined,
|
|
109
|
+
receiptsRoot: raw.receiptsRoot ?? undefined,
|
|
110
|
+
script: raw.script ?? undefined,
|
|
111
|
+
scriptData: raw.scriptData ?? undefined,
|
|
112
|
+
bytecodeWitnessIndex: raw.bytecodeWitnessIndex ?? undefined,
|
|
113
|
+
inputAssetIds: raw.inputAssetIds ?? undefined,
|
|
114
|
+
inputContracts: raw.inputContracts?.map(i => i.id),
|
|
115
|
+
};
|
|
116
|
+
if (raw.inputContract) {
|
|
117
|
+
transaction.inputContract = {
|
|
118
|
+
utxoId: raw.inputContract.utxoId,
|
|
119
|
+
balanceRoot: raw.inputContract.balanceRoot,
|
|
120
|
+
stateRoot: raw.inputContract.stateRoot,
|
|
121
|
+
txPointer: raw.inputContract.txPointer,
|
|
122
|
+
contract: raw.inputContract.contract.id,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (raw.gasPrice) {
|
|
126
|
+
transaction.gasPrice = BigInt(raw.gasPrice);
|
|
127
|
+
}
|
|
128
|
+
if (raw.scriptGasLimit) {
|
|
129
|
+
transaction.scriptGasLimit = BigInt(raw.scriptGasLimit);
|
|
130
|
+
}
|
|
131
|
+
if (raw.maturity) {
|
|
132
|
+
transaction.maturity = toInteger(raw.maturity);
|
|
133
|
+
}
|
|
134
|
+
if (raw.mintAmount) {
|
|
135
|
+
transaction.mintAmount = BigInt(raw.mintAmount);
|
|
136
|
+
}
|
|
137
|
+
if (raw.bytecodeLength) {
|
|
138
|
+
transaction.bytecodeLength = BigInt(raw.bytecodeLength);
|
|
139
|
+
}
|
|
140
|
+
return transaction;
|
|
141
|
+
}
|
|
142
|
+
function mapRawInput(raw, transactionIndex, index) {
|
|
143
|
+
switch (raw.__typename) {
|
|
144
|
+
case 'InputCoin':
|
|
145
|
+
return {
|
|
146
|
+
type: 'InputCoin',
|
|
147
|
+
index,
|
|
148
|
+
transactionIndex,
|
|
149
|
+
utxoId: raw.utxoId,
|
|
150
|
+
owner: raw.owner,
|
|
151
|
+
amount: BigInt(raw.amount),
|
|
152
|
+
assetId: raw.assetId,
|
|
153
|
+
txPointer: raw.txPointer,
|
|
154
|
+
witnessIndex: raw.witnessIndex,
|
|
155
|
+
maturity: toInteger(raw.maturity),
|
|
156
|
+
predicateGasUsed: BigInt(raw.predicateGasUsed),
|
|
157
|
+
predicate: raw.predicate,
|
|
158
|
+
predicateData: raw.predicateData,
|
|
159
|
+
};
|
|
160
|
+
case 'InputContract':
|
|
161
|
+
return {
|
|
162
|
+
type: 'InputContract',
|
|
163
|
+
index,
|
|
164
|
+
transactionIndex,
|
|
165
|
+
utxoId: raw.utxoId,
|
|
166
|
+
balanceRoot: raw.balanceRoot,
|
|
167
|
+
stateRoot: raw.stateRoot,
|
|
168
|
+
txPointer: raw.txPointer,
|
|
169
|
+
contract: raw.contract.id
|
|
170
|
+
};
|
|
171
|
+
case 'InputMessage':
|
|
172
|
+
return {
|
|
173
|
+
type: 'InputMessage',
|
|
174
|
+
index,
|
|
175
|
+
transactionIndex,
|
|
176
|
+
sender: raw.sender,
|
|
177
|
+
recipient: raw.recipient,
|
|
178
|
+
amount: BigInt(raw.amount),
|
|
179
|
+
nonce: raw.nonce,
|
|
180
|
+
witnessIndex: raw.witnessIndex,
|
|
181
|
+
predicateGasUsed: BigInt(raw.predicateGasUsed),
|
|
182
|
+
data: raw.data,
|
|
183
|
+
predicate: raw.predicate,
|
|
184
|
+
predicateData: raw.predicateData,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function mapRawOutput(raw, transactionIndex, index) {
|
|
189
|
+
switch (raw.__typename) {
|
|
190
|
+
case 'ChangeOutput':
|
|
191
|
+
return {
|
|
192
|
+
type: 'ChangeOutput',
|
|
193
|
+
index,
|
|
194
|
+
transactionIndex,
|
|
195
|
+
to: raw.to,
|
|
196
|
+
amount: BigInt(raw.amount),
|
|
197
|
+
assetId: raw.assetId,
|
|
198
|
+
};
|
|
199
|
+
case 'CoinOutput':
|
|
200
|
+
return {
|
|
201
|
+
type: 'CoinOutput',
|
|
202
|
+
index,
|
|
203
|
+
transactionIndex,
|
|
204
|
+
to: raw.to,
|
|
205
|
+
amount: BigInt(raw.amount),
|
|
206
|
+
assetId: raw.assetId,
|
|
207
|
+
};
|
|
208
|
+
case 'ContractCreated':
|
|
209
|
+
return {
|
|
210
|
+
type: 'ContractCreated',
|
|
211
|
+
index,
|
|
212
|
+
transactionIndex,
|
|
213
|
+
contract: raw.contract,
|
|
214
|
+
stateRoot: raw.stateRoot
|
|
215
|
+
};
|
|
216
|
+
case 'ContractOutput':
|
|
217
|
+
return {
|
|
218
|
+
type: 'ContractOutput',
|
|
219
|
+
index,
|
|
220
|
+
transactionIndex,
|
|
221
|
+
inputIndex: raw.inputIndex,
|
|
222
|
+
balanceRoot: raw.balanceRoot,
|
|
223
|
+
stateRoot: raw.stateRoot
|
|
224
|
+
};
|
|
225
|
+
case 'VariableOutput':
|
|
226
|
+
return {
|
|
227
|
+
type: 'VariableOutput',
|
|
228
|
+
index,
|
|
229
|
+
transactionIndex,
|
|
230
|
+
to: raw.to,
|
|
231
|
+
amount: BigInt(raw.amount),
|
|
232
|
+
assetId: raw.assetId
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
function mapRawReceipt(raw, transactionIndex, index) {
|
|
237
|
+
let receipt = {
|
|
238
|
+
index,
|
|
239
|
+
transactionIndex,
|
|
240
|
+
receiptType: raw.receiptType,
|
|
241
|
+
contract: raw.contract?.id,
|
|
242
|
+
to: raw.to?.id,
|
|
243
|
+
toAddress: raw.toAddress ?? undefined,
|
|
244
|
+
assetId: raw.assetId ?? undefined,
|
|
245
|
+
digest: raw.digest ?? undefined,
|
|
246
|
+
data: raw.data ?? undefined,
|
|
247
|
+
sender: raw.sender ?? undefined,
|
|
248
|
+
recipient: raw.recipient ?? undefined,
|
|
249
|
+
nonce: raw.nonce ?? undefined,
|
|
250
|
+
contractId: raw.contractId ?? undefined,
|
|
251
|
+
subId: raw.subId ?? undefined,
|
|
252
|
+
};
|
|
253
|
+
if (raw.pc) {
|
|
254
|
+
receipt.pc = BigInt(raw.pc);
|
|
255
|
+
}
|
|
256
|
+
if (raw.is) {
|
|
257
|
+
receipt.is = BigInt(raw.is);
|
|
258
|
+
}
|
|
259
|
+
if (raw.amount) {
|
|
260
|
+
receipt.amount = BigInt(raw.amount);
|
|
261
|
+
}
|
|
262
|
+
if (raw.gas) {
|
|
263
|
+
receipt.gas = BigInt(raw.gas);
|
|
264
|
+
}
|
|
265
|
+
if (raw.param1) {
|
|
266
|
+
receipt.param1 = BigInt(raw.param1);
|
|
267
|
+
}
|
|
268
|
+
if (raw.param2) {
|
|
269
|
+
receipt.param2 = BigInt(raw.param2);
|
|
270
|
+
}
|
|
271
|
+
if (raw.val) {
|
|
272
|
+
receipt.val = BigInt(raw.val);
|
|
273
|
+
}
|
|
274
|
+
if (raw.ptr) {
|
|
275
|
+
receipt.val = BigInt(raw.ptr);
|
|
276
|
+
}
|
|
277
|
+
if (raw.reason) {
|
|
278
|
+
receipt.reason = BigInt(raw.reason);
|
|
279
|
+
}
|
|
280
|
+
if (raw.ra) {
|
|
281
|
+
receipt.ra = BigInt(raw.ra);
|
|
282
|
+
}
|
|
283
|
+
if (raw.rb) {
|
|
284
|
+
receipt.rb = BigInt(raw.rb);
|
|
285
|
+
}
|
|
286
|
+
if (raw.rc) {
|
|
287
|
+
receipt.rc = BigInt(raw.rc);
|
|
288
|
+
}
|
|
289
|
+
if (raw.rd) {
|
|
290
|
+
receipt.rd = BigInt(raw.rd);
|
|
291
|
+
}
|
|
292
|
+
if (raw.len) {
|
|
293
|
+
receipt.len = BigInt(raw.len);
|
|
294
|
+
}
|
|
295
|
+
if (raw.result) {
|
|
296
|
+
receipt.result = BigInt(raw.result);
|
|
297
|
+
}
|
|
298
|
+
if (raw.gasUsed) {
|
|
299
|
+
receipt.gasUsed = BigInt(raw.gasUsed);
|
|
300
|
+
}
|
|
301
|
+
return receipt;
|
|
302
|
+
}
|
|
303
|
+
function mapRawBlock(raw) {
|
|
304
|
+
let header = {
|
|
305
|
+
hash: raw.block.header.id,
|
|
306
|
+
height: toInteger(raw.block.header.height),
|
|
307
|
+
daHeight: BigInt(raw.block.header.daHeight),
|
|
308
|
+
transactionsRoot: raw.block.header.transactionsRoot,
|
|
309
|
+
transactionsCount: BigInt(raw.block.header.transactionsCount),
|
|
310
|
+
messageReceiptRoot: raw.block.header.messageReceiptRoot,
|
|
311
|
+
messageReceiptCount: BigInt(raw.block.header.messageReceiptCount),
|
|
312
|
+
prevRoot: raw.block.header.prevRoot,
|
|
313
|
+
time: BigInt(raw.block.header.time),
|
|
314
|
+
applicationHash: raw.block.header.applicationHash,
|
|
315
|
+
};
|
|
316
|
+
let transactions = [];
|
|
317
|
+
let inputs = [];
|
|
318
|
+
let outputs = [];
|
|
319
|
+
let receipts = [];
|
|
320
|
+
raw.block.transactions.forEach((tx, index) => {
|
|
321
|
+
transactions.push(mapRawTransaction(tx, index));
|
|
322
|
+
tx.inputs?.forEach((input, inputIndex) => {
|
|
323
|
+
inputs.push(mapRawInput(input, index, inputIndex));
|
|
324
|
+
});
|
|
325
|
+
tx.outputs?.forEach((output, outputIndex) => {
|
|
326
|
+
outputs.push(mapRawOutput(output, index, outputIndex));
|
|
327
|
+
});
|
|
328
|
+
tx.receipts?.forEach((receipt, receiptIndex) => {
|
|
329
|
+
receipts.push(mapRawReceipt(receipt, index, receiptIndex));
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
return {
|
|
333
|
+
header,
|
|
334
|
+
transactions,
|
|
335
|
+
inputs,
|
|
336
|
+
outputs,
|
|
337
|
+
receipts,
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
exports.mapRawBlock = mapRawBlock;
|
|
341
|
+
//# sourceMappingURL=mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapping.js","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@subsquid/fuel-normalization",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Fuel data model",
|
|
5
|
+
"license": "GPL-3.0-or-later",
|
|
6
|
+
"repository": "git@github.com:subsquid/squid.git",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"lib",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
14
|
+
"main": "lib/index.js",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@subsquid/fuel-data": "^0.0.1",
|
|
17
|
+
"@subsquid/logger": "^1.3.3",
|
|
18
|
+
"@subsquid/util-internal": "^3.2.0",
|
|
19
|
+
"@subsquid/util-internal-ingest-tools": "^1.1.2",
|
|
20
|
+
"@subsquid/util-internal-range": "^0.3.0",
|
|
21
|
+
"@subsquid/util-internal-validation": "^0.5.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^18.18.14",
|
|
25
|
+
"typescript": "~5.3.2"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "rm -rf lib && tsc"
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/data.ts
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
export type Bytes = string
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export interface BlockHeader {
|
|
5
|
+
hash: Bytes
|
|
6
|
+
height: number
|
|
7
|
+
daHeight: bigint
|
|
8
|
+
transactionsRoot: Bytes
|
|
9
|
+
transactionsCount: bigint
|
|
10
|
+
messageReceiptRoot: Bytes
|
|
11
|
+
messageReceiptCount: bigint
|
|
12
|
+
prevRoot: Bytes
|
|
13
|
+
time: bigint
|
|
14
|
+
applicationHash: Bytes
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
export interface Policies {
|
|
19
|
+
gasPrice?: bigint
|
|
20
|
+
witnessLimit?: bigint
|
|
21
|
+
maturity?: number
|
|
22
|
+
maxFee?: bigint
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
export interface ProgramState {
|
|
27
|
+
returnType: 'RETURN' | 'RETURN_DATA' | 'REVERT'
|
|
28
|
+
data: Bytes
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
export interface SubmittedStatus {
|
|
33
|
+
type: 'SubmittedStatus'
|
|
34
|
+
time: bigint
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
export interface SuccessStatus {
|
|
39
|
+
type: 'SuccessStatus'
|
|
40
|
+
transactionId: Bytes
|
|
41
|
+
time: bigint
|
|
42
|
+
programState?: ProgramState
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
export interface SqueezedOutStatus {
|
|
47
|
+
type: 'SqueezedOutStatus'
|
|
48
|
+
reason: string
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
export interface FailureStatus {
|
|
53
|
+
type: 'FailureStatus'
|
|
54
|
+
transactionId: Bytes
|
|
55
|
+
time: bigint
|
|
56
|
+
reason: string
|
|
57
|
+
programState?: ProgramState
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
export type Status = SubmittedStatus | SuccessStatus | SqueezedOutStatus | FailureStatus
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
export type TransactionType = 'Script' | 'Create' | 'Mint'
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
export interface Transaction {
|
|
68
|
+
index: number
|
|
69
|
+
hash: Bytes
|
|
70
|
+
inputAssetIds?: Bytes[]
|
|
71
|
+
inputContracts?: Bytes[]
|
|
72
|
+
inputContract?: {
|
|
73
|
+
utxoId: Bytes
|
|
74
|
+
balanceRoot: Bytes
|
|
75
|
+
stateRoot: Bytes
|
|
76
|
+
txPointer: string
|
|
77
|
+
contract: Bytes
|
|
78
|
+
}
|
|
79
|
+
policies?: Policies
|
|
80
|
+
gasPrice?: bigint
|
|
81
|
+
scriptGasLimit?: bigint
|
|
82
|
+
maturity?: number
|
|
83
|
+
mintAmount?: bigint
|
|
84
|
+
mintAssetId?: Bytes
|
|
85
|
+
txPointer?: string
|
|
86
|
+
isScript: boolean
|
|
87
|
+
isCreate: boolean
|
|
88
|
+
isMint: boolean
|
|
89
|
+
type: TransactionType
|
|
90
|
+
outputContract?: {
|
|
91
|
+
inputIndex: number
|
|
92
|
+
balanceRoot: Bytes
|
|
93
|
+
stateRoot: Bytes
|
|
94
|
+
}
|
|
95
|
+
witnesses?: Bytes[]
|
|
96
|
+
receiptsRoot?: Bytes
|
|
97
|
+
status: Status
|
|
98
|
+
script?: Bytes
|
|
99
|
+
scriptData?: Bytes
|
|
100
|
+
bytecodeWitnessIndex?: number
|
|
101
|
+
bytecodeLength?: bigint
|
|
102
|
+
salt?: Bytes
|
|
103
|
+
storageSlots?: Bytes[]
|
|
104
|
+
rawPayload?: Bytes
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
export interface InputCoin {
|
|
109
|
+
type: 'InputCoin'
|
|
110
|
+
index: number
|
|
111
|
+
transactionIndex: number
|
|
112
|
+
utxoId: Bytes
|
|
113
|
+
owner: Bytes
|
|
114
|
+
amount: bigint
|
|
115
|
+
assetId: Bytes
|
|
116
|
+
txPointer: string
|
|
117
|
+
witnessIndex: number
|
|
118
|
+
maturity: number
|
|
119
|
+
predicateGasUsed: bigint
|
|
120
|
+
predicate: Bytes
|
|
121
|
+
predicateData: Bytes
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
export interface InputContract {
|
|
126
|
+
type: 'InputContract'
|
|
127
|
+
index: number
|
|
128
|
+
transactionIndex: number
|
|
129
|
+
utxoId: Bytes
|
|
130
|
+
balanceRoot: Bytes
|
|
131
|
+
stateRoot: Bytes
|
|
132
|
+
txPointer: string
|
|
133
|
+
contract: Bytes
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
export interface InputMessage {
|
|
138
|
+
type: 'InputMessage'
|
|
139
|
+
index: number
|
|
140
|
+
transactionIndex: number
|
|
141
|
+
sender: Bytes
|
|
142
|
+
recipient: Bytes
|
|
143
|
+
amount: bigint
|
|
144
|
+
nonce: Bytes
|
|
145
|
+
witnessIndex: number
|
|
146
|
+
predicateGasUsed: bigint
|
|
147
|
+
data: Bytes
|
|
148
|
+
predicate: Bytes
|
|
149
|
+
predicateData: Bytes
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
export type InputType = 'InputCoin' | 'InputContract' | 'InputMessage'
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
export type TransactionInput = InputCoin | InputContract | InputMessage
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
export interface CoinOutput {
|
|
160
|
+
type: 'CoinOutput'
|
|
161
|
+
index: number
|
|
162
|
+
transactionIndex: number
|
|
163
|
+
to: Bytes
|
|
164
|
+
amount: bigint
|
|
165
|
+
assetId: Bytes
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
export interface ContractOutput {
|
|
170
|
+
type: 'ContractOutput'
|
|
171
|
+
index: number
|
|
172
|
+
transactionIndex: number
|
|
173
|
+
inputIndex: number
|
|
174
|
+
balanceRoot: Bytes
|
|
175
|
+
stateRoot: Bytes
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
export interface ChangeOutput {
|
|
180
|
+
type: 'ChangeOutput'
|
|
181
|
+
index: number
|
|
182
|
+
transactionIndex: number
|
|
183
|
+
to: Bytes
|
|
184
|
+
amount: bigint
|
|
185
|
+
assetId: Bytes
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
export interface VariableOutput {
|
|
190
|
+
type: 'VariableOutput'
|
|
191
|
+
index: number
|
|
192
|
+
transactionIndex: number
|
|
193
|
+
to: Bytes
|
|
194
|
+
amount: bigint
|
|
195
|
+
assetId: Bytes
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
export interface ContractCreated {
|
|
200
|
+
type: 'ContractCreated'
|
|
201
|
+
index: number
|
|
202
|
+
transactionIndex: number
|
|
203
|
+
contract: {
|
|
204
|
+
id: Bytes
|
|
205
|
+
bytecode: Bytes
|
|
206
|
+
salt: Bytes
|
|
207
|
+
}
|
|
208
|
+
stateRoot: Bytes
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
export type OutputType = 'CoinOutput' | 'ContractOutput' | 'ChangeOutput' | 'VariableOutput' | 'ContractCreated'
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
export type TransactionOutput = CoinOutput | ContractOutput | ChangeOutput | VariableOutput | ContractCreated
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
export type ReceiptType = 'CALL' | 'RETURN' | 'RETURN_DATA' | 'PANIC' | 'REVERT' | 'LOG' | 'LOG_DATA' | 'TRANSFER' | 'TRANSFER_OUT' | 'SCRIPT_RESULT' | 'MESSAGE_OUT' | 'MINT' | 'BURN'
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
export interface Receipt {
|
|
222
|
+
index: number
|
|
223
|
+
transactionIndex: number
|
|
224
|
+
contract?: Bytes
|
|
225
|
+
pc?: bigint
|
|
226
|
+
is?: bigint
|
|
227
|
+
to?: Bytes
|
|
228
|
+
toAddress?: Bytes
|
|
229
|
+
amount?: bigint
|
|
230
|
+
assetId?: Bytes
|
|
231
|
+
gas?: bigint
|
|
232
|
+
param1?: bigint
|
|
233
|
+
param2?: bigint
|
|
234
|
+
val?: bigint
|
|
235
|
+
ptr?: bigint
|
|
236
|
+
digest?: Bytes
|
|
237
|
+
reason?: bigint
|
|
238
|
+
ra?: bigint
|
|
239
|
+
rb?: bigint
|
|
240
|
+
rc?: bigint
|
|
241
|
+
rd?: bigint
|
|
242
|
+
len?: bigint
|
|
243
|
+
receiptType: ReceiptType
|
|
244
|
+
result?: bigint
|
|
245
|
+
gasUsed?: bigint
|
|
246
|
+
data?: Bytes
|
|
247
|
+
sender?: Bytes
|
|
248
|
+
recipient?: Bytes
|
|
249
|
+
nonce?: Bytes
|
|
250
|
+
contractId?: Bytes
|
|
251
|
+
subId?: Bytes
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
export interface Block {
|
|
256
|
+
header: BlockHeader
|
|
257
|
+
transactions: Transaction[]
|
|
258
|
+
inputs: TransactionInput[]
|
|
259
|
+
outputs: TransactionOutput[]
|
|
260
|
+
receipts: Receipt[]
|
|
261
|
+
}
|
package/src/index.ts
ADDED
package/src/mapping.ts
ADDED
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
import {unexpectedCase} from '@subsquid/util-internal'
|
|
2
|
+
import * as raw from '@subsquid/fuel-data/lib/raw-data'
|
|
3
|
+
import assert from 'assert'
|
|
4
|
+
import {
|
|
5
|
+
Status,
|
|
6
|
+
ProgramState,
|
|
7
|
+
Transaction,
|
|
8
|
+
Policies,
|
|
9
|
+
TransactionInput,
|
|
10
|
+
TransactionOutput,
|
|
11
|
+
Receipt,
|
|
12
|
+
Block,
|
|
13
|
+
BlockHeader
|
|
14
|
+
} from './data'
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
function toInteger(val: string): number {
|
|
18
|
+
let int = parseInt(val)
|
|
19
|
+
assert(Number.isSafeInteger(int))
|
|
20
|
+
return int
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
function isEmpty(obj: object): boolean {
|
|
25
|
+
for (let _ in obj) {
|
|
26
|
+
return false
|
|
27
|
+
}
|
|
28
|
+
return true
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
function mapRawTransactionStatus(raw: raw.TransactionStatus): Status {
|
|
33
|
+
let programState: ProgramState | undefined
|
|
34
|
+
switch (raw.__typename) {
|
|
35
|
+
case 'FailureStatus':
|
|
36
|
+
if (raw.programState) {
|
|
37
|
+
programState = {
|
|
38
|
+
data: raw.programState.data,
|
|
39
|
+
returnType: raw.programState.returnType
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
type: 'FailureStatus',
|
|
44
|
+
transactionId: raw.transactionId,
|
|
45
|
+
time: BigInt(raw.time),
|
|
46
|
+
reason: raw.reason,
|
|
47
|
+
programState
|
|
48
|
+
}
|
|
49
|
+
case 'SqueezedOutStatus':
|
|
50
|
+
return {
|
|
51
|
+
type: 'SqueezedOutStatus',
|
|
52
|
+
reason: raw.reason
|
|
53
|
+
}
|
|
54
|
+
case 'SubmittedStatus':
|
|
55
|
+
return {
|
|
56
|
+
type: 'SubmittedStatus',
|
|
57
|
+
time: BigInt(raw.time)
|
|
58
|
+
}
|
|
59
|
+
case 'SuccessStatus':
|
|
60
|
+
if (raw.programState) {
|
|
61
|
+
programState = {
|
|
62
|
+
data: raw.programState.data,
|
|
63
|
+
returnType: raw.programState.returnType
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
type: 'SuccessStatus',
|
|
68
|
+
time: BigInt(raw.time),
|
|
69
|
+
transactionId: raw.transactionId,
|
|
70
|
+
programState,
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
function mapRawPolicies(raw: raw.Policies | null): Policies | undefined {
|
|
77
|
+
let policies: Policies = {}
|
|
78
|
+
if (raw?.gasPrice) {
|
|
79
|
+
policies.gasPrice = BigInt(raw.gasPrice)
|
|
80
|
+
}
|
|
81
|
+
if (raw?.maturity) {
|
|
82
|
+
policies.maturity = toInteger(raw.maturity)
|
|
83
|
+
}
|
|
84
|
+
if (raw?.maxFee) {
|
|
85
|
+
policies.maxFee = BigInt(raw.maxFee)
|
|
86
|
+
}
|
|
87
|
+
if (raw?.witnessLimit) {
|
|
88
|
+
policies.witnessLimit = BigInt(raw.witnessLimit)
|
|
89
|
+
}
|
|
90
|
+
return isEmpty(policies) ? undefined : policies
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
function getTransactionType(raw: raw.Transaction) {
|
|
95
|
+
if (raw.isScript) {
|
|
96
|
+
return 'Script'
|
|
97
|
+
} else if (raw.isCreate) {
|
|
98
|
+
return 'Create'
|
|
99
|
+
} else if (raw.isMint) {
|
|
100
|
+
return 'Mint'
|
|
101
|
+
} else {
|
|
102
|
+
throw unexpectedCase()
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
function mapRawTransaction(raw: raw.Transaction, transactionIndex: number): Transaction {
|
|
108
|
+
let transaction: Transaction = {
|
|
109
|
+
index: transactionIndex,
|
|
110
|
+
hash: raw.id,
|
|
111
|
+
isCreate: raw.isCreate,
|
|
112
|
+
isMint: raw.isMint,
|
|
113
|
+
isScript: raw.isScript,
|
|
114
|
+
type: getTransactionType(raw),
|
|
115
|
+
status: mapRawTransactionStatus(raw.status),
|
|
116
|
+
policies: mapRawPolicies(raw.policies),
|
|
117
|
+
salt: raw.salt ?? undefined,
|
|
118
|
+
storageSlots: raw.storageSlots ?? undefined,
|
|
119
|
+
rawPayload: raw.rawPayload ?? undefined,
|
|
120
|
+
mintAssetId: raw.mintAssetId ?? undefined,
|
|
121
|
+
txPointer: raw.txPointer ?? undefined,
|
|
122
|
+
outputContract: raw.outputContract ?? undefined,
|
|
123
|
+
witnesses: raw.witnesses ?? undefined,
|
|
124
|
+
receiptsRoot: raw.receiptsRoot ?? undefined,
|
|
125
|
+
script: raw.script ?? undefined,
|
|
126
|
+
scriptData: raw.scriptData ?? undefined,
|
|
127
|
+
bytecodeWitnessIndex: raw.bytecodeWitnessIndex ?? undefined,
|
|
128
|
+
inputAssetIds: raw.inputAssetIds ?? undefined,
|
|
129
|
+
inputContracts: raw.inputContracts?.map(i => i.id),
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
if (raw.inputContract) {
|
|
133
|
+
transaction.inputContract = {
|
|
134
|
+
utxoId: raw.inputContract.utxoId,
|
|
135
|
+
balanceRoot: raw.inputContract.balanceRoot,
|
|
136
|
+
stateRoot: raw.inputContract.stateRoot,
|
|
137
|
+
txPointer: raw.inputContract.txPointer,
|
|
138
|
+
contract: raw.inputContract.contract.id,
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (raw.gasPrice) {
|
|
142
|
+
transaction.gasPrice = BigInt(raw.gasPrice)
|
|
143
|
+
}
|
|
144
|
+
if (raw.scriptGasLimit) {
|
|
145
|
+
transaction.scriptGasLimit = BigInt(raw.scriptGasLimit)
|
|
146
|
+
}
|
|
147
|
+
if (raw.maturity) {
|
|
148
|
+
transaction.maturity = toInteger(raw.maturity)
|
|
149
|
+
}
|
|
150
|
+
if (raw.mintAmount) {
|
|
151
|
+
transaction.mintAmount = BigInt(raw.mintAmount)
|
|
152
|
+
}
|
|
153
|
+
if (raw.bytecodeLength) {
|
|
154
|
+
transaction.bytecodeLength = BigInt(raw.bytecodeLength)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return transaction
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
function mapRawInput(raw: raw.TransactionInput, transactionIndex: number, index: number): TransactionInput {
|
|
162
|
+
switch (raw.__typename) {
|
|
163
|
+
case 'InputCoin':
|
|
164
|
+
return {
|
|
165
|
+
type: 'InputCoin',
|
|
166
|
+
index,
|
|
167
|
+
transactionIndex,
|
|
168
|
+
utxoId: raw.utxoId,
|
|
169
|
+
owner: raw.owner,
|
|
170
|
+
amount: BigInt(raw.amount),
|
|
171
|
+
assetId: raw.assetId,
|
|
172
|
+
txPointer: raw.txPointer,
|
|
173
|
+
witnessIndex: raw.witnessIndex,
|
|
174
|
+
maturity: toInteger(raw.maturity),
|
|
175
|
+
predicateGasUsed: BigInt(raw.predicateGasUsed),
|
|
176
|
+
predicate: raw.predicate,
|
|
177
|
+
predicateData: raw.predicateData,
|
|
178
|
+
}
|
|
179
|
+
case 'InputContract':
|
|
180
|
+
return {
|
|
181
|
+
type: 'InputContract',
|
|
182
|
+
index,
|
|
183
|
+
transactionIndex,
|
|
184
|
+
utxoId: raw.utxoId,
|
|
185
|
+
balanceRoot: raw.balanceRoot,
|
|
186
|
+
stateRoot: raw.stateRoot,
|
|
187
|
+
txPointer: raw.txPointer,
|
|
188
|
+
contract: raw.contract.id
|
|
189
|
+
}
|
|
190
|
+
case 'InputMessage':
|
|
191
|
+
return {
|
|
192
|
+
type: 'InputMessage',
|
|
193
|
+
index,
|
|
194
|
+
transactionIndex,
|
|
195
|
+
sender: raw.sender,
|
|
196
|
+
recipient: raw.recipient,
|
|
197
|
+
amount: BigInt(raw.amount),
|
|
198
|
+
nonce: raw.nonce,
|
|
199
|
+
witnessIndex: raw.witnessIndex,
|
|
200
|
+
predicateGasUsed: BigInt(raw.predicateGasUsed),
|
|
201
|
+
data: raw.data,
|
|
202
|
+
predicate: raw.predicate,
|
|
203
|
+
predicateData: raw.predicateData,
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
function mapRawOutput(raw: raw.TransactionOutput, transactionIndex: number, index: number): TransactionOutput {
|
|
210
|
+
switch (raw.__typename) {
|
|
211
|
+
case 'ChangeOutput':
|
|
212
|
+
return {
|
|
213
|
+
type: 'ChangeOutput',
|
|
214
|
+
index,
|
|
215
|
+
transactionIndex,
|
|
216
|
+
to: raw.to,
|
|
217
|
+
amount: BigInt(raw.amount),
|
|
218
|
+
assetId: raw.assetId,
|
|
219
|
+
}
|
|
220
|
+
case 'CoinOutput':
|
|
221
|
+
return {
|
|
222
|
+
type: 'CoinOutput',
|
|
223
|
+
index,
|
|
224
|
+
transactionIndex,
|
|
225
|
+
to: raw.to,
|
|
226
|
+
amount: BigInt(raw.amount),
|
|
227
|
+
assetId: raw.assetId,
|
|
228
|
+
}
|
|
229
|
+
case 'ContractCreated':
|
|
230
|
+
return {
|
|
231
|
+
type: 'ContractCreated',
|
|
232
|
+
index,
|
|
233
|
+
transactionIndex,
|
|
234
|
+
contract: raw.contract,
|
|
235
|
+
stateRoot: raw.stateRoot
|
|
236
|
+
}
|
|
237
|
+
case 'ContractOutput':
|
|
238
|
+
return {
|
|
239
|
+
type: 'ContractOutput',
|
|
240
|
+
index,
|
|
241
|
+
transactionIndex,
|
|
242
|
+
inputIndex: raw.inputIndex,
|
|
243
|
+
balanceRoot: raw.balanceRoot,
|
|
244
|
+
stateRoot: raw.stateRoot
|
|
245
|
+
}
|
|
246
|
+
case 'VariableOutput':
|
|
247
|
+
return {
|
|
248
|
+
type: 'VariableOutput',
|
|
249
|
+
index,
|
|
250
|
+
transactionIndex,
|
|
251
|
+
to: raw.to,
|
|
252
|
+
amount: BigInt(raw.amount),
|
|
253
|
+
assetId: raw.assetId
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
function mapRawReceipt(raw: raw.Receipt, transactionIndex: number, index: number): Receipt {
|
|
260
|
+
let receipt: Receipt = {
|
|
261
|
+
index,
|
|
262
|
+
transactionIndex,
|
|
263
|
+
receiptType: raw.receiptType,
|
|
264
|
+
contract: raw.contract?.id,
|
|
265
|
+
to: raw.to?.id,
|
|
266
|
+
toAddress: raw.toAddress ?? undefined,
|
|
267
|
+
assetId: raw.assetId ?? undefined,
|
|
268
|
+
digest: raw.digest ?? undefined,
|
|
269
|
+
data: raw.data ?? undefined,
|
|
270
|
+
sender: raw.sender ?? undefined,
|
|
271
|
+
recipient: raw.recipient ?? undefined,
|
|
272
|
+
nonce: raw.nonce ?? undefined,
|
|
273
|
+
contractId: raw.contractId ?? undefined,
|
|
274
|
+
subId: raw.subId ?? undefined,
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
if (raw.pc) {
|
|
278
|
+
receipt.pc = BigInt(raw.pc)
|
|
279
|
+
}
|
|
280
|
+
if (raw.is) {
|
|
281
|
+
receipt.is = BigInt(raw.is)
|
|
282
|
+
}
|
|
283
|
+
if (raw.amount) {
|
|
284
|
+
receipt.amount = BigInt(raw.amount)
|
|
285
|
+
}
|
|
286
|
+
if (raw.gas) {
|
|
287
|
+
receipt.gas = BigInt(raw.gas)
|
|
288
|
+
}
|
|
289
|
+
if (raw.param1) {
|
|
290
|
+
receipt.param1 = BigInt(raw.param1)
|
|
291
|
+
}
|
|
292
|
+
if (raw.param2) {
|
|
293
|
+
receipt.param2 = BigInt(raw.param2)
|
|
294
|
+
}
|
|
295
|
+
if (raw.val) {
|
|
296
|
+
receipt.val = BigInt(raw.val)
|
|
297
|
+
}
|
|
298
|
+
if (raw.ptr) {
|
|
299
|
+
receipt.val = BigInt(raw.ptr)
|
|
300
|
+
}
|
|
301
|
+
if (raw.reason) {
|
|
302
|
+
receipt.reason = BigInt(raw.reason)
|
|
303
|
+
}
|
|
304
|
+
if (raw.ra) {
|
|
305
|
+
receipt.ra = BigInt(raw.ra)
|
|
306
|
+
}
|
|
307
|
+
if (raw.rb) {
|
|
308
|
+
receipt.rb = BigInt(raw.rb)
|
|
309
|
+
}
|
|
310
|
+
if (raw.rc) {
|
|
311
|
+
receipt.rc = BigInt(raw.rc)
|
|
312
|
+
}
|
|
313
|
+
if (raw.rd) {
|
|
314
|
+
receipt.rd = BigInt(raw.rd)
|
|
315
|
+
}
|
|
316
|
+
if (raw.len) {
|
|
317
|
+
receipt.len = BigInt(raw.len)
|
|
318
|
+
}
|
|
319
|
+
if (raw.result) {
|
|
320
|
+
receipt.result = BigInt(raw.result)
|
|
321
|
+
}
|
|
322
|
+
if (raw.gasUsed) {
|
|
323
|
+
receipt.gasUsed = BigInt(raw.gasUsed)
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return receipt
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
export function mapRawBlock(raw: raw.BlockData): Block {
|
|
331
|
+
let header: BlockHeader = {
|
|
332
|
+
hash: raw.block.header.id,
|
|
333
|
+
height: toInteger(raw.block.header.height),
|
|
334
|
+
daHeight: BigInt(raw.block.header.daHeight),
|
|
335
|
+
transactionsRoot: raw.block.header.transactionsRoot,
|
|
336
|
+
transactionsCount: BigInt(raw.block.header.transactionsCount),
|
|
337
|
+
messageReceiptRoot: raw.block.header.messageReceiptRoot,
|
|
338
|
+
messageReceiptCount: BigInt(raw.block.header.messageReceiptCount),
|
|
339
|
+
prevRoot: raw.block.header.prevRoot,
|
|
340
|
+
time: BigInt(raw.block.header.time),
|
|
341
|
+
applicationHash: raw.block.header.applicationHash,
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
let transactions: Transaction[] = []
|
|
345
|
+
let inputs: TransactionInput[] = []
|
|
346
|
+
let outputs: TransactionOutput[] = []
|
|
347
|
+
let receipts: Receipt[] = []
|
|
348
|
+
|
|
349
|
+
raw.block.transactions.forEach((tx, index) => {
|
|
350
|
+
transactions.push(mapRawTransaction(tx, index))
|
|
351
|
+
|
|
352
|
+
tx.inputs?.forEach((input, inputIndex) => {
|
|
353
|
+
inputs.push(mapRawInput(input, index, inputIndex))
|
|
354
|
+
})
|
|
355
|
+
|
|
356
|
+
tx.outputs?.forEach((output, outputIndex) => {
|
|
357
|
+
outputs.push(mapRawOutput(output, index, outputIndex))
|
|
358
|
+
})
|
|
359
|
+
|
|
360
|
+
tx.receipts?.forEach((receipt, receiptIndex) => {
|
|
361
|
+
receipts.push(mapRawReceipt(receipt, index, receiptIndex))
|
|
362
|
+
})
|
|
363
|
+
})
|
|
364
|
+
|
|
365
|
+
return {
|
|
366
|
+
header,
|
|
367
|
+
transactions,
|
|
368
|
+
inputs,
|
|
369
|
+
outputs,
|
|
370
|
+
receipts,
|
|
371
|
+
}
|
|
372
|
+
}
|