diff --git a/lib/firefly.ts b/lib/firefly.ts index 6167bd6..8c41586 100644 --- a/lib/firefly.ts +++ b/lib/firefly.ts @@ -341,6 +341,10 @@ export default class FireFly extends HttpBase { return this.getOne(`/tokens/pools/${nameOrId}`, options); } + async deleteTokenPool(nameOrId: string, options?: FireFlyDeleteOptions) { + await this.deleteOne(`/tokens/pools/${nameOrId}`, options); + } + mintTokens(transfer: FireFlyTokenMintRequest, options?: FireFlyCreateOptions) { return this.createOne('/tokens/mint', transfer, options); } diff --git a/lib/interfaces.ts b/lib/interfaces.ts index 56f4185..07577d0 100644 --- a/lib/interfaces.ts +++ b/lib/interfaces.ts @@ -146,27 +146,63 @@ export interface FireFlyEphemeralSubscription extends FireFlySubscriptionBase { namespace: string; } -export interface FireFlyEnrichedEvent extends FireFlyEventResponse { - blockchainEvent?: FireFlyBlockchainEventResponse; - contractAPI?: FireFlyContractAPIResponse; - contractInterface?: FireFlyContractInterfaceResponse; - datatype?: FireFlyDatatypeResponse; - identity?: FireFlyIdentityResponse; - message?: FireFlyMessageResponse; - tokenApproval?: FireFlyTokenApprovalResponse; - tokenPool?: FireFlyTokenPoolResponse; - tokenTransfer?: FireFlyTokenTransferResponse; - transaction?: FireFlyTransactionResponse; - operation?: FireFlyOperationResponse; -} - -export interface FireFlyEventDelivery extends FireFlyEnrichedEvent { +export type FireFlyEnrichedEvent = FireFlyEventResponse & + ( + | { + type: 'transaction_submitted'; + transaction: FireFlyTransactionResponse; + } + | { + type: 'message_confirmed' | 'message_rejected'; + message: FireFlyMessageResponse; + } + | { + type: 'identity_confirmed' | 'identity_updated'; + identity: FireFlyIdentityResponse; + } + | { + type: 'token_pool_confirmed'; + tokenPool: FireFlyTokenPoolResponse; + } + | { + type: 'token_transfer_confirmed'; + tokenTransfer: FireFlyTokenTransferResponse; + } + | { + type: 'token_approval_confirmed'; + tokenApproval: FireFlyTokenApprovalResponse; + } + | { + type: 'contract_interface_confirmed'; + contractInterface: FireFlyContractInterfaceResponse; + } + | { + type: 'contract_api_confirmed'; + contractAPI: FireFlyContractAPIResponse; + } + | { + type: 'blockchain_event_received'; + blockchainEvent: FireFlyBlockchainEventResponse; + } + | { + type: + | 'token_pool_op_failed' + | 'token_approval_op_failed' + | 'blockchain_invoke_op_succeeded' + | 'blockchain_invoke_op_failed' + | 'blockchain_contract_deploy_op_succeeded' + | 'blockchain_contract_deploy_op_failed'; + operation: FireFlyOperationResponse; + } + ); + +export type FireFlyEventDelivery = FireFlyEnrichedEvent & { subscription: { id: string; name: string; namespace: string; }; -} +}; // Datatypes diff --git a/package-lock.json b/package-lock.json index dff2b98..8d64618 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@hyperledger/firefly-sdk", - "version": "1.2.9", + "version": "1.2.11", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@hyperledger/firefly-sdk", - "version": "1.2.9", + "version": "1.2.11", "license": "Apache-2.0", "dependencies": { "axios": "^0.26.1", diff --git a/package.json b/package.json index 7ff65b5..e4953ae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hyperledger/firefly-sdk", - "version": "1.2.10", + "version": "1.2.11", "description": "Client SDK for Hyperledger FireFly", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -45,4 +45,4 @@ "form-data": "^4.0.0", "ws": "^8.5.0" } -} \ No newline at end of file +}