From 5968660a816329fa8c3911966ff8c76f76edbb15 Mon Sep 17 00:00:00 2001
From: adairrr <32375605+adairrr@users.noreply.github.com>
Date: Thu, 31 Oct 2024 21:21:51 -0400
Subject: [PATCH] Ensure proper graphql endpoint is used

---
 .gitignore                                    |   3 +
 frontend/.env.example                         |   2 +-
 frontend/app/_components/codegen-contract.tsx |   9 +-
 .../cosmwasm-codegen/Cw20Base.client.ts       |  74 ++++-----
 .../Cw20Base.message-builder.ts               |   2 +-
 .../Cw20Base.message-composer.ts              |  74 ++++-----
 .../cosmwasm-codegen/Cw20Base.react-query.ts  |   2 +-
 .../cosmwasm-codegen/Cw20Base.types.ts        |   2 +-
 .../_generated/generated-abstract/index.ts    | 144 +++++++++++++++---
 .../app/_generated/generated-graphql/gql.ts   |   4 +-
 .../_generated/generated-graphql/graphql.ts   |   6 +-
 frontend/app/_hooks/useQueryAccountsById.ts   |   3 +-
 frontend/app/layout.tsx                       |   2 +-
 frontend/codegen.yml                          |   2 +-
 frontend/graphql.config.yml                   |   3 +-
 frontend/package.json                         |   9 +-
 frontend/pnpm-lock.yaml                       | 140 +++++++++++++----
 17 files changed, 331 insertions(+), 150 deletions(-)

diff --git a/.gitignore b/.gitignore
index 9767cb9..38fd2e0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,6 @@ schema/
 !/frontend/**
 
 build/
+
+.next
+# frontend/.next
diff --git a/frontend/.env.example b/frontend/.env.example
index a5096f8..c706367 100644
--- a/frontend/.env.example
+++ b/frontend/.env.example
@@ -1 +1 @@
-ABSTRACT_API_URL=https://api.abstract.money/graphql
+ABSTRACT_API_URL=https://api-hackmos-2024.up.railway.app/
diff --git a/frontend/app/_components/codegen-contract.tsx b/frontend/app/_components/codegen-contract.tsx
index e5d6359..9b2654a 100644
--- a/frontend/app/_components/codegen-contract.tsx
+++ b/frontend/app/_components/codegen-contract.tsx
@@ -26,8 +26,9 @@ export const CodegenContract: React.FC = () => {
   const { data: accountsMetadata } = useAccountsMetadataGraphQLQuery({ accountIds: accounts })
   const { data: balance, isLoading } = cw20Base.queries.useBalance({
     contractAddress,
-    args: { address: accountsMetadata?.[0]?.proxy ?? "" },
-    options: { enabled: !!accountsMetadata?.[0]?.proxy && !!contractAddress },
+    chainName: appChain.chainName,
+    args: { address: accountsMetadata?.[0]?.address ?? "" },
+    options: { enabled: !!accountsMetadata?.[0]?.address && !!contractAddress },
   })
 
   return (
@@ -40,7 +41,7 @@ export const CodegenContract: React.FC = () => {
           <p>Loading balance...</p>
         ) : balance ? (
           <div className="bg-gray-100 p-3 rounded-md">
-            <h3 className="font-semibold mb-2">Balance for address: {accountsMetadata?.[0]?.proxy ?? ""}</h3>
+            <h3 className="font-semibold mb-2">Balance for address: {accountsMetadata?.[0]?.address ?? ""}</h3>
             <p>
               <strong>Balance:</strong> {balance.balance}
             </p>
@@ -57,4 +58,4 @@ export const CodegenContract: React.FC = () => {
       </CardContent>
     </Card>
   )
-}
\ No newline at end of file
+}
diff --git a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.client.ts b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.client.ts
index c9fc45b..870fffd 100644
--- a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.client.ts
+++ b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.client.ts
@@ -1,5 +1,5 @@
 /**
-* This file was automatically generated by @abstract-money/ts-codegen@0.35.8.
+* This file was automatically generated by @abstract-money/ts-codegen@0.37.0-beta-3.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run the @abstract-money/ts-codegen generate command to regenerate this file.
 */
