Files
payments/pkg/client/models/components/v3fireblocksconfig.go
e4bdae23e5 feat: Add Fireblocks connector plugin (read-only) (#639)
* feat: add Fireblocks connector plugin (read-only)

Add a new PSP connector for Fireblocks digital asset custody platform.
This connector supports read-only operations:
- Fetch vault accounts with cursor-based pagination
- Fetch balances per account (fresh API calls)
- Fetch transactions/payments with timestamp-based pagination

Key features:
- JWT RS256 authentication with custom HTTP transport
- Dynamic asset loading from /v1/assets API with pagination
- Proper decimal handling for all Fireblocks assets
- Client-side deduplication for transactions with same timestamp

* chore: regenerate OpenAPI specs and SDK for Fireblocks connector

Auto-generated files for the new Fireblocks connector configuration.

* chore: Update Capabilities

* test: add unit tests for Fireblocks connector

Tests for plugin, accounts, balances, and payments functionality.

* fix: correct indentation and improve deduplication comment in Fireblocks connector

- Fix indentation in balances_test.go and payments_test.go to match codebase style
- Clarify deduplication logic comment in payments.go explaining the ID comparison assumption

* chore: CodeRabbit Comment

* feat: Update Assets Name Regex for allow Â_

* Fix fireblocks asset refresh and payment dedupe

* Update internal/connectors/plugins/public/fireblocks/workflow.go

Co-authored-by: Quentin-David-24 <[email protected]>

* Handle fireblocks transaction destinations

* Use UnixMilli and error logs for fireblocks timestamps

* Align fireblocks workflow task name

* Align fireblocks payment status mapping

* Use max pageSize for fireblocks assets listing

* Rename baseURL to endpoint for fireblocks config

* Add note and subStatus to fireblocks payment metadata

* Remove unused GetVaultAccountAsset function

* chore: run pre-commit

* Improve private key parsing error message

---------

Co-authored-by: Quentin-David-24 <[email protected]>
2026-02-05 13:51:59 +00:00

79 lines
1.6 KiB
Go

// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
package components
import (
"github.com/formancehq/payments/pkg/client/internal/utils"
)
type V3FireblocksConfig struct {
APIKey string `json:"apiKey"`
Endpoint *string `json:"endpoint,omitempty"`
Name string `json:"name"`
// Deprecated: From v3.1, this parameter will be ignored.
PageSize *int64 `default:"25" json:"pageSize"`
PollingPeriod *string `default:"30m" json:"pollingPeriod"`
PrivateKey string `json:"privateKey"`
Provider *string `default:"Fireblocks" json:"provider"`
}
func (v V3FireblocksConfig) MarshalJSON() ([]byte, error) {
return utils.MarshalJSON(v, "", false)
}
func (v *V3FireblocksConfig) UnmarshalJSON(data []byte) error {
if err := utils.UnmarshalJSON(data, &v, "", false, false); err != nil {
return err
}
return nil
}
func (o *V3FireblocksConfig) GetAPIKey() string {
if o == nil {
return ""
}
return o.APIKey
}
func (o *V3FireblocksConfig) GetEndpoint() *string {
if o == nil {
return nil
}
return o.Endpoint
}
func (o *V3FireblocksConfig) GetName() string {
if o == nil {
return ""
}
return o.Name
}
func (o *V3FireblocksConfig) GetPageSize() *int64 {
if o == nil {
return nil
}
return o.PageSize
}
func (o *V3FireblocksConfig) GetPollingPeriod() *string {
if o == nil {
return nil
}
return o.PollingPeriod
}
func (o *V3FireblocksConfig) GetPrivateKey() string {
if o == nil {
return ""
}
return o.PrivateKey
}
func (o *V3FireblocksConfig) GetProvider() *string {
if o == nil {
return nil
}
return o.Provider
}