diff --git a/components/IscnRegisterForm.vue b/components/IscnRegisterForm.vue index 58d5b9d6..cac1cb04 100644 --- a/components/IscnRegisterForm.vue +++ b/components/IscnRegisterForm.vue @@ -722,6 +722,7 @@ import { estimateISCNTxGasAndFee, formatISCNTxPayload } from '~/utils/cosmos/isc import { ISCN_GAS_MULTIPLIER } from '~/constant'; import { getLikerIdMinApi, + getUserInfoMinByAddress, API_POST_NUMBERS_PROTOCOL_ASSETS, } from '~/constant/api'; import { getAccountBalance } from '~/utils/cosmos' @@ -1114,38 +1115,48 @@ export default class IscnRegisterForm extends Vue { } async mounted() { - if (this.epubMetadata) { - this.name = this.epubMetadata.title; - this.description = this.extractText(this.epubMetadata.description); - this.author.name = this.epubMetadata.author; - this.author.authorDescription = 'Author' - this.language = this.epubMetadata.language - this.tags = this.epubMetadata.tags - this.thumbnailUrl = this.formatArweave(this.epubMetadata.thumbnailUrl) as string - if (this.author.name) { - this.authors.push(this.author) + this.uploadStatus = 'loading' + + if (this.epubMetadata) { + this.name = this.epubMetadata.title; + this.description = this.extractText(this.epubMetadata.description); + this.author.name = this.epubMetadata.author; + this.author.authorDescription = 'Author' + this.language = this.epubMetadata.language + this.tags = this.epubMetadata.tags + this.thumbnailUrl = this.formatArweave(this.epubMetadata.thumbnailUrl) as string + if (this.author.name) { + this.authors.push(this.author) + } } - } - if (this.address) { - const iscnOwner = { - name: this.$t('iscn.meta.stakeholders.name.placeholder') as string, - wallet: [{ - content: this.address, - id: 1, - type: 'like', - isOpenOptions: false, - }], - url: [], - likerId: '', - authorDescription: 'ISCN owner', + + if (this.address) { + try { + const { data } = await this.$axios.get( + getUserInfoMinByAddress(this.address), + ) + const iscnOwner = { + name: data?.displayName || this.address, + wallet: [{ + content: this.address, + id: 1, + type: 'like', + isOpenOptions: false, + }], + url: [], + likerId: data?.user || '', + authorDescription: data?.description || 'Publisher', + } + this.authors.push(iscnOwner) + } catch (error) { + // eslint-disable-next-line no-console + console.error(error) + } } - this.authors.push(iscnOwner) + // ISCN Fee needs Arweave fee to calculate + await this.calculateISCNFee() + this.uploadStatus = '' } - this.uploadStatus = 'loading' - // ISCN Fee needs Arweave fee to calculate - await this.calculateISCNFee() - this.uploadStatus = '' -} addContentFingerprint() { this.customContentFingerprints.push(this.contentFingerprintInput) diff --git a/components/IscnUploadForm.vue b/components/IscnUploadForm.vue index 2ac330d6..068f6a89 100644 --- a/components/IscnUploadForm.vue +++ b/components/IscnUploadForm.vue @@ -700,6 +700,9 @@ export default class UploadForm extends Vue { tempRecord.transactionHash = transactionHash if (!tempRecord.transactionHash) { tempRecord.transactionHash = await this.sendArweaveFeeTx(tempRecord); + if (!tempRecord.transactionHash) { + throw new Error('TRANSACTION_NOT_SENT') + } } try {