@aztec/stdlib 0.84.0-nightly.20250408 → 0.84.0-nightly.20250409
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/dest/logs/pending_tagged_log.d.ts +2 -1
- package/dest/logs/pending_tagged_log.d.ts.map +1 -1
- package/dest/logs/pending_tagged_log.js +5 -2
- package/dest/tests/mocks.d.ts +3 -1
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -2
- package/dest/tx/validator/error_texts.d.ts +1 -0
- package/dest/tx/validator/error_texts.d.ts.map +1 -1
- package/dest/tx/validator/error_texts.js +1 -0
- package/package.json +6 -6
- package/src/logs/pending_tagged_log.ts +2 -0
- package/src/tests/mocks.ts +6 -1
- package/src/tx/validator/error_texts.ts +1 -0
|
@@ -12,7 +12,8 @@ export declare class PendingTaggedLog {
|
|
|
12
12
|
firstNullifierInTx: Fr;
|
|
13
13
|
recipient: AztecAddress;
|
|
14
14
|
logIndexInTx: number;
|
|
15
|
-
|
|
15
|
+
txIndexInBlock: number;
|
|
16
|
+
constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress, logIndexInTx: number, txIndexInBlock: number);
|
|
16
17
|
toFields(): Fr[];
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=pending_tagged_log.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,qBAAa,gBAAgB;IAElB,GAAG,EAAE,EAAE,EAAE;IACT,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"pending_tagged_log.d.ts","sourceRoot":"","sources":["../../src/logs/pending_tagged_log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;GAGG;AACH,qBAAa,gBAAgB;IAElB,GAAG,EAAE,EAAE,EAAE;IACT,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,MAAM;gBANtB,GAAG,EAAE,EAAE,EAAE,EACT,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,SAAS,EAAE,YAAY,EACvB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM;IAG/B,QAAQ,IAAI,EAAE,EAAE;CAWjB"}
|
|
@@ -10,13 +10,15 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
10
10
|
firstNullifierInTx;
|
|
11
11
|
recipient;
|
|
12
12
|
logIndexInTx;
|
|
13
|
-
|
|
13
|
+
txIndexInBlock;
|
|
14
|
+
constructor(log, txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient, logIndexInTx, txIndexInBlock){
|
|
14
15
|
this.log = log;
|
|
15
16
|
this.txHash = txHash;
|
|
16
17
|
this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
|
|
17
18
|
this.firstNullifierInTx = firstNullifierInTx;
|
|
18
19
|
this.recipient = recipient;
|
|
19
20
|
this.logIndexInTx = logIndexInTx;
|
|
21
|
+
this.txIndexInBlock = txIndexInBlock;
|
|
20
22
|
}
|
|
21
23
|
toFields() {
|
|
22
24
|
return [
|
|
@@ -25,7 +27,8 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
25
27
|
...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
|
|
26
28
|
this.firstNullifierInTx,
|
|
27
29
|
this.recipient.toField(),
|
|
28
|
-
new Fr(this.logIndexInTx)
|
|
30
|
+
new Fr(this.logIndexInTx),
|
|
31
|
+
new Fr(this.txIndexInBlock)
|
|
29
32
|
];
|
|
30
33
|
}
|
|
31
34
|
}
|
package/dest/tests/mocks.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
3
3
|
import type { ContractArtifact } from '../abi/abi.js';
|
|
4
4
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
5
5
|
import type { ContractInstanceWithAddress } from '../contract/index.js';
|
|
6
|
+
import { GasFees } from '../gas/gas_fees.js';
|
|
6
7
|
import { ExtendedNote, UniqueNote } from '../note/extended_note.js';
|
|
7
8
|
import { BlockAttestation } from '../p2p/block_attestation.js';
|
|
8
9
|
import { BlockProposal } from '../p2p/block_proposal.js';
|
|
@@ -13,7 +14,7 @@ import { TxHash } from '../tx/tx_hash.js';
|
|
|
13
14
|
export declare const randomTxHash: () => TxHash;
|
|
14
15
|
export declare const randomExtendedNote: ({ note, recipient, contractAddress, txHash, storageSlot, }?: Partial<ExtendedNote>) => Promise<ExtendedNote>;
|
|
15
16
|
export declare const randomUniqueNote: ({ note, recipient, contractAddress, txHash, storageSlot, nonce, }?: Partial<UniqueNote>) => Promise<UniqueNote>;
|
|
16
|
-
export declare const mockTx: (seed?: number, { numberOfNonRevertiblePublicCallRequests, numberOfRevertiblePublicCallRequests, numberOfRevertibleNullifiers, hasPublicTeardownCallRequest, publicCalldataSize, feePayer, clientIvcProof, }?: {
|
|
17
|
+
export declare const mockTx: (seed?: number, { numberOfNonRevertiblePublicCallRequests, numberOfRevertiblePublicCallRequests, numberOfRevertibleNullifiers, hasPublicTeardownCallRequest, publicCalldataSize, feePayer, clientIvcProof, maxPriorityFeesPerGas, }?: {
|
|
17
18
|
numberOfNonRevertiblePublicCallRequests?: number;
|
|
18
19
|
numberOfRevertiblePublicCallRequests?: number;
|
|
19
20
|
numberOfRevertibleNullifiers?: number;
|
|
@@ -21,6 +22,7 @@ export declare const mockTx: (seed?: number, { numberOfNonRevertiblePublicCallRe
|
|
|
21
22
|
publicCalldataSize?: number;
|
|
22
23
|
feePayer?: AztecAddress;
|
|
23
24
|
clientIvcProof?: ClientIvcProof;
|
|
25
|
+
maxPriorityFeesPerGas?: GasFees;
|
|
24
26
|
}) => Promise<Tx>;
|
|
25
27
|
export declare const mockTxForRollup: (seed?: number) => Promise<Tx>;
|
|
26
28
|
export declare const mockSimulatedTx: (seed?: number) => Promise<TxSimulationResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAe,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAS7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAoE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEnH,OAAO,EAAE,kBAAkB,EAAiC,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,eAAO,MAAM,YAAY,QAAO,MAAyB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,gEAM5B,QAAQ,YAAY,CAAC,0BAQvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,uEAO1B,QAAQ,UAAU,CAAC,wBASrB,CAAC;AAEF,eAAO,MAAM,MAAM,wOAWd;IACD,uCAAuC,CAAC,EAAE,MAAM,CAAC;IACjD,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,gBAqDF,CAAC;AAEF,eAAO,MAAM,eAAe,gCAC2E,CAAC;AAkBxG,eAAO,MAAM,eAAe,gDAgB3B,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,gBAWxC,CAAC;AAEH,eAAO,MAAM,iCAAiC,UACtC;IAAE,eAAe,CAAC,EAAE,EAAE,CAAA;CAAE,YACpB,YAAY,KACrB,QAAQ,2BAA2B,CAUrC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;EAIlC,CAAC;AAEF,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAyBD,eAAO,MAAM,iBAAiB,aAAoB,2BAA2B,KAAG,QAAQ,aAAa,CAGpG,CAAC;AAGF,eAAO,MAAM,oBAAoB,aAAoB,2BAA2B,KAAG,QAAQ,gBAAgB,CAG1G,CAAC"}
|
package/dest/tests/mocks.js
CHANGED
|
@@ -32,13 +32,14 @@ export const randomExtendedNote = async ({ note = Note.random(), recipient = und
|
|
|
32
32
|
export const randomUniqueNote = async ({ note = Note.random(), recipient = undefined, contractAddress = undefined, txHash = randomTxHash(), storageSlot = Fr.random(), nonce = Fr.random() } = {})=>{
|
|
33
33
|
return new UniqueNote(note, recipient ?? await AztecAddress.random(), contractAddress ?? await AztecAddress.random(), storageSlot, txHash, nonce);
|
|
34
34
|
};
|
|
35
|
-
export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, clientIvcProof = ClientIvcProof.empty() } = {})=>{
|
|
35
|
+
export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, clientIvcProof = ClientIvcProof.empty(), maxPriorityFeesPerGas } = {})=>{
|
|
36
36
|
const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
|
|
37
37
|
const isForPublic = totalPublicCallRequests > 0;
|
|
38
38
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
39
39
|
const firstNullifier = new Nullifier(new Fr(seed + 1), 0, Fr.ZERO);
|
|
40
40
|
data.constants.txContext.gasSettings = GasSettings.default({
|
|
41
|
-
maxFeesPerGas: new GasFees(10, 10)
|
|
41
|
+
maxFeesPerGas: new GasFees(10, 10),
|
|
42
|
+
maxPriorityFeesPerGas
|
|
42
43
|
});
|
|
43
44
|
data.feePayer = feePayer ?? await AztecAddress.random();
|
|
44
45
|
const publicFunctionCalldata = [];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const TX_ERROR_INSUFFICIENT_FEE_PER_GAS = "Insufficient fee per gas";
|
|
2
2
|
export declare const TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = "Insufficient fee payer balance";
|
|
3
|
+
export declare const TX_ERROR_INSUFFICIENT_GAS_LIMIT = "Gas limit is below the minimum fixed cost";
|
|
3
4
|
export declare const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = "Setup function not on allow list";
|
|
4
5
|
export declare const TX_ERROR_DUPLICATE_NULLIFIER_IN_TX = "Duplicate nullifier in tx";
|
|
5
6
|
export declare const TX_ERROR_EXISTING_NULLIFIER = "Existing nullifier";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;AACxF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAG3F,eAAO,MAAM,mCAAmC,qCAAqC,CAAC;AAGtF,eAAO,MAAM,kCAAkC,8BAA8B,CAAC;AAC9E,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAGhE,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AACpE,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAChE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAG5E,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAChF,eAAO,MAAM,gCAAgC,8CAA8C,CAAC;AAC5F,eAAO,MAAM,iCAAiC,uDAAuD,CAAC;AACtG,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAC5F,eAAO,MAAM,kCAAkC,0CAA0C,CAAC;AAC1F,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,mCAAmC,2CAA2C,CAAC;AAG5F,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAG9D,eAAO,MAAM,0BAA0B,uCAAuC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Gas and fees
|
|
2
2
|
export const TX_ERROR_INSUFFICIENT_FEE_PER_GAS = 'Insufficient fee per gas';
|
|
3
3
|
export const TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = 'Insufficient fee payer balance';
|
|
4
|
+
export const TX_ERROR_INSUFFICIENT_GAS_LIMIT = 'Gas limit is below the minimum fixed cost';
|
|
4
5
|
// Phases
|
|
5
6
|
export const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = 'Setup function not on allow list';
|
|
6
7
|
// Nullifiers
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "0.84.0-nightly.
|
|
3
|
+
"version": "0.84.0-nightly.20250409",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -67,11 +67,11 @@
|
|
|
67
67
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/bb.js": "0.84.0-nightly.
|
|
71
|
-
"@aztec/blob-lib": "0.84.0-nightly.
|
|
72
|
-
"@aztec/constants": "0.84.0-nightly.
|
|
73
|
-
"@aztec/ethereum": "0.84.0-nightly.
|
|
74
|
-
"@aztec/foundation": "0.84.0-nightly.
|
|
70
|
+
"@aztec/bb.js": "0.84.0-nightly.20250409",
|
|
71
|
+
"@aztec/blob-lib": "0.84.0-nightly.20250409",
|
|
72
|
+
"@aztec/constants": "0.84.0-nightly.20250409",
|
|
73
|
+
"@aztec/ethereum": "0.84.0-nightly.20250409",
|
|
74
|
+
"@aztec/foundation": "0.84.0-nightly.20250409",
|
|
75
75
|
"@google-cloud/storage": "^7.15.0",
|
|
76
76
|
"lodash.chunk": "^4.2.0",
|
|
77
77
|
"lodash.isequal": "^4.5.0",
|
|
@@ -16,6 +16,7 @@ export class PendingTaggedLog {
|
|
|
16
16
|
public firstNullifierInTx: Fr,
|
|
17
17
|
public recipient: AztecAddress,
|
|
18
18
|
public logIndexInTx: number,
|
|
19
|
+
public txIndexInBlock: number,
|
|
19
20
|
) {}
|
|
20
21
|
|
|
21
22
|
toFields(): Fr[] {
|
|
@@ -26,6 +27,7 @@ export class PendingTaggedLog {
|
|
|
26
27
|
this.firstNullifierInTx,
|
|
27
28
|
this.recipient.toField(),
|
|
28
29
|
new Fr(this.logIndexInTx),
|
|
30
|
+
new Fr(this.txIndexInBlock),
|
|
29
31
|
];
|
|
30
32
|
}
|
|
31
33
|
}
|
package/src/tests/mocks.ts
CHANGED
|
@@ -78,6 +78,7 @@ export const mockTx = async (
|
|
|
78
78
|
publicCalldataSize = 2,
|
|
79
79
|
feePayer,
|
|
80
80
|
clientIvcProof = ClientIvcProof.empty(),
|
|
81
|
+
maxPriorityFeesPerGas,
|
|
81
82
|
}: {
|
|
82
83
|
numberOfNonRevertiblePublicCallRequests?: number;
|
|
83
84
|
numberOfRevertiblePublicCallRequests?: number;
|
|
@@ -86,6 +87,7 @@ export const mockTx = async (
|
|
|
86
87
|
publicCalldataSize?: number;
|
|
87
88
|
feePayer?: AztecAddress;
|
|
88
89
|
clientIvcProof?: ClientIvcProof;
|
|
90
|
+
maxPriorityFeesPerGas?: GasFees;
|
|
89
91
|
} = {},
|
|
90
92
|
) => {
|
|
91
93
|
const totalPublicCallRequests =
|
|
@@ -95,7 +97,10 @@ export const mockTx = async (
|
|
|
95
97
|
const isForPublic = totalPublicCallRequests > 0;
|
|
96
98
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
97
99
|
const firstNullifier = new Nullifier(new Fr(seed + 1), 0, Fr.ZERO);
|
|
98
|
-
data.constants.txContext.gasSettings = GasSettings.default({
|
|
100
|
+
data.constants.txContext.gasSettings = GasSettings.default({
|
|
101
|
+
maxFeesPerGas: new GasFees(10, 10),
|
|
102
|
+
maxPriorityFeesPerGas,
|
|
103
|
+
});
|
|
99
104
|
data.feePayer = feePayer ?? (await AztecAddress.random());
|
|
100
105
|
|
|
101
106
|
const publicFunctionCalldata: HashedValues[] = [];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Gas and fees
|
|
2
2
|
export const TX_ERROR_INSUFFICIENT_FEE_PER_GAS = 'Insufficient fee per gas';
|
|
3
3
|
export const TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = 'Insufficient fee payer balance';
|
|
4
|
+
export const TX_ERROR_INSUFFICIENT_GAS_LIMIT = 'Gas limit is below the minimum fixed cost';
|
|
4
5
|
|
|
5
6
|
// Phases
|
|
6
7
|
export const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = 'Setup function not on allow list';
|