diff --git a/src/App.tsx b/src/App.tsx index 84d6c851..46febaf3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -20,7 +20,7 @@ import { ActionSheetProvider } from "modules/explorer/context/ActionSheets" import { legacyTheme } from "theme/legacy" import { Footer } from "modules/common/Footer" import { FAQ } from "modules/home/FAQ" -import { EnvKey, getEnv } from "services/config" +import { EnvKey, HUMANITEZ_DAO, getEnv } from "services/config" import { DAOCreatorRouter } from "modules/creator/router" import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider" import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs" @@ -124,7 +124,7 @@ const App: React.FC = () => { - {window.location.href.indexOf("KT1PY9PXm8NMAgSEZg7bUtFjmV2Sj64bKuVV") !== -1 ? ( + {window.location.href.indexOf(HUMANITEZ_DAO) !== -1 ? ( <> {/* Special case for this DAO which was created before FA1.2 fix was created for the smart contract */} [char2Bytes(item.key), char2Bytes(item.value)]), diff --git a/src/services/contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/transfer_proposal_type_before_fa1.2.json b/src/services/contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/transfer_proposal_type_before_fa1.2.json new file mode 100644 index 00000000..77ebf537 --- /dev/null +++ b/src/services/contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/transfer_proposal_type_before_fa1.2.json @@ -0,0 +1,137 @@ +{ + "prim": "pair", + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "nat", + "annots": [ + "%agora_post_id" + ] + }, + { + "prim": "list", + "annots": [ + "%registry_diff" + ], + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "string" + }, + { + "prim": "option", + "args": [ + { + "prim": "string" + } + ] + } + ] + } + ] + } + ] + }, + { + "prim": "list", + "annots": [ + "%transfers" + ], + "args": [ + { + "prim": "or", + "args": [ + { + "prim": "pair", + "annots": [ + "%xtz_transfer_type" + ], + "args": [ + { + "prim": "mutez", + "annots": [ + "%amount" + ] + }, + { + "prim": "address", + "annots": [ + "%recipient" + ] + } + ] + }, + { + "prim": "pair", + "annots": [ + "%token_transfer_type" + ], + "args": [ + { + "prim": "address", + "annots": [ + "%contract_address" + ] + }, + { + "prim": "list", + "annots": [ + "%transfer_list" + ], + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "address", + "annots": [ + "%from_" + ] + }, + { + "prim": "list", + "annots": [ + "%txs" + ], + "args": [ + { + "prim": "pair", + "args": [ + { + "prim": "address", + "annots": [ + "%to_" + ] + }, + { + "prim": "nat", + "annots": [ + "%token_id" + ] + }, + { + "prim": "nat", + "annots": [ + "%amount" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/services/services/dao/mappers/proposal/types.ts b/src/services/services/dao/mappers/proposal/types.ts index ac0e3e2d..31f74571 100644 --- a/src/services/services/dao/mappers/proposal/types.ts +++ b/src/services/services/dao/mappers/proposal/types.ts @@ -10,10 +10,12 @@ import { bytes2Char } from "@taquito/tzip16" import { BaseDAO } from "services/contracts/baseDAO" import { DAOTemplate } from "modules/creator/state" import transfer_arg_type_michelson from "../../../../contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/transfer_proposal_type.json" +import transfer_proposal_type_before_fa12 from "../../../../contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/transfer_proposal_type_before_fa1.2.json" import update_contract_delegate_type_michelson from "../../../../contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/update_contract_delegate_proposal.json" import update_guardian_type_michelson from "../../../../contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/update_guardian_proposal.json" import configuration_proposal_type_michelson from "../../../../contracts/baseDAO/lambdaDAO/michelson/supported_lambda_types/configuration_proposal_type.json" import { PMLambdaProposal } from "services/contracts/baseDAO/lambdaDAO/types" +import { HUMANITEZ_DAO } from "services/config" export enum IndexerStatus { CREATED = "created", @@ -324,7 +326,9 @@ export class LambdaProposal extends Proposal { ) if (lambdaMetadata.lambdaHandler.handler_name === "transfer_proposal") { - const transfer_arg_schema = new Schema(transfer_arg_type_michelson as MichelsonData) + const transfer_michelson = + this.dao.data.address === HUMANITEZ_DAO ? transfer_proposal_type_before_fa12 : transfer_arg_type_michelson + const transfer_arg_schema = new Schema(transfer_michelson as MichelsonData) const transfer_proposal_data = transfer_arg_schema.Execute(lambdaMetadata.lambdaHandler.unpacked_argument) const { agora_post_id, registry_diff, transfers } = transfer_proposal_data