@@ -172,12 +172,12 @@ export interface Cw20BaseInterface extends Cw20BaseReadOnlyInterface {
   }: {
     amount: Uint128;
     recipient: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   burn: ({
     amount
   }: {
     amount: Uint128;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   send: ({
     amount,
     contract,
@@ -186,7 +186,7 @@ export interface Cw20BaseInterface extends Cw20BaseReadOnlyInterface {
     amount: Uint128;
     contract: string;
     msg: Binary;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   increaseAllowance: ({
     amount,
     expires,
@@ -195,7 +195,7 @@ export interface Cw20BaseInterface extends Cw20BaseReadOnlyInterface {
     amount: Uint128;
     expires?: Expiration;
     spender: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   decreaseAllowance: ({
     amount,
     expires,
@@ -204,7 +204,7 @@ export interface Cw20BaseInterface extends Cw20BaseReadOnlyInterface {
     amount: Uint128;
     expires?: Expiration;
     spender: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   transferFrom: ({
     amount,
     owner,
@@ -213,7 +213,7 @@ export interface Cw20BaseInterface extends Cw20BaseReadOnlyInterface {
     amount: Uint128;
     owner: string;
     recipient: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   sendFrom: ({
     amount,
     contract,
@@ -224,26 +224,26 @@ export interface Cw20BaseInterface extends Cw20BaseReadOnlyInterface {
     contract: string;
     msg: Binary;
     owner: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   burnFrom: ({
     amount,
     owner
   }: {
     amount: Uint128;
     owner: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   mint: ({
     amount,
     recipient
   }: {
     amount: Uint128;
     recipient: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   updateMinter: ({
     newMinter
   }: {
     newMinter?: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
   updateMarketing: ({
     description,
     marketing,
@@ -252,8 +252,8 @@ export interface Cw20BaseInterface extends Cw20BaseReadOnlyInterface {
     description?: string;
     marketing?: string;
     project?: string;
-  }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
-  uploadLogo: (logo: Logo, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise<ExecuteResult>;
+  }, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
+  uploadLogo: (logo: Logo, fee_?: number | StdFee | "auto", memo_?: string, funds_?: Coin[]) => Promise<ExecuteResult>;
 }
 export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInterface {
   client: SigningCosmWasmClient;
@@ -285,24 +285,24 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
   }: {
     amount: Uint128;
     recipient: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       transfer: {
         amount,
         recipient
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   burn = async ({
     amount
   }: {
     amount: Uint128;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       burn: {
         amount
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   send = async ({
     amount,
@@ -312,14 +312,14 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
     amount: Uint128;
     contract: string;
     msg: Binary;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       send: {
         amount,
         contract,
         msg
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   increaseAllowance = async ({
     amount,
@@ -329,14 +329,14 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
     amount: Uint128;
     expires?: Expiration;
     spender: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       increase_allowance: {
         amount,
         expires,
         spender
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   decreaseAllowance = async ({
     amount,
@@ -346,14 +346,14 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
     amount: Uint128;
     expires?: Expiration;
     spender: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       decrease_allowance: {
         amount,
         expires,
         spender
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   transferFrom = async ({
     amount,
@@ -363,14 +363,14 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
     amount: Uint128;
     owner: string;
     recipient: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       transfer_from: {
         amount,
         owner,
         recipient
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   sendFrom = async ({
     amount,
@@ -382,7 +382,7 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
     contract: string;
     msg: Binary;
     owner: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       send_from: {
         amount,
@@ -390,7 +390,7 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
         msg,
         owner
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   burnFrom = async ({
     amount,
@@ -398,13 +398,13 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
   }: {
     amount: Uint128;
     owner: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       burn_from: {
         amount,
         owner
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   mint = async ({
     amount,
@@ -412,24 +412,24 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
   }: {
     amount: Uint128;
     recipient: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       mint: {
         amount,
         recipient
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   updateMinter = async ({
     newMinter
   }: {
     newMinter?: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       update_minter: {
         new_minter: newMinter
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
   updateMarketing = async ({
     description,
@@ -439,18 +439,18 @@ export class Cw20BaseClient extends Cw20BaseQueryClient implements Cw20BaseInter
     description?: string;
     marketing?: string;
     project?: string;
-  }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  }, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       update_marketing: {
         description,
         marketing,
         project
       }
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
-  uploadLogo = async (logo: Logo, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise<ExecuteResult> => {
+  uploadLogo = async (logo: Logo, fee_: number | StdFee | "auto" = "auto", memo_?: string, funds_?: Coin[]): Promise<ExecuteResult> => {
     return await this.client.execute(this.sender, this.contractAddress, {
       upload_logo: logo
-    }, fee, memo, _funds);
+    }, fee_, memo_, funds_);
   };
 }
\ No newline at end of file
diff --git a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-builder.ts b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-builder.ts
index 4c20fa0..dfc043b 100644
--- a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-builder.ts
+++ b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-builder.ts
@@ -1,6 +1,6 @@
 // @ts-nocheck
           /**
-* This file was automatically generated by @abstract-money/ts-codegen@0.35.8.
+* This file was automatically generated by @abstract-money/ts-codegen@0.37.0-beta-3.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run the @abstract-money/ts-codegen generate command to regenerate this file.
 */
diff --git a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-composer.ts b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-composer.ts
index a05586e..3bcde76 100644
--- a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-composer.ts
+++ b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.message-composer.ts
@@ -1,6 +1,6 @@
 // @ts-nocheck
           /**
-* This file was automatically generated by @abstract-money/ts-codegen@0.35.8.
+* This file was automatically generated by @abstract-money/ts-codegen@0.37.0-beta-3.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run the @abstract-money/ts-codegen generate command to regenerate this file.
 */
@@ -20,12 +20,12 @@ transfer: ({
 }: {
   amount: Uint128;
   recipient: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 burn: ({
   amount
 }: {
   amount: Uint128;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 send: ({
   amount,
   contract,
@@ -34,7 +34,7 @@ send: ({
   amount: Uint128;
   contract: string;
   msg: Binary;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 increaseAllowance: ({
   amount,
   expires,
@@ -43,7 +43,7 @@ increaseAllowance: ({
   amount: Uint128;
   expires?: Expiration;
   spender: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 decreaseAllowance: ({
   amount,
   expires,
@@ -52,7 +52,7 @@ decreaseAllowance: ({
   amount: Uint128;
   expires?: Expiration;
   spender: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 transferFrom: ({
   amount,
   owner,
@@ -61,7 +61,7 @@ transferFrom: ({
   amount: Uint128;
   owner: string;
   recipient: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 sendFrom: ({
   amount,
   contract,
@@ -72,26 +72,26 @@ sendFrom: ({
   contract: string;
   msg: Binary;
   owner: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 burnFrom: ({
   amount,
   owner
 }: {
   amount: Uint128;
   owner: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 mint: ({
   amount,
   recipient
 }: {
   amount: Uint128;
   recipient: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 updateMinter: ({
   newMinter
 }: {
   newMinter?: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 updateMarketing: ({
   description,
   marketing,
@@ -100,8 +100,8 @@ updateMarketing: ({
   description?: string;
   marketing?: string;
   project?: string;
-}, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
-uploadLogo: (logo: Logo, _funds?: Coin[]) => MsgExecuteContractEncodeObject;
+}, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
+uploadLogo: (logo: Logo, funds_?: Coin[]) => MsgExecuteContractEncodeObject;
 }
 export class Cw20BaseMsgComposer implements Cw20BaseMsg {
 sender: string;
@@ -130,7 +130,7 @@ transfer = ({
 }: {
   amount: Uint128;
   recipient: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     transfer: {
       amount,
@@ -143,7 +143,7 @@ transfer = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -151,7 +151,7 @@ burn = ({
   amount
 }: {
   amount: Uint128;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     burn: {
       amount
@@ -163,7 +163,7 @@ burn = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -175,7 +175,7 @@ send = ({
   amount: Uint128;
   contract: string;
   msg: Binary;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     send: {
       amount,
@@ -189,7 +189,7 @@ send = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -201,7 +201,7 @@ increaseAllowance = ({
   amount: Uint128;
   expires?: Expiration;
   spender: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     increase_allowance: {
       amount,
@@ -215,7 +215,7 @@ increaseAllowance = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -227,7 +227,7 @@ decreaseAllowance = ({
   amount: Uint128;
   expires?: Expiration;
   spender: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     decrease_allowance: {
       amount,
@@ -241,7 +241,7 @@ decreaseAllowance = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -253,7 +253,7 @@ transferFrom = ({
   amount: Uint128;
   owner: string;
   recipient: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     transfer_from: {
       amount,
@@ -267,7 +267,7 @@ transferFrom = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -281,7 +281,7 @@ sendFrom = ({
   contract: string;
   msg: Binary;
   owner: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     send_from: {
       amount,
@@ -296,7 +296,7 @@ sendFrom = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -306,7 +306,7 @@ burnFrom = ({
 }: {
   amount: Uint128;
   owner: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     burn_from: {
       amount,
@@ -319,7 +319,7 @@ burnFrom = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -329,7 +329,7 @@ mint = ({
 }: {
   amount: Uint128;
   recipient: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     mint: {
       amount,
@@ -342,7 +342,7 @@ mint = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -350,7 +350,7 @@ updateMinter = ({
   newMinter
 }: {
   newMinter?: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     update_minter: {
       new_minter: newMinter
@@ -362,7 +362,7 @@ updateMinter = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
@@ -374,7 +374,7 @@ updateMarketing = ({
   description?: string;
   marketing?: string;
   project?: string;
-}, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+}, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     update_marketing: {
       description,
@@ -388,11 +388,11 @@ updateMarketing = ({
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
-uploadLogo = (logo: Logo, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
+uploadLogo = (logo: Logo, funds_?: Coin[]): MsgExecuteContractEncodeObject => {
   const _msg = {
     upload_logo: {}
   };
@@ -402,7 +402,7 @@ uploadLogo = (logo: Logo, _funds?: Coin[]): MsgExecuteContractEncodeObject => {
       sender: this.sender,
       contract: this.contractAddress,
       msg: toUtf8(JSON.stringify(_msg)),
-      funds: _funds
+      funds: funds_
     })
   };
 };
diff --git a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.react-query.ts b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.react-query.ts
index bd8f2ff..3d32ff3 100644
--- a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.react-query.ts
+++ b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.react-query.ts
@@ -1,5 +1,5 @@
 /**
-* This file was automatically generated by @abstract-money/ts-codegen@0.35.8.
+* This file was automatically generated by @abstract-money/ts-codegen@0.37.0-beta-3.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run the @abstract-money/ts-codegen generate command to regenerate this file.
 */
diff --git a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.types.ts b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.types.ts
index 143ad2a..6b39464 100644
--- a/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.types.ts
+++ b/frontend/app/_generated/generated-abstract/cosmwasm-codegen/Cw20Base.types.ts
@@ -1,5 +1,5 @@
 /**
-* This file was automatically generated by @abstract-money/ts-codegen@0.35.8.
+* This file was automatically generated by @abstract-money/ts-codegen@0.37.0-beta-3.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run the @abstract-money/ts-codegen generate command to regenerate this file.
 */
diff --git a/frontend/app/_generated/generated-abstract/index.ts b/frontend/app/_generated/generated-abstract/index.ts
index f4730ef..f8bde9e 100644
--- a/frontend/app/_generated/generated-abstract/index.ts
+++ b/frontend/app/_generated/generated-abstract/index.ts
@@ -49,8 +49,6 @@ import {
   useCw20BaseBalanceQuery,
 } from './cosmwasm-codegen/Cw20Base.react-query'
 
-import * as Cw20BaseTypes from './cosmwasm-codegen/Cw20Base.types'
-
 import {
   Cw20BaseQueryClient,
   Cw20BaseClient,
@@ -74,7 +72,10 @@ export const cw20Base = {
         typeof useCw20BaseDownloadLogoQuery<Cw20BaseTypes.DownloadLogoResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -93,7 +94,10 @@ export const cw20Base = {
         typeof useCw20BaseMarketingInfoQuery<Cw20BaseTypes.MarketingInfoResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -113,7 +117,10 @@ export const cw20Base = {
         typeof useCw20BaseAllAccountsQuery<Cw20BaseTypes.AllAccountsResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -134,7 +141,10 @@ export const cw20Base = {
         typeof useCw20BaseAllSpenderAllowancesQuery<Cw20BaseTypes.AllSpenderAllowancesResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -155,7 +165,10 @@ export const cw20Base = {
         typeof useCw20BaseAllAllowancesQuery<Cw20BaseTypes.AllAllowancesResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -176,7 +189,10 @@ export const cw20Base = {
         typeof useCw20BaseAllowanceQuery<Cw20BaseTypes.AllowanceResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -196,7 +212,10 @@ export const cw20Base = {
         typeof useCw20BaseMinterQuery<Cw20BaseTypes.MinterResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -215,7 +234,10 @@ export const cw20Base = {
         typeof useCw20BaseTokenInfoQuery<Cw20BaseTypes.TokenInfoResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -235,7 +257,10 @@ export const cw20Base = {
         typeof useCw20BaseBalanceQuery<Cw20BaseTypes.BalanceResponse>
       >[0],
       'client'
-    > & { contractAddress: string | undefined }) => {
+    > & {
+      contractAddress: string | undefined
+      chainName: string | undefined
+    }) => {
       const { data: cw20BaseQueryClient } = useModuleQueryClient({
         ...rest,
         Module: Cw20BaseQueryClient,
@@ -252,8 +277,13 @@ export const cw20Base = {
     useUploadLogo: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -271,6 +301,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -303,8 +334,13 @@ export const cw20Base = {
     useUpdateMarketing: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -322,6 +358,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -354,8 +391,13 @@ export const cw20Base = {
     useUpdateMinter: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -373,6 +415,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -405,8 +448,13 @@ export const cw20Base = {
     useMint: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -424,6 +472,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -456,8 +505,13 @@ export const cw20Base = {
     useBurnFrom: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -475,6 +529,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -507,8 +562,13 @@ export const cw20Base = {
     useSendFrom: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -526,6 +586,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -558,8 +619,13 @@ export const cw20Base = {
     useTransferFrom: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -577,6 +643,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -609,8 +676,13 @@ export const cw20Base = {
     useDecreaseAllowance: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -628,6 +700,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -660,8 +733,13 @@ export const cw20Base = {
     useIncreaseAllowance: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -679,6 +757,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -711,8 +790,13 @@ export const cw20Base = {
     useSend: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -730,6 +814,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -762,8 +847,13 @@ export const cw20Base = {
     useBurn: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -781,6 +871,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -813,8 +904,13 @@ export const cw20Base = {
     useTransfer: (
       {
         contractAddress,
+        chainName,
         sender,
-      }: { contractAddress: string | undefined; sender?: string | undefined },
+      }: {
+        contractAddress: string | undefined
+        chainName: string | undefined
+        sender?: string | undefined
+      },
       options?: Omit<
         UseMutationOptions<
           ExecuteResult,
@@ -832,6 +928,7 @@ export const cw20Base = {
         // error: cw20BaseClientError,
       } = useModuleClient({
         contractAddress,
+        chainName,
         Module: Cw20BaseClient,
       })
 
@@ -871,4 +968,5 @@ export const cw20Base = {
 export * from './cosmwasm-codegen/Cw20Base.client'
 export * from './cosmwasm-codegen/Cw20Base.message-builder'
 export * from './cosmwasm-codegen/Cw20Base.message-composer'
+import * as Cw20BaseTypes from './cosmwasm-codegen/Cw20Base.types'
 export { Cw20BaseTypes }
diff --git a/frontend/app/_generated/generated-graphql/gql.ts b/frontend/app/_generated/generated-graphql/gql.ts
index 882e3c6..7859a75 100644
--- a/frontend/app/_generated/generated-graphql/gql.ts
+++ b/frontend/app/_generated/generated-graphql/gql.ts
@@ -14,7 +14,7 @@ import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-
  * Learn more about it here: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client#reducing-bundle-size
  */
 const documents = {
-    "\n  query AccountsMetadata($ids: [AccountIdWithChain!]!) {\n    accountsByIds(ids: $ids) {\n      id\n      info { name chainId description link }\n      proxy\n      manager\n      owner\n    }\n  }\n": types.AccountsMetadataDocument,
+    "\n  query AccountsMetadata($ids: [AccountIdWithChain!]!) {\n    accountsByIds(ids: $ids) {\n      id\n      info { name chainId description link }\n      address\n      owner\n    }\n  }\n": types.AccountsMetadataDocument,
 };
 
 /**
@@ -34,7 +34,7 @@ export function gql(source: string): unknown;
 /**
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
  */
-export function gql(source: "\n  query AccountsMetadata($ids: [AccountIdWithChain!]!) {\n    accountsByIds(ids: $ids) {\n      id\n      info { name chainId description link }\n      proxy\n      manager\n      owner\n    }\n  }\n"): (typeof documents)["\n  query AccountsMetadata($ids: [AccountIdWithChain!]!) {\n    accountsByIds(ids: $ids) {\n      id\n      info { name chainId description link }\n      proxy\n      manager\n      owner\n    }\n  }\n"];
+export function gql(source: "\n  query AccountsMetadata($ids: [AccountIdWithChain!]!) {\n    accountsByIds(ids: $ids) {\n      id\n      info { name chainId description link }\n      address\n      owner\n    }\n  }\n"): (typeof documents)["\n  query AccountsMetadata($ids: [AccountIdWithChain!]!) {\n    accountsByIds(ids: $ids) {\n      id\n      info { name chainId description link }\n      address\n      owner\n    }\n  }\n"];
 
 export function gql(source: string) {
   return (documents as any)[source] ?? {};
diff --git a/frontend/app/_generated/generated-graphql/graphql.ts b/frontend/app/_generated/generated-graphql/graphql.ts
index 870586e..1654d81 100644
--- a/frontend/app/_generated/generated-graphql/graphql.ts
+++ b/frontend/app/_generated/generated-graphql/graphql.ts
@@ -106,7 +106,7 @@ export enum ModuleStatus {
 
 /** The different types of modules supported by Abstract. */
 export enum ModuleType {
-  AccountBase = 'account_base',
+  Account = 'account',
   Adapter = 'adapter',
   App = 'app',
   Native = 'native',
@@ -136,7 +136,7 @@ export type AccountsMetadataQueryVariables = Exact<{
 }>;
 
 
-export type AccountsMetadataQuery = { __typename?: 'Query', accountsByIds: Array<{ __typename?: 'AbstractAccount', id: string, proxy: string, manager: string, owner?: string | null, info: { __typename?: 'AccountInfo', name: string, chainId: string, description?: string | null, link?: string | null } }> };
+export type AccountsMetadataQuery = { __typename?: 'Query', accountsByIds: Array<{ __typename?: 'AbstractAccount', id: string, address: string, owner?: string | null, info: { __typename?: 'AccountInfo', name?: string | null, chainId: string, description?: string | null, link?: string | null } }> };
 
 
-export const AccountsMetadataDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"AccountsMetadata"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"ids"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AccountIdWithChain"}}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"accountsByIds"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"ids"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"info"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"chainId"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"link"}}]}},{"kind":"Field","name":{"kind":"Name","value":"proxy"}},{"kind":"Field","name":{"kind":"Name","value":"manager"}},{"kind":"Field","name":{"kind":"Name","value":"owner"}}]}}]}}]} as unknown as DocumentNode<AccountsMetadataQuery, AccountsMetadataQueryVariables>;
\ No newline at end of file
+export const AccountsMetadataDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"AccountsMetadata"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"ids"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AccountIdWithChain"}}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"accountsByIds"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"ids"},"value":{"kind":"Variable","name":{"kind":"Name","value":"ids"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"info"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"chainId"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"link"}}]}},{"kind":"Field","name":{"kind":"Name","value":"address"}},{"kind":"Field","name":{"kind":"Name","value":"owner"}}]}}]}}]} as unknown as DocumentNode<AccountsMetadataQuery, AccountsMetadataQueryVariables>;
\ No newline at end of file
diff --git a/frontend/app/_hooks/useQueryAccountsById.ts b/frontend/app/_hooks/useQueryAccountsById.ts
index e6f4dea..8fb28f6 100644
--- a/frontend/app/_hooks/useQueryAccountsById.ts
+++ b/frontend/app/_hooks/useQueryAccountsById.ts
@@ -8,8 +8,7 @@ export const ACCOUNTS_METADATA_QUERY = gql(/* GraphQL */ `
     accountsByIds(ids: $ids) {
       id
       info { name chainId description link }
-      proxy
-      manager
+      address
       owner
     }
   }
diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx
index cc0bea5..99bdfe8 100644
--- a/frontend/app/layout.tsx
+++ b/frontend/app/layout.tsx
@@ -32,7 +32,7 @@ const poppins = Poppins({
 
 const abstractConfig = createConfig({
   provider: grazProvider,
-  apiUrl: process.env.NEXT_PUBLIC_ABSTRACT_API_URL || 'https://api.abstract.money/graphql',
+  apiUrl: process.env.NEXT_PUBLIC_ABSTRACT_API_URL || 'https://api-hackmos-2024.up.railway.app/',
 })
 
 export default function RootLayout({
diff --git a/frontend/codegen.yml b/frontend/codegen.yml
index 52be5de..44044a5 100644
--- a/frontend/codegen.yml
+++ b/frontend/codegen.yml
@@ -1,4 +1,4 @@
-schema: "https://api.abstract.money/graphql" # This can be the API URL or the schema document
+schema: "https://api-hackmos-2024.up.railway.app/graphql" # This can be the API URL or the schema document
 # schema: "https://api.abstract.money/graphql"
 
 documents: ["./app/**/*.{tsx,ts}", "!./app/_generated/generated-graphql/**/*"]
diff --git a/frontend/graphql.config.yml b/frontend/graphql.config.yml
index 2c83514..04bff20 100644
--- a/frontend/graphql.config.yml
+++ b/frontend/graphql.config.yml
@@ -1 +1,2 @@
-schema: "https://api.abstract.money/graphql"
+schema: "https://api-hackmos-2024.up.railway.app/graphql"
+# schema: "https://api.abstract.money/graphql"
diff --git a/frontend/package.json b/frontend/package.json
index 45cab45..01959ca 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -14,15 +14,15 @@
   },
   "dependencies": {
     "@abstract-money/cli": "^1.2.0",
-    "@abstract-money/core": "^3.0.0",
-    "@abstract-money/provider-graz": "^7.0.0",
-    "@abstract-money/react": "^2.0.0",
+    "@abstract-money/core": "^3.2.0",
+    "@abstract-money/provider-graz": "^9.0.0",
+    "@abstract-money/react": "^2.2.0",
     "@graphql-codegen/cli": "^5.0.3",
     "@graphql-codegen/client-preset": "^4.4.0",
     "@graphql-typed-document-node/core": "^3.2.0",
     "@keplr-wallet/types": "0.12.23",
     "@radix-ui/react-slot": "^1.1.0",
-    "@tanstack/react-query": "^4.36.1",
+    "@tanstack/react-query": "^4.35.0",
     "class-variance-authority": "^0.7.0",
     "clsx": "^2.1.1",
     "generate": "^0.14.0",
@@ -41,6 +41,7 @@
     "@types/react": "^18",
     "@types/react-dom": "^18",
     "eslint": "^8",
+    "graphql": "^16.8.1",
     "eslint-config-next": "14.2.15",
     "postcss": "^8",
     "tailwindcss": "^3.4.1",
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
index ce14911..63ca006 100644
--- a/frontend/pnpm-lock.yaml
+++ b/frontend/pnpm-lock.yaml
@@ -5,14 +5,14 @@ dependencies:
     specifier: ^1.2.0
     version: 1.2.0(esbuild@0.16.17)(typescript@5.0.2)
   '@abstract-money/core':
-    specifier: ^3.0.0
-    version: 3.0.0(graphql@16.9.0)(typescript@5.0.2)
+    specifier: ^3.2.0
+    version: 3.2.0(graphql@16.9.0)(typescript@5.0.2)
   '@abstract-money/provider-graz':
-    specifier: ^7.0.0
-    version: 7.0.0(@abstract-money/core@3.0.0)(@abstract-money/react@2.0.0)(graz@0.1.25)(typescript@5.0.2)
+    specifier: ^9.0.0
+    version: 9.0.0(@abstract-money/core@3.2.0)(@abstract-money/react@2.2.0)(graz@0.1.25)(typescript@5.0.2)
   '@abstract-money/react':
-    specifier: ^2.0.0
-    version: 2.0.0(graphql@16.9.0)(react-dom@18.0.0)(react@18.0.0)(typescript@5.0.2)
+    specifier: ^2.2.0
+    version: 2.2.0(graphql@16.9.0)(react-dom@18.0.0)(react@18.0.0)(typescript@5.0.2)
   '@graphql-codegen/cli':
     specifier: ^5.0.3
     version: 5.0.3(@types/node@20.0.0)(graphql@16.9.0)(typescript@5.0.2)
@@ -29,8 +29,8 @@ dependencies:
     specifier: ^1.1.0
     version: 1.1.0(@types/react@18.0.0)(react@18.0.0)
   '@tanstack/react-query':
-    specifier: ^4.36.1
-    version: 4.36.1(react-dom@18.0.0)(react@18.0.0)
+    specifier: ^4.35.0
+    version: 4.35.0(react-dom@18.0.0)(react@18.0.0)
   class-variance-authority:
     specifier: ^0.7.0
     version: 0.7.0
@@ -84,6 +84,9 @@ devDependencies:
   eslint-config-next:
     specifier: 14.2.15
     version: 14.2.15(eslint@8.0.0)(typescript@5.0.2)
+  graphql:
+    specifier: ^16.8.1
+    version: 16.9.0
   postcss:
     specifier: ^8
     version: 8.0.0
@@ -143,21 +146,21 @@ packages:
       - utf-8-validate
     dev: false
 
-  /@abstract-money/core@3.0.0(graphql@16.9.0)(typescript@5.0.2):
-    resolution: {integrity: sha512-5nH1Uer383qN36Xmnb66mpTXogByWNmpfHHlHrWtrdrLChM1pIm6GcP3xijlW3akjBHs2eLEh/61jA84MdpZUA==}
+  /@abstract-money/core@3.2.0(graphql@16.9.0)(typescript@5.0.2):
+    resolution: {integrity: sha512-8bo0lSD5Z+Dj8Itsi0lEaN5gli+EuPEmsU+UENSqQIQ4jLxKpSFwx48RewUDoN4h0khw3iPQoIaG1lx3h6dvVQ==}
     peerDependencies:
       typescript: '>=5.0.4'
     peerDependenciesMeta:
       typescript:
         optional: true
     dependencies:
-      '@abstract-money/cosmwasm-utils': 0.3.0(typescript@5.0.2)
+      '@abstract-money/cosmwasm-utils': 0.3.1(typescript@5.0.2)
       '@chain-registry/types': 0.45.86
-      '@cosmjs/cosmwasm-stargate': 0.32.4
-      '@cosmjs/encoding': 0.32.4
-      '@cosmjs/proto-signing': 0.32.4
-      '@cosmjs/stargate': 0.32.4
-      '@cosmjs/tendermint-rpc': 0.32.4
+      '@cosmjs/cosmwasm-stargate': 0.32.3
+      '@cosmjs/encoding': 0.32.3
+      '@cosmjs/proto-signing': 0.32.3
+      '@cosmjs/stargate': 0.32.3
+      '@cosmjs/tendermint-rpc': 0.32.3
       '@rimbu/bimap': 1.1.1
       bech32: 2.0.0
       chain-registry: 1.69.8
@@ -180,8 +183,8 @@ packages:
       - utf-8-validate
     dev: false
 
-  /@abstract-money/cosmwasm-utils@0.3.0(typescript@5.0.2):
-    resolution: {integrity: sha512-/J6vdsDvpDBYl6PHz64RsHg0BmyUTe9y/jmx290oam6u5+gYL353A6M++Ao8mfZj1XJFV1XM//26DhVUhpTdBA==}
+  /@abstract-money/cosmwasm-utils@0.3.1(typescript@5.0.2):
+    resolution: {integrity: sha512-grbSW0cdkYH/HghlcsicQQG57ChY9NCzU6nFHxEFe77ehpA1buV4g304m5BYhXtZxgU2/tqvTCEiCnWEPAoW2g==}
     engines: {node: '>=10'}
     peerDependencies:
       typescript: '>=5.0.4'
@@ -199,25 +202,25 @@ packages:
       - utf-8-validate
     dev: false
 
-  /@abstract-money/provider-graz@7.0.0(@abstract-money/core@3.0.0)(@abstract-money/react@2.0.0)(graz@0.1.25)(typescript@5.0.2):
-    resolution: {integrity: sha512-kjUS5Awljptm36y2Gu11UbuVRitzBHdjseRh+KL0zqnyUcxZP/mzs6OU3oQHcQOG0SwtDzu3zmZdhJL3v1reLw==}
+  /@abstract-money/provider-graz@9.0.0(@abstract-money/core@3.2.0)(@abstract-money/react@2.2.0)(graz@0.1.25)(typescript@5.0.2):
+    resolution: {integrity: sha512-mqv++2fW0Sx6ReZGAygEne8ik7DX2TzPttdxzzEoHxqXLDFNWsfFqmO3u1QHBKBDBQx9CKDQxSUde2FGp4FYqg==}
     peerDependencies:
-      '@abstract-money/core': 3.0.0
-      '@abstract-money/react': 2.0.0
+      '@abstract-money/core': 3.2.0
+      '@abstract-money/react': 2.2.0
       graz: ^0.1.19
       typescript: '>=5.0.4'
     peerDependenciesMeta:
       typescript:
         optional: true
     dependencies:
-      '@abstract-money/core': 3.0.0(graphql@16.9.0)(typescript@5.0.2)
-      '@abstract-money/react': 2.0.0(graphql@16.9.0)(react-dom@18.0.0)(react@18.0.0)(typescript@5.0.2)
+      '@abstract-money/core': 3.2.0(graphql@16.9.0)(typescript@5.0.2)
+      '@abstract-money/react': 2.2.0(graphql@16.9.0)(react-dom@18.0.0)(react@18.0.0)(typescript@5.0.2)
       graz: 0.1.25(@cosmjs/amino@0.31.3)(@cosmjs/cosmwasm-stargate@0.31.3)(@cosmjs/launchpad@0.27.1)(@cosmjs/proto-signing@0.31.3)(@cosmjs/stargate@0.31.3)(@cosmjs/tendermint-rpc@0.31.3)(@leapwallet/cosmos-social-login-capsule-provider@0.0.41)(@terra-money/feather.js@3.0.0-beta.3)(@types/react@18.0.0)(axios@0.27.2)(react-dom@18.0.0)(react@18.0.0)
       typescript: 5.0.2
     dev: false
 
-  /@abstract-money/react@2.0.0(graphql@16.9.0)(react-dom@18.0.0)(react@18.0.0)(typescript@5.0.2):
-    resolution: {integrity: sha512-iO2ck53zLXzL6zKvSCFz2OsJtvWXx/xWXVeiwtTEVXBVubTEh+iD+JpfiWltX4mMLx9Mu1v4stTrFZ/QmbZFiw==}
+  /@abstract-money/react@2.2.0(graphql@16.9.0)(react-dom@18.0.0)(react@18.0.0)(typescript@5.0.2):
+    resolution: {integrity: sha512-vPZoTgpqHEZmrqvQpJpmWH/83Dfq8pznRWCgBb9gZh51cFaFZwnO5/aHgAp87tkRfrDk1dqgpopymwvtWw/DEw==}
     peerDependencies:
       react: '>=18.0.0'
       typescript: '>=5.0.4'
@@ -225,7 +228,7 @@ packages:
       typescript:
         optional: true
     dependencies:
-      '@abstract-money/core': 3.0.0(graphql@16.9.0)(typescript@5.0.2)
+      '@abstract-money/core': 3.2.0(graphql@16.9.0)(typescript@5.0.2)
       '@cosmjs/cosmwasm-stargate': 0.32.4
       '@cosmjs/encoding': 0.32.4
       '@cosmjs/proto-signing': 0.32.4
@@ -2173,6 +2176,25 @@ packages:
       - utf-8-validate
     dev: false
 
+  /@cosmjs/cosmwasm-stargate@0.32.3:
+    resolution: {integrity: sha512-pqkt+QsLIPNMTRh9m+igJgIpzXXgn1BxmxfAb9zlC23kvsuzY/12un9M7iAdim1NwKXDFeYw46xC2YkprwQp+g==}
+    dependencies:
+      '@cosmjs/amino': 0.32.4
+      '@cosmjs/crypto': 0.32.4
+      '@cosmjs/encoding': 0.32.4
+      '@cosmjs/math': 0.32.4
+      '@cosmjs/proto-signing': 0.32.4
+      '@cosmjs/stargate': 0.32.4
+      '@cosmjs/tendermint-rpc': 0.32.4
+      '@cosmjs/utils': 0.32.4
+      cosmjs-types: 0.9.0
+      pako: 2.1.0
+    transitivePeerDependencies:
+      - bufferutil
+      - debug
+      - utf-8-validate
+    dev: false
+
   /@cosmjs/cosmwasm-stargate@0.32.4:
     resolution: {integrity: sha512-Fuo9BGEiB+POJ5WeRyBGuhyKR1ordvxZGLPuPosFJOH9U0gKMgcjwKMCgAlWFkMlHaTB+tNdA8AifWiHrI7VgA==}
     dependencies:
@@ -2247,6 +2269,14 @@ packages:
       readonly-date: 1.0.0
     dev: false
 
+  /@cosmjs/encoding@0.32.3:
+    resolution: {integrity: sha512-p4KF7hhv8jBQX3MkB3Defuhz/W0l3PwWVYU2vkVuBJ13bJcXyhU9nJjiMkaIv+XP+W2QgRceqNNgFUC5chNR7w==}
+    dependencies:
+      base64-js: 1.5.1
+      bech32: 1.1.4
+      readonly-date: 1.0.0
+    dev: false
+
   /@cosmjs/encoding@0.32.4:
     resolution: {integrity: sha512-tjvaEy6ZGxJchiizzTn7HVRiyTg1i4CObRRaTRPknm5EalE13SV+TCHq38gIDfyUeden4fCuaBVEdBR5+ti7Hw==}
     dependencies:
@@ -2313,6 +2343,17 @@ packages:
       long: 4.0.0
     dev: false
 
+  /@cosmjs/proto-signing@0.32.3:
+    resolution: {integrity: sha512-kSZ0ZUY0DwcRT0NcIn2HkadH4NKlwjfZgbLj1ABwh/4l0RgeT84QCscZCu63tJYq3K6auwqTiZSZERwlO4/nbg==}
+    dependencies:
+      '@cosmjs/amino': 0.32.4
+      '@cosmjs/crypto': 0.32.4
+      '@cosmjs/encoding': 0.32.4
+      '@cosmjs/math': 0.32.4
+      '@cosmjs/utils': 0.32.4
+      cosmjs-types: 0.9.0
+    dev: false
+
   /@cosmjs/proto-signing@0.32.4:
     resolution: {integrity: sha512-QdyQDbezvdRI4xxSlyM1rSVBO2st5sqtbEIl3IX03uJ7YiZIQHyv6vaHVf1V4mapusCqguiHJzm4N4gsFdLBbQ==}
     dependencies:
@@ -2369,6 +2410,25 @@ packages:
       - utf-8-validate
     dev: false
 
+  /@cosmjs/stargate@0.32.3:
+    resolution: {integrity: sha512-OQWzO9YWKerUinPIxrO1MARbe84XkeXJAW0lyMIjXIEikajuXZ+PwftiKA5yA+8OyditVmHVLtPud6Pjna2s5w==}
+    dependencies:
+      '@confio/ics23': 0.6.8
+      '@cosmjs/amino': 0.32.4
+      '@cosmjs/encoding': 0.32.4
+      '@cosmjs/math': 0.32.4
+      '@cosmjs/proto-signing': 0.32.4
+      '@cosmjs/stream': 0.32.4
+      '@cosmjs/tendermint-rpc': 0.32.4
+      '@cosmjs/utils': 0.32.4
+      cosmjs-types: 0.9.0
+      xstream: 11.14.0
+    transitivePeerDependencies:
+      - bufferutil
+      - debug
+      - utf-8-validate
+    dev: false
+
   /@cosmjs/stargate@0.32.4:
     resolution: {integrity: sha512-usj08LxBSsPRq9sbpCeVdyLx2guEcOHfJS9mHGCLCXpdAPEIEQEtWLDpEUc0LEhWOx6+k/ChXTc5NpFkdrtGUQ==}
     dependencies:
@@ -2419,6 +2479,25 @@ packages:
       - utf-8-validate
     dev: false
 
+  /@cosmjs/tendermint-rpc@0.32.3:
+    resolution: {integrity: sha512-xeprW+VR9xKGstqZg0H/KBZoUp8/FfFyS9ljIUTLM/UINjP2MhiwncANPS2KScfJVepGufUKk0/phHUeIBSEkw==}
+    dependencies:
+      '@cosmjs/crypto': 0.32.4
+      '@cosmjs/encoding': 0.32.4
+      '@cosmjs/json-rpc': 0.32.4
+      '@cosmjs/math': 0.32.4
+      '@cosmjs/socket': 0.32.4
+      '@cosmjs/stream': 0.32.4
+      '@cosmjs/utils': 0.32.4
+      axios: 1.7.7
+      readonly-date: 1.0.0
+      xstream: 11.14.0
+    transitivePeerDependencies:
+      - bufferutil
+      - debug
+      - utf-8-validate
+    dev: false
+
   /@cosmjs/tendermint-rpc@0.32.4:
     resolution: {integrity: sha512-MWvUUno+4bCb/LmlMIErLypXxy7ckUuzEmpufYYYd9wgbdCXaTaO08SZzyFM5PI8UJ/0S2AmUrgWhldlbxO8mw==}
     dependencies:
@@ -3397,7 +3476,7 @@ packages:
       graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
     dependencies:
       graphql: 16.9.0
-      tslib: 2.6.3
+      tslib: 2.8.0
     dev: false
 
   /@graphql-tools/prisma-loader@8.0.9(@types/node@20.0.0)(graphql@16.9.0):
@@ -3440,7 +3519,7 @@ packages:
       '@ardatan/relay-compiler': 12.0.0(graphql@16.9.0)
       '@graphql-tools/utils': 10.5.5(graphql@16.9.0)
       graphql: 16.9.0
-      tslib: 2.6.3
+      tslib: 2.8.0
     transitivePeerDependencies:
       - encoding
       - supports-color
@@ -10412,7 +10491,7 @@ packages:
       graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
     dependencies:
       graphql: 16.9.0
-      tslib: 2.6.3
+      tslib: 2.8.0
     dev: false
 
   /graphql-ws@5.16.0(graphql@16.9.0):
@@ -10427,7 +10506,6 @@ packages:
   /graphql@16.9.0:
     resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==}
     engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
-    dev: false
 
   /gray-matter@3.1.1:
     resolution: {integrity: sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA==}