@@ -84,6 +84,9 @@ export class BackendRoutes {
84
84
static RoutePathGetNextNFTShowcase = "/api/v0/get-next-nft-showcase" ;
85
85
static RoutePathGetNFTCollectionSummary = "/api/v0/get-nft-collection-summary" ;
86
86
static RoutePathGetNFTEntriesForPostHash = "/api/v0/get-nft-entries-for-nft-post" ;
87
+ static RoutePathTransferNFT = "/api/v0/transfer-nft" ;
88
+ static RoutePathAcceptNFTTransfer = "/api/v0/accept-nft-transfer" ;
89
+ static RoutePathBurnNFT = "/api/v0/burn-nft" ;
87
90
88
91
// ETH
89
92
static RoutePathSubmitETHTx = "/api/v0/submit-eth-tx" ;
@@ -154,7 +157,7 @@ export class BackendRoutes {
154
157
// Supply Monitoring endpoints
155
158
static RoutePathGetTotalSupply = "/api/v0/total-supply" ;
156
159
static RoutePathGetRichList = "/api/v0/rich-list" ;
157
- static RoutePathGetCountKeysWithDESO = "/api/v0/count-keys-with-deso"
160
+ static RoutePathGetCountKeysWithDESO = "/api/v0/count-keys-with-deso" ;
158
161
}
159
162
160
163
export class Transaction {
@@ -334,6 +337,7 @@ export class NFTEntryResponse {
334
337
PostEntryResponse : PostEntryResponse | undefined ;
335
338
SerialNumber : number ;
336
339
IsForSale : boolean ;
340
+ IsPending ?: boolean ;
337
341
MinBidAmountNanos : number ;
338
342
LastAcceptedBidAmountNanos : number ;
339
343
@@ -977,6 +981,75 @@ export class BackendApiService {
977
981
return this . signAndSubmitTransaction ( endpoint , request , UpdaterPublicKeyBase58Check ) ;
978
982
}
979
983
984
+ TransferNFT (
985
+ endpoint : string ,
986
+ SenderPublicKeyBase58Check : string ,
987
+ ReceiverPublicKeyBase58Check : string ,
988
+ NFTPostHashHex : string ,
989
+ SerialNumber : number ,
990
+ UnencryptedUnlockableText : string ,
991
+ MinFeeRateNanosPerKB : number
992
+ ) : Observable < any > {
993
+ let request = UnencryptedUnlockableText
994
+ ? this . identityService . encrypt ( {
995
+ ...this . identityService . identityServiceParamsForKey ( SenderPublicKeyBase58Check ) ,
996
+ recipientPublicKey : ReceiverPublicKeyBase58Check ,
997
+ message : UnencryptedUnlockableText ,
998
+ } )
999
+ : of ( { encryptedMessage : "" } ) ;
1000
+ request = request . pipe (
1001
+ switchMap ( ( encrypted ) => {
1002
+ const EncryptedUnlockableText = encrypted . encryptedMessage ;
1003
+ return this . post ( endpoint , BackendRoutes . RoutePathTransferNFT , {
1004
+ SenderPublicKeyBase58Check,
1005
+ ReceiverPublicKeyBase58Check,
1006
+ NFTPostHashHex,
1007
+ SerialNumber,
1008
+ EncryptedUnlockableText,
1009
+ MinFeeRateNanosPerKB,
1010
+ } ) . pipe (
1011
+ map ( ( request ) => {
1012
+ return { ...request } ;
1013
+ } )
1014
+ ) ;
1015
+ } )
1016
+ ) ;
1017
+
1018
+ return this . signAndSubmitTransaction ( endpoint , request , SenderPublicKeyBase58Check ) ;
1019
+ }
1020
+
1021
+ AcceptNFTTransfer (
1022
+ endpoint : string ,
1023
+ UpdaterPublicKeyBase58Check : string ,
1024
+ NFTPostHashHex : string ,
1025
+ SerialNumber : number ,
1026
+ MinFeeRateNanosPerKB : number
1027
+ ) : Observable < any > {
1028
+ const request = this . post ( endpoint , BackendRoutes . RoutePathAcceptNFTTransfer , {
1029
+ UpdaterPublicKeyBase58Check,
1030
+ NFTPostHashHex,
1031
+ SerialNumber,
1032
+ MinFeeRateNanosPerKB,
1033
+ } ) ;
1034
+ return this . signAndSubmitTransaction ( endpoint , request , UpdaterPublicKeyBase58Check ) ;
1035
+ }
1036
+
1037
+ BurnNFT (
1038
+ endpoint : string ,
1039
+ UpdaterPublicKeyBase58Check : string ,
1040
+ NFTPostHashHex : string ,
1041
+ SerialNumber : number ,
1042
+ MinFeeRateNanosPerKB : number
1043
+ ) : Observable < any > {
1044
+ const request = this . post ( endpoint , BackendRoutes . RoutePathBurnNFT , {
1045
+ UpdaterPublicKeyBase58Check,
1046
+ NFTPostHashHex,
1047
+ SerialNumber,
1048
+ MinFeeRateNanosPerKB,
1049
+ } ) ;
1050
+ return this . signAndSubmitTransaction ( endpoint , request , UpdaterPublicKeyBase58Check ) ;
1051
+ }
1052
+
980
1053
DecryptUnlockableTexts (
981
1054
ReaderPublicKeyBase58Check : string ,
982
1055
UnlockableNFTEntryResponses : NFTEntryResponse [ ]
@@ -1016,12 +1089,14 @@ export class BackendApiService {
1016
1089
endpoint : string ,
1017
1090
UserPublicKeyBase58Check : string ,
1018
1091
ReaderPublicKeyBase58Check : string ,
1019
- IsForSale : boolean | null = null
1092
+ IsForSale : boolean | null = null ,
1093
+ IsPending : boolean | null = null
1020
1094
) : Observable < any > {
1021
1095
return this . post ( endpoint , BackendRoutes . RoutePathGetNFTsForUser , {
1022
1096
UserPublicKeyBase58Check,
1023
1097
ReaderPublicKeyBase58Check,
1024
1098
IsForSale,
1099
+ IsPending,
1025
1100
} ) ;
1026
1101
}
1027
1102
0 commit comments