diff --git a/src/extensions/entity/register.ts b/src/extensions/entity/register.ts
index 3d43511..2ab25e2 100644
--- a/src/extensions/entity/register.ts
+++ b/src/extensions/entity/register.ts
@@ -1,7 +1,8 @@
import { App } from './src/EntityApp'
-import { EntityConfig } from '@peerme/core-ts'
import { LogoBlack } from './meta/LogoBlack'
import { LogoWhite } from './meta/LogoWhite'
+import { EntityConfig } from '@peerme/core-ts'
+import { EntityContracts } from './src/contracts'
import { ExtensionConfig, ExtensionInfo } from '../../shared/types'
export const DaoExtension = (config: ExtensionConfig): ExtensionInfo => ({
@@ -14,7 +15,7 @@ export const DaoExtension = (config: ExtensionConfig): ExtensionInfo => ({
Dark: LogoWhite,
},
Tags: [],
- Contracts: {},
+ Contracts: EntityContracts(config),
AppRoot: App,
WidgetRoots: {},
Developer: {
diff --git a/src/extensions/entity/src/BoostSection.tsx b/src/extensions/entity/src/BoostSection.tsx
index 5bd5f2a..aa39871 100644
--- a/src/extensions/entity/src/BoostSection.tsx
+++ b/src/extensions/entity/src/BoostSection.tsx
@@ -23,8 +23,8 @@ export function BoostSection(props: Props) {
const tokenTransfers = payment.isEgld() ? [] : [payment]
app.requestProposalAction(
- EntityContracts(app.config).StreamCreate.Address,
- EntityContracts(app.config).StreamCreate.Endpoint,
+ EntityContracts(app.config).Boost.Address,
+ EntityContracts(app.config).Boost.Endpoint,
value,
[app.config.entity.address],
tokenTransfers
diff --git a/src/extensions/entity/src/contracts.tsx b/src/extensions/entity/src/contracts.tsx
index d7cb8fe..fc3b6c0 100644
--- a/src/extensions/entity/src/contracts.tsx
+++ b/src/extensions/entity/src/contracts.tsx
@@ -1,3 +1,6 @@
+import React from 'react'
+import { ProposalAction } from '@peerme/core-ts'
+import { BoostActionPreview } from './previews/BoostActionPreview'
import { Network, ExtensionScInfo, ExtensionConfig } from '../../../shared/types'
const getContractAddress = (network: Network) => {
@@ -7,8 +10,9 @@ const getContractAddress = (network: Network) => {
}
export const EntityContracts = (config: ExtensionConfig): ExtensionScInfo => ({
- StreamCreate: {
+ Boost: {
Address: getContractAddress(config.network),
Endpoint: 'boost',
+ ActionPreview: (action: ProposalAction) => ,
},
})
diff --git a/src/extensions/entity/src/previews/BoostActionPreview.tsx b/src/extensions/entity/src/previews/BoostActionPreview.tsx
new file mode 100644
index 0000000..898a57f
--- /dev/null
+++ b/src/extensions/entity/src/previews/BoostActionPreview.tsx
@@ -0,0 +1,28 @@
+import React from 'react'
+import { TokenTransfer } from '@multiversx/sdk-core'
+import { ActionPreviewHighlight } from '../../../../shared/ui/elements'
+import {
+ EntityConfig,
+ ProposalAction,
+ toFormattedTokenPayment,
+ toTokenPaymentFromProposalPayment,
+} from '@peerme/core-ts'
+
+type Props = {
+ action: ProposalAction
+}
+
+export function BoostActionPreview(props: Props) {
+ const displayablePayments =
+ props.action.payments.length > 0
+ ? props.action.payments
+ .map((payment) => toFormattedTokenPayment(toTokenPaymentFromProposalPayment(payment)))
+ .join(', ')
+ : toFormattedTokenPayment(TokenTransfer.egldFromBigInteger(props.action.value))
+
+ return (
+
+ boost our {EntityConfig.ProductName} with {displayablePayments}.
+
+ )
+}