diff --git a/packages/onchaintrust-snap/images/icon-sm.svg b/packages/onchaintrust-snap/images/icon-sm.svg
new file mode 100644
index 0000000..0b864d2
--- /dev/null
+++ b/packages/onchaintrust-snap/images/icon-sm.svg
@@ -0,0 +1,24 @@
+
+
+
diff --git a/packages/onchaintrust-snap/snap.config.ts b/packages/onchaintrust-snap/snap.config.ts
index 6e6100b..b10d7b5 100644
--- a/packages/onchaintrust-snap/snap.config.ts
+++ b/packages/onchaintrust-snap/snap.config.ts
@@ -2,7 +2,7 @@ import type { SnapConfig } from '@metamask/snaps-cli';
import { resolve } from 'path';
const config: SnapConfig = {
- input: resolve(__dirname, 'src/index.ts'),
+ input: resolve(__dirname, 'src/index.tsx'),
server: {
port: 8080,
},
diff --git a/packages/onchaintrust-snap/snap.manifest.json b/packages/onchaintrust-snap/snap.manifest.json
index dd274b0..490c243 100644
--- a/packages/onchaintrust-snap/snap.manifest.json
+++ b/packages/onchaintrust-snap/snap.manifest.json
@@ -7,7 +7,7 @@
"url": "https://github.com/OnChainTrust/onchaintrust-snap.git"
},
"source": {
- "shasum": "+S9dM+erS0GOV1AWm2MxKJVJfvigx6knvyF15zGU3HM=",
+ "shasum": "E0NYWHnFys84r72pOYrCa2M3ZsyNVYYfyQMPAMJ0naI=",
"location": {
"npm": {
"filePath": "dist/bundle.js",
@@ -21,7 +21,8 @@
"endowment:transaction-insight": {
"allowTransactionOrigin": true
},
- "endowment:network-access": {}
+ "endowment:network-access": {},
+ "endowment:page-home": {}
},
"platformVersion": "9.2.0",
"manifestVersion": "0.1"
diff --git a/packages/onchaintrust-snap/src/index.ts b/packages/onchaintrust-snap/src/index.ts
deleted file mode 100644
index 7c04f06..0000000
--- a/packages/onchaintrust-snap/src/index.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import type { OnTransactionHandler } from '@metamask/snaps-sdk';
-import { SeverityLevel } from '@metamask/snaps-sdk';
-
-import { requestUiDefinition } from './api';
-import { renderUI, errorElements } from './ui';
-
-export const onTransaction: OnTransactionHandler = async ({
- transactionOrigin,
- chainId,
- transaction,
-}) => {
- const result = await requestUiDefinition(
- transaction.to ?? '',
- transactionOrigin ?? '',
- chainId,
- );
-
- const ui = result.ok
- ? result.data.ui
- : errorElements('Unable to load data. Please try again later.');
-
- const content = renderUI(ui);
-
- return result.ok && result.data.severity === 'critical'
- ? { content, severity: SeverityLevel.Critical }
- : { content };
-};
diff --git a/packages/onchaintrust-snap/src/index.tsx b/packages/onchaintrust-snap/src/index.tsx
new file mode 100644
index 0000000..6918fcf
--- /dev/null
+++ b/packages/onchaintrust-snap/src/index.tsx
@@ -0,0 +1,58 @@
+import type {
+ OnTransactionHandler,
+ OnHomePageHandler,
+} from '@metamask/snaps-sdk';
+import { SeverityLevel } from '@metamask/snaps-sdk';
+import { Box, Link, Text, Divider, Section } from '@metamask/snaps-sdk/jsx';
+
+import { requestUiDefinition } from './api';
+import { renderUI, errorElements } from './ui';
+
+export const onTransaction: OnTransactionHandler = async ({
+ transactionOrigin,
+ chainId,
+ transaction,
+}) => {
+ const result = await requestUiDefinition(
+ transaction.to ?? '',
+ transactionOrigin ?? '',
+ chainId,
+ );
+
+ const ui = result.ok
+ ? result.data.ui
+ : errorElements('Unable to load data. Please try again later.');
+
+ const content = renderUI(ui);
+
+ return result.ok && result.data.severity === 'critical'
+ ? { content, severity: SeverityLevel.Critical }
+ : { content };
+};
+
+export const onHomePage: OnHomePageHandler = async () => {
+ return {
+ content: (
+
+
+ Make your web3-interactions safer and more transparent.
+
+ Protect your assets with advanced security checks and real-time
+ insights before every transaction.
+
+ Learn more
+
+
+
+
+ Do you run a Web3 application? Keep your users safe with
+ OnChainTrust.
+
+
+ Verify your domain and enable protection
+
+
+
+ ),
+ };
+};