Skip to content

Commit

Permalink
fix: implement includeAllTxLogs in Streams models
Browse files Browse the repository at this point in the history
  • Loading branch information
ErnoW committed Mar 20, 2023
1 parent 24a2f3b commit f5d0bdd
Show file tree
Hide file tree
Showing 16 changed files with 49 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .changeset/seven-dolls-dream.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@moralisweb3/common-streams-utils': patch
'@moralisweb3/streams': patch
---

Add `includeAllTxLogs` in all relevant Streams models
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const simple: EvmStreamInput = {
includeNativeTxs: false,
includeContractLogs: false,
includeInternalTxs: false,
includeAllTxLogs: false,
abi: null,
chainIds: ['0x3', '0x4'],
status: 'active',
Expand All @@ -34,6 +35,7 @@ const advancedOptions: EvmStreamInput = {
includeNativeTxs: false,
includeContractLogs: false,
includeInternalTxs: false,
includeAllTxLogs: false,
abi: [
{
anonymous: false,
Expand Down Expand Up @@ -70,6 +72,7 @@ const getNativeBalances: EvmStreamInput = {
includeNativeTxs: false,
includeContractLogs: false,
includeInternalTxs: false,
includeAllTxLogs: false,
abi: null,
chainIds: ['0x3', '0x4'],
status: 'active',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ describe('EvmStream', () => {
expect(stream.includeNativeTxs).toBe(false);
expect(stream.includeContractLogs).toBe(false);
expect(stream.includeInternalTxs).toBe(false);
expect(stream.includeAllTxLogs).toBe(false);
expect(stream.abi).toBeUndefined();
expect(stream.advancedOptions).toBeUndefined();
expect(stream.id).toBe('3fa85f64-5717-4562-b3fc-2c963f66afa6');
Expand Down Expand Up @@ -67,6 +68,7 @@ describe('EvmStream', () => {
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
includeContractLogs: false,
includeInternalTxs: false,
includeAllTxLogs: false,
includeNativeTxs: false,
getNativeBalances: undefined,
status: 'active',
Expand Down Expand Up @@ -98,6 +100,7 @@ describe('EvmStream', () => {
id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
includeContractLogs: false,
includeInternalTxs: false,
includeAllTxLogs: false,
includeNativeTxs: false,
status: 'active',
statusMessage: 'Stream is active',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ export class EvmStream implements MoralisDataObject {
allAddresses: data.allAddresses ?? false,
includeContractLogs: data.includeContractLogs ?? false,
includeInternalTxs: data.includeInternalTxs ?? false,
includeAllTxLogs: data.includeAllTxLogs ?? false,
includeNativeTxs: data.includeNativeTxs ?? false,
advancedOptions: maybe(data.advancedOptions),
abi: maybe(data.abi),
Expand Down Expand Up @@ -157,6 +158,10 @@ export class EvmStream implements MoralisDataObject {
return this._data.includeInternalTxs;
}

get includeAllTxLogs() {
return this._data.includeAllTxLogs;
}

get abi() {
return this._data.abi;
}
Expand Down
3 changes: 3 additions & 0 deletions packages/common/streamsUtils/src/dataTypes/EvmStream/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export interface EvmStreamInput {
includeNativeTxs?: boolean;
includeContractLogs?: boolean;
includeInternalTxs?: boolean;
includeAllTxLogs?: boolean;
abi?: EvmAbi | null;
advancedOptions?: EvmStreamAdvancedOptions[] | null;
chainIds: EvmChainish[];
Expand All @@ -44,6 +45,7 @@ export interface EvmStreamData {
includeNativeTxs: boolean;
includeContractLogs: boolean;
includeInternalTxs: boolean;
includeAllTxLogs: boolean;
abi?: EvmAbi;
advancedOptions?: EvmStreamAdvancedOptions[];
chains: EvmChain[];
Expand All @@ -66,6 +68,7 @@ export type EvmStreamJSON = {
includeNativeTxs: boolean;
includeContractLogs: boolean;
includeInternalTxs: boolean;
includeAllTxLogs: boolean;
abi?: EvmAbi;
advancedOptions?: EvmStreamAdvancedOptions[];
chainIds: (string | number)[];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ describe('createStreamEvmOperation', () => {
includeNativeTxs: true,
includeContractLogs: true,
includeInternalTxs: true,
includeAllTxLogs: true,
getNativeBalances: [
{
selectors: ['$fromAddress', '$toAddress'],
Expand Down Expand Up @@ -77,6 +78,7 @@ describe('createStreamEvmOperation', () => {
expect(serializedRequest.includeNativeTxs).toBe(true);
expect(serializedRequest.includeContractLogs).toBe(true);
expect(serializedRequest.includeInternalTxs).toBe(true);
expect(serializedRequest.includeAllTxLogs).toBe(true);
expect(serializedRequest.chainIds).toContain('0x1');
expect(serializedRequest.abi).toBe(null);
expect(serializedRequest.advancedOptions).toBe(null);
Expand All @@ -98,6 +100,7 @@ describe('createStreamEvmOperation', () => {
expect(deserializedRequest.includeNativeTxs).toBe(true);
expect(deserializedRequest.includeContractLogs).toBe(true);
expect(deserializedRequest.includeInternalTxs).toBe(true);
expect(deserializedRequest.includeAllTxLogs).toBe(true);
expect((deserializedRequest.chains[0] as EvmChain).apiHex).toContain('0x1');
expect(deserializedRequest.abi).toBe(null);
expect(deserializedRequest.advancedOptions).toBe(null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export const createStreamEvmOperation: Operation<
'includeNativeTxs',
'includeContractLogs',
'includeInternalTxs',
'includeAllTxLogs',
'getNativeBalances',
'chains',
'abi',
Expand Down Expand Up @@ -78,6 +79,7 @@ function getRequestBody(request: CreateStreamEvmRequest, core: Core) {
includeNativeTxs: request.includeNativeTxs,
includeContractLogs: request.includeContractLogs,
includeInternalTxs: request.includeInternalTxs,
includeAllTxLogs: request.includeAllTxLogs,
getNativeBalances: request.getNativeBalances,
chainIds: request.chains.map((chain) => EvmChain.create(chain, core).apiHex),
abi: request.abi,
Expand All @@ -101,6 +103,7 @@ function serializeRequest(request: CreateStreamEvmRequest, core: Core) {
includeNativeTxs: request.includeNativeTxs,
includeContractLogs: request.includeContractLogs,
includeInternalTxs: request.includeInternalTxs,
includeAllTxLogs: request.includeAllTxLogs,
chainIds: request.chains.map((chain) => EvmChain.create(chain, core).apiHex),
abi: request.abi,
advancedOptions: request.advancedOptions,
Expand All @@ -119,6 +122,7 @@ function deserializeRequest(jsonRequest: CreateStreamEvmJSONRequest, core: Core)
includeNativeTxs: jsonRequest.includeNativeTxs,
includeContractLogs: jsonRequest.includeContractLogs,
includeInternalTxs: jsonRequest.includeInternalTxs,
includeAllTxLogs: jsonRequest.includeAllTxLogs,
chains: jsonRequest.chainIds.map((chainId) => EvmChain.create(chainId, core)),
abi: jsonRequest.abi,
advancedOptions: jsonRequest.advancedOptions,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ describe('updateStreamEvmOperation', () => {
includeNativeTxs: true,
includeContractLogs: true,
includeInternalTxs: true,
includeAllTxLogs: true,
getNativeBalances: [
{
selectors: ['$fromAddress', '$toAddress'],
Expand Down Expand Up @@ -79,6 +80,7 @@ describe('updateStreamEvmOperation', () => {
expect(serializedRequest.includeNativeTxs).toBe(true);
expect(serializedRequest.includeContractLogs).toBe(true);
expect(serializedRequest.includeInternalTxs).toBe(true);
expect(serializedRequest.includeAllTxLogs).toBe(true);
expect(serializedRequest.chainIds).toContain('0x1');
expect(serializedRequest.abi).toBe(null);
expect(serializedRequest.advancedOptions).toBe(null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export const updateStreamEvmOperation: Operation<
'includeNativeTxs',
'includeContractLogs',
'includeInternalTxs',
'includeAllTxLogs',
'getNativeBalances',
'chains',
'abi',
Expand Down Expand Up @@ -82,6 +83,7 @@ function getRequestBody(request: UpdateStreamEvmRequest, core: Core) {
includeNativeTxs: request.includeNativeTxs,
includeContractLogs: request.includeContractLogs,
includeInternalTxs: request.includeInternalTxs,
includeAllTxLogs: request.includeAllTxLogs,
getNativeBalances: request.getNativeBalances,
chainIds: request.chains?.map((chain) => EvmChain.create(chain, core).apiHex),
abi: request.abi,
Expand All @@ -106,6 +108,7 @@ function serializeRequest(request: UpdateStreamEvmRequest, core: Core) {
includeNativeTxs: request.includeNativeTxs,
includeContractLogs: request.includeContractLogs,
includeInternalTxs: request.includeInternalTxs,
includeAllTxLogs: request.includeAllTxLogs,
chainIds: request.chains?.map((chain) => EvmChain.create(chain, core).apiHex),
abi: request.abi,
advancedOptions: request.advancedOptions,
Expand All @@ -125,6 +128,7 @@ function deserializeRequest(jsonRequest: UpdateStreamEvmJSONRequest, core: Core)
includeNativeTxs: jsonRequest.includeNativeTxs,
includeContractLogs: jsonRequest.includeContractLogs,
includeInternalTxs: jsonRequest.includeInternalTxs,
includeAllTxLogs: jsonRequest.includeAllTxLogs,
chains: jsonRequest.chainIds?.map((chainId) => EvmChain.create(chainId, core)),
abi: jsonRequest.abi,
advancedOptions: jsonRequest.advancedOptions,
Expand Down
8 changes: 8 additions & 0 deletions packages/common/streamsUtils/src/operations/openapi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,8 @@ export interface components {
includeContractLogs?: boolean;
/** @description Include or not include internal transactions defaults to false */
includeInternalTxs?: boolean;
/** @description Include all logs if atleast one value in tx or log matches stream config */
includeAllTxLogs?: boolean;
/** @description Include native balances for each address in the webhook */
getNativeBalances?: components["schemas"]["getNativeBalances"][];
abi?: components["schemas"]["AbiItem"][] | null;
Expand Down Expand Up @@ -483,6 +485,8 @@ export interface components {
includeContractLogs?: boolean;
/** @description Include or not include internal transactions defaults to false */
includeInternalTxs?: boolean;
/** @description Include all logs if atleast one value in tx or log matches stream config */
includeAllTxLogs?: boolean;
/** @description Include native balances for each address in the webhook */
getNativeBalances?: components["schemas"]["getNativeBalances"][];
abi?: components["schemas"]["AbiItem"][] | null;
Expand Down Expand Up @@ -517,6 +521,8 @@ export interface components {
includeContractLogs?: boolean;
/** @description Include or not include internal transactions defaults to false */
includeInternalTxs?: boolean;
/** @description Include all logs if atleast one value in tx or log matches stream config */
includeAllTxLogs?: boolean;
/** @description Include native balances for each address in the webhook */
getNativeBalances?: components["schemas"]["getNativeBalances"][];
abi?: components["schemas"]["AbiItem"][] | null;
Expand Down Expand Up @@ -546,6 +552,8 @@ export interface components {
includeContractLogs?: boolean;
/** @description Include or not include internal transactions defaults to false */
includeInternalTxs?: boolean;
/** @description Include all logs if atleast one value in tx or log matches stream config */
includeAllTxLogs?: boolean;
/** @description Include native balances for each address in the webhook */
getNativeBalances?: components["schemas"]["getNativeBalances"][];
abi?: components["schemas"]["AbiItem"][] | null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export const mockCreateStreamEvm = MockScenarios.create(
allAddresses: reqBody?.allAddresses,
includeContractLogs: reqBody?.includeContractLogs,
includeInternalTxs: reqBody?.includeInternalTxs,
includeAllTxLogs: reqBody?.includeAllTxLogs,
getNativeBalances: reqBody?.getNativeBalances,
};
},
Expand Down Expand Up @@ -70,6 +71,7 @@ export const mockCreateStreamEvm = MockScenarios.create(
allAddresses: true,
includeContractLogs: true,
includeInternalTxs: true,
includeAllTxLogs: false,
includeNativeTxs: true,
},
response: createEvmStreamResponse('test-3'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export const mockUpdateStreamEvm = MockScenarios.create(
allAddresses: reqBody?.allAddresses,
includeContractLogs: reqBody?.includeContractLogs,
includeInternalTxs: reqBody?.includeInternalTxs,
includeAllTxLogs: reqBody?.includeAllTxLogs
};
},
},
Expand Down Expand Up @@ -65,6 +66,7 @@ export const mockUpdateStreamEvm = MockScenarios.create(
allAddresses: true,
includeContractLogs: true,
includeInternalTxs: true,
includeAllTxLogs: false,
includeNativeTxs: true,
},
response: createEvmStreamResponse('test-2'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const defaultMockStream = {
includeNativeTxs: false,
includeContractLogs: false,
includeInternalTxs: false,
includeAllTxLogs: false,
abi: null,
chainIds: ['0x3', '0x4'],
status: 'active',
Expand Down
1 change: 1 addition & 0 deletions packages/streams/integration/test/createStream.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ describe('Create stream', () => {
allAddresses: true,
includeContractLogs: true,
includeInternalTxs: true,
includeAllTxLogs: false,
includeNativeTxs: true,
})) as CreateStreamEvmResponseAdapter;

Expand Down
1 change: 1 addition & 0 deletions packages/streams/integration/test/getStreams.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ describe('Get streams', () => {
expect(item.includeNativeTxs).toBe(false);
expect(item.includeContractLogs).toBe(false);
expect(item.includeInternalTxs).toBe(false);
expect(item.includeAllTxLogs).toBe(false);
expect(item.abi).toBeUndefined();
expect(item.advancedOptions).toBeUndefined();
expect(item.id).toBe('3fa85f64-5717-4562-b3fc-2c963f66afa6');
Expand Down
1 change: 1 addition & 0 deletions packages/streams/integration/test/updateStream.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ describe('Update stream', () => {
allAddresses: true,
includeContractLogs: true,
includeInternalTxs: true,
includeAllTxLogs:false,
includeNativeTxs: true,
})) as UpdateStreamEvmResponseAdapter;

Expand Down

0 comments on commit f5d0bdd

Please sign in to comment.