diff --git a/src/formulas/formulas/contract/external/cw4Group.ts b/src/formulas/formulas/contract/external/cw4Group.ts index a68f389b..c7765645 100644 --- a/src/formulas/formulas/contract/external/cw4Group.ts +++ b/src/formulas/formulas/contract/external/cw4Group.ts @@ -54,3 +54,10 @@ export const admin = makeSimpleContractFormula({ // Null if no admin exists. fallback: null, }) + +export const hooks = makeSimpleContractFormula({ + transformation: 'hooks', + fallbackKeys: ['cw4-hooks'], + fallback: { hooks: [] }, + transform: (hooks) => ({ hooks }), +}) diff --git a/src/formulas/formulas/contract/staking/cw20Stake.ts b/src/formulas/formulas/contract/staking/cw20Stake.ts index b554d8ea..e24503a6 100644 --- a/src/formulas/formulas/contract/staking/cw20Stake.ts +++ b/src/formulas/formulas/contract/staking/cw20Stake.ts @@ -302,3 +302,13 @@ export const topStakers: ContractFormula< })) }, } + +export const getHooks = makeSimpleContractFormula< + string[], + { hooks: string[] } +>({ + transformation: 'hooks', + fallbackKeys: ['hooks'], + fallback: { hooks: [] }, + transform: (hooks) => ({ hooks }), +}) diff --git a/src/formulas/formulas/contract/voting/daoVotingCw721Staked.ts b/src/formulas/formulas/contract/voting/daoVotingCw721Staked.ts index 297dd732..8fa967dd 100644 --- a/src/formulas/formulas/contract/voting/daoVotingCw721Staked.ts +++ b/src/formulas/formulas/contract/voting/daoVotingCw721Staked.ts @@ -256,3 +256,10 @@ export const ownersOfStakedNfts: ContractFormula> = { ) }, } + +export const hooks = makeSimpleContractFormula({ + transformation: 'hooks', + fallbackKeys: ['hooks'], + fallback: { hooks: [] }, + transform: (hooks) => ({ hooks }), +}) diff --git a/src/formulas/formulas/contract/voting/daoVotingNativeStaked.ts b/src/formulas/formulas/contract/voting/daoVotingNativeStaked.ts index 19abbe57..29cc98ab 100644 --- a/src/formulas/formulas/contract/voting/daoVotingNativeStaked.ts +++ b/src/formulas/formulas/contract/voting/daoVotingNativeStaked.ts @@ -152,3 +152,13 @@ export const topStakers: ContractFormula = { return stakers }, } + +export const getHooks = makeSimpleContractFormula< + string[], + { hooks: string[] } +>({ + transformation: 'hooks', + fallbackKeys: ['hooks'], + fallback: { hooks: [] }, + transform: (hooks) => ({ hooks }), +}) diff --git a/src/formulas/formulas/contract/voting/daoVotingOnftStaked.ts b/src/formulas/formulas/contract/voting/daoVotingOnftStaked.ts index 353ac462..57caa015 100644 --- a/src/formulas/formulas/contract/voting/daoVotingOnftStaked.ts +++ b/src/formulas/formulas/contract/voting/daoVotingOnftStaked.ts @@ -263,3 +263,9 @@ export const ownersOfStakedNfts: ContractFormula> = { ) }, } +export const hooks = makeSimpleContractFormula({ + transformation: 'hooks', + fallbackKeys: ['hooks'], + fallback: { hooks: [] }, + transform: (hooks) => ({ hooks }), +}) diff --git a/src/formulas/formulas/contract/voting/daoVotingSgCommunityNft.ts b/src/formulas/formulas/contract/voting/daoVotingSgCommunityNft.ts index f877e139..c58fc4aa 100644 --- a/src/formulas/formulas/contract/voting/daoVotingSgCommunityNft.ts +++ b/src/formulas/formulas/contract/voting/daoVotingSgCommunityNft.ts @@ -182,3 +182,10 @@ export const allVotersWithVotingPower: ContractFormula< return voters }, } + +export const hooks = makeSimpleContractFormula({ + transformation: 'hooks', + fallbackKeys: ['hooks'], + fallback: { hooks: [] }, + transform: (hooks) => ({ hooks }), +}) diff --git a/src/formulas/formulas/contract/voting/daoVotingTokenStaked.ts b/src/formulas/formulas/contract/voting/daoVotingTokenStaked.ts index 016de508..47b377df 100644 --- a/src/formulas/formulas/contract/voting/daoVotingTokenStaked.ts +++ b/src/formulas/formulas/contract/voting/daoVotingTokenStaked.ts @@ -164,3 +164,13 @@ export const topStakers: ContractFormula = { return stakers }, } + +export const getHooks = makeSimpleContractFormula< + string[], + { hooks: string[] } +>({ + transformation: 'hooks', + fallbackKeys: ['hooks'], + fallback: { hooks: [] }, + transform: (hooks) => ({ hooks }), +}) diff --git a/src/transformers/transformers/common.ts b/src/transformers/transformers/common.ts index e826aad5..0a662c37 100644 --- a/src/transformers/transformers/common.ts +++ b/src/transformers/transformers/common.ts @@ -19,4 +19,6 @@ const owner: Transformer = { getValue: (event) => event.valueJson.owner, } -export default [info, ownership, owner] +const hooks: Transformer = makeTransformer([], 'hooks') + +export default [info, ownership, owner, hooks] diff --git a/src/transformers/transformers/external/cw4Group.ts b/src/transformers/transformers/external/cw4Group.ts index 61bf60b1..8ae7e9ee 100644 --- a/src/transformers/transformers/external/cw4Group.ts +++ b/src/transformers/transformers/external/cw4Group.ts @@ -1,7 +1,8 @@ -import { makeTransformerForMap } from '../../utils' +import { makeTransformer, makeTransformerForMap } from '../../utils' const CODE_IDS_KEYS = ['cw4-group'] const member = makeTransformerForMap(CODE_IDS_KEYS, 'member', 'members') +const hooks = makeTransformer(CODE_IDS_KEYS, 'hooks', 'cw4-hooks') -export default [member] +export default [member, hooks]