Skip to content
FedWire funds service file parser and writer
Branch: master
Clone or download
bkmoovio Merge pull request #53 from moov-io/renovate/all
Update golang.org/x/sys commit hash to fae7ac5
Latest commit dfa305f Jul 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client Update all Jul 1, 2019
cmd Udates for routes Jun 27, 2019
examples Clean up before adding new routes Jun 26, 2019
test Merge pull request #50 from adamdecaf/validateOptionFLine-crash Jul 3, 2019
.gitignore build: setup docker image to run go-fuzz Jun 18, 2019
.travis.yml build: update travis-ci api key Jun 20, 2019
CHANGELOG.md release v0.2.0 Jun 25, 2019
CODE_OF_CONDUCT.md Increase to 81% coverage Apr 29, 2019
CONTRIBUTING.md make client Jun 4, 2019
Dockerfile add dev ops Jun 6, 2019
Dockerfile-fuzz build: setup docker image to run go-fuzz Jun 18, 2019
LICENSE Initial commit Mar 6, 2019
README.md docs: update docs.moov.io links after design refresh Jul 1, 2019
accountCreditedDrawdown.go tag validation May 14, 2019
accountCreditedDrawdown_test.go tag validation May 14, 2019
accountDebitedDrawdown.go tag validation May 14, 2019
accountDebitedDrawdown_test.go tag validation May 14, 2019
actualAmountPaid.go tag validation May 14, 2019
actualAmountPaid_test.go tag validation May 14, 2019
additionaFIToFI.go error checks and gofmt May 16, 2019
address.go Clean up go vet and go fmt Apr 23, 2019
adjustment.go tag validation May 14, 2019
adjustment_test.go tag validation May 14, 2019
advice.go gofmt Mar 27, 2019
amount.go tag validation May 14, 2019
amountNegotiatedDiscount.go tag validation May 14, 2019
amountNegotiatedDiscount_test.go static check modifications Jun 4, 2019
amount_test.go tag validation May 14, 2019
beneficiary.go tag validation May 14, 2019
beneficiaryCustomer.go tag validation May 14, 2019
beneficiaryCustomer_test.go tag validation May 14, 2019
beneficiaryFI.go tag validation May 14, 2019
beneficiaryFI_test.go tag validation May 14, 2019
beneficiaryIntermediaryFI.go tag validation May 14, 2019
beneficiaryIntermediaryFI_test.go tag validation May 14, 2019
beneficiaryReference.go tag validation May 14, 2019
beneficiaryReference_test.go tag validation May 14, 2019
beneficiary_test.go tag validation May 14, 2019
businessFunctionCode.go Clean up Jun 13, 2019
businessFunctionCode_test.go tag validation May 14, 2019
charges.go charges: handle fuzz crash Jun 20, 2019
charges_test.go charges: handle fuzz crash Jun 20, 2019
codecov.yml turn off for now Jun 20, 2019
const.go go fmt Jun 10, 2019
converters.go increase code coverage May 9, 2019
coverPayment.go gofmt Mar 27, 2019
currencyInstructedAmount.go tag validation May 14, 2019
currencyInstructedAmount_test.go tag validation May 14, 2019
dateRemittanceDocument.go tag validation May 14, 2019
dateRemittanceDocument_test.go tag validation May 14, 2019
errorWire.go gofmt Jun 4, 2019
errorWire_test.go Infor appended by the fedwire funds service and tests May 3, 2019
exchangeRate.go tag validation May 14, 2019
exchangeRate_test.go tag validation May 14, 2019
fIBeneficiaryFIAdvice.go gofmt Jun 4, 2019
fIBeneficiaryFIAdvice_test.go tag validation May 14, 2019
fedWireMessage.go gofmt Jun 4, 2019
fedWiremessage_test.go static check modifications Jun 4, 2019
fiAdditionalFIToFI.go tag validation May 14, 2019
fiAdditionalFIToFI_test.go tag validation May 14, 2019
fiBeneficiary.go tag validation May 14, 2019
fiBeneficiaryAdvice.go tag validation May 14, 2019
fiBeneficiaryAdvice_test.go tag validation May 14, 2019
fiBeneficiaryFI.go tag validation May 14, 2019
fiBeneficiaryFI_test.go tag validation May 14, 2019
fiBeneficiary_test.go tag validation May 14, 2019
fiDrawdownDebitAccountAdvice.go tag validation May 14, 2019
fiDrawdownDebitAccountAdvice_test.go tag validation May 14, 2019
fiIntermediaryFI.go tag validation May 14, 2019
fiIntermediaryFIAdvice.go tag validation May 14, 2019
fiIntermediaryFIAdvice_test.go tag validation May 14, 2019
fiIntermediaryFI_test.go tag validation May 14, 2019
fiPaymentMethodToBeneficiary.go tag validation May 14, 2019
fiPaymentMethodToBeneficiary_test.go tag validation May 14, 2019
fiReceiverFI.go tag validation May 14, 2019
fiReceiverFI_test.go tag validation May 14, 2019
fiToFi.go additional parsing and validation for reader Apr 3, 2019
fieldErrors.go Clean up Jun 13, 2019
file.go Clean up before adding new routes Jun 26, 2019
fileErrors.go tests for fedWireMessage and reader May 6, 2019
financiaInstitution.go mock types Apr 11, 2019
go.mod Update golang.org/x/sys commit hash to fae7ac5 Jul 15, 2019
go.sum Update golang.org/x/sys commit hash to fae7ac5 Jul 15, 2019
grossAmountRemittanceDocument.go tag validation May 14, 2019
grossAmountRemittanceDocument_test.go tag validation May 14, 2019
inputMessageAccountabilityData.go tag validation May 14, 2019
inputMessageAccountabilityData_test.go tag validation May 14, 2019
institutionAccount.go tag validation May 14, 2019
institutionAccount_test.go tag validation May 14, 2019
instructedAmount.go tag validation May 14, 2019
instructedAmount_test.go tag validation May 14, 2019
instructingFI.go tag validation May 14, 2019
instructingFI_test.go tag validation May 14, 2019
intermediaryInstitution.go tag validation May 14, 2019
intermediaryInstitution_test.go tag validation May 14, 2019
localInstrument.go tag validation May 14, 2019
localInstrument_test.go tag validation May 14, 2019
makefile build: push moov/wire:latest on 'make release-push' Jun 21, 2019
messageDisposition.go static check modifications Jun 4, 2019
messageDisposition_test.go tag validation May 14, 2019
openapi-generator client: update to OpenAPI generator 4.0.1 Jun 19, 2019
openapi.yaml Udates for routes Jun 27, 2019
orderingCustomer.go tag validation May 14, 2019
orderingCustomer_test.go tag validation May 14, 2019
orderingInstitution.go tag validation May 14, 2019
orderingInstitution_test.go tag validation May 14, 2019
originator.go tag validation May 14, 2019
originatorFI.go tag validation May 14, 2019
originatorFI_test.go tag validation May 14, 2019
originatorOptionF.go OriginatorOptionF Name May 16, 2019
originatorOptionF_test.go gofmt Jun 4, 2019
originatorToBeneficiary.go tag validation May 14, 2019
originatorToBeneficiary_test.go tag validation May 14, 2019
originator_test.go tag validation May 14, 2019
outputMessageAccountabilityData.go static check modifications Jun 4, 2019
outputMessageAccountabilityData_test.go tag validation May 14, 2019
paymentNotification.go Clean up Jun 13, 2019
paymentNotification_test.go tag validation May 14, 2019
personal.go gofmt Mar 27, 2019
previousMessageIdentifier.go tag validation May 14, 2019
previousMessageIdentifier_test.go tag validation May 14, 2019
primaryRemittanceDocument.go tag validation May 14, 2019
primaryRemittanceDocument_test.go tag validation May 14, 2019
reader.go reader: fiz crash found via fuzzing Jun 18, 2019
reader_test.go reader: fiz crash found via fuzzing Jun 18, 2019
receiptTimeStamp.go static check modifications Jun 4, 2019
receiptTimeStamp_test.go tag validation May 14, 2019
receiverDepositoryInstitution.go tag validation May 14, 2019
receiverDepositoryInstitution_test.go tag validation May 14, 2019
relatedRemittance.go tag validation May 14, 2019
relatedRemittance_test.go tag validation May 14, 2019
remittance.go tag validation May 14, 2019
remittanceAmount.go gofmt Mar 27, 2019
remittanceBeneficiary.go tag validation May 14, 2019
remittanceBeneficiary_test.go tag validation May 14, 2019
remittanceData.go go vet Apr 23, 2019
remittanceFreeText.go tag validation May 14, 2019
remittanceFreeText_test.go tag validation May 14, 2019
remittanceOriginator.go tag validation May 14, 2019
remittanceOriginator_test.go tag validation May 14, 2019
remittance_test.go tag validation May 14, 2019
renovate.json add dev ops Jun 6, 2019
secondaryRemittanceDocument.go tag validation May 14, 2019
secondaryRemittanceDocument_test.go tag validation May 14, 2019
senderDepositoryInstitution.go tag validation May 14, 2019
senderDepositoryInstitution_test.go tag validation May 14, 2019
senderReference.go tag validation May 14, 2019
senderReference_test.go tag validation May 14, 2019
senderSupplied.go tag validation May 14, 2019
senderSupplied_test.go tag validation May 14, 2019
senderToReceiver.go tag validation May 14, 2019
senderToReceiver_test.go tag validation May 14, 2019
serviceMessage.go tag validation May 14, 2019
serviceMessage_test.go tag validation May 14, 2019
typeSubType.go tag validation May 14, 2019
typeSubType_test.go tag validation May 14, 2019
unstructuredAddenda.go tag validation May 14, 2019
unstructuredAddenda_test.go tag validation May 14, 2019
validators.go validators: fix crash from bounds check Jun 27, 2019
validators_test.go validators: fix crash from bounds check Jun 27, 2019
version.go bump version for dev Jun 25, 2019
wire_test.go wire: add first crashers test file Jun 27, 2019
writer.go Clean up before adding new routes Jun 26, 2019
writer_test.go additonal write examples Jun 12, 2019

README.md

moov-io/wire

GoDoc Build Status Coverage Status Go Report Card Apache 2 licensed

Package github.com/moov-io/wire implements a reader and writer written in Go for creating, parsing and validating FED Wire Messages (FEDWire)

Docs: docs.moov.io | api docs

Project Status

Moov WIRE is under active development and in production for multiple companies. Please star the project if you are interested in its progress.

Usage

Go library

github.com/moov-io/wire offers a Go based ACH file reader and writer. To get started checkout a specific example:

Supported Business Function Codes
Business Function Code Name Example Read Write
DRB Bank DrawDown Request Link Link Link
BTR BankTransfer Link Link Link
CKS CheckSameDaySettlement Link Link Link
DRC CustomerCorporateDrawdownRequest Link Link Link
CTR CustomerTransfer Link Link Link
CTP CustomerTransferPlus Link Link Link
CTP CustomerTransferPlusCOVS Link Link Link
DEP DepositSendersAccount Link Link Link
FFR FEDFundsReturned Link Link Link
FFS FEDFundsSold Link Link Link
SVC ServiceMessage Link Link Link

Docker

We publish a public docker image moov/wire on Docker Hub with ewire tagged release of Wire. No configuration is required to serve on :8088 and metrics at :9098/metrics in Prometheus format.

$ docker run -p 8080:8080 -p 9090:9090 moov/wire:latest
ts=2019-06-20T23:58:44.4931106Z caller=main.go:75 startup="Starting wire server version v0.1.0"
ts=2019-06-20T23:58:44.5010238Z caller=main.go:135 transport=HTTP addr=:8088
ts=2019-06-20T23:58:44.5018409Z caller=main.go:125 admin="listening on :9098"

$ curl localhost:8080/files
{"files":[],"error":null}

From Source

This project uses Go Modules and thus requires Go 1.11+. You can download the source code and we offer tagged and released versions as well. We highly recommend you use a tagged release for production.

$ git@github.com:moov-io/wire.git

# Pull down into the Go Module cache
$ go get -u github.com/moov-io/wire

$ go doc github.com/moov-io/wire fedWireMessage

Configuration

Environmental Variable Description Default
WIRE_FILE_TTL Time to live (TTL) for *wire.File objects stored in the in-memory repository. 0 = No TTL / Never delete files (Example: 240m)

Note: By design Wire does not persist (save) any data about the files, batches or entry details created. The only storage occurs in memory of the process and upon restart Wire will have no files, batches, or data saved. Also, no in memory encryption of the data is performed.

Fuzzing

We currently run fuzzing over wire in the form of a moov/wirefuzz Docker image. You can read more or run the image and report crasher examples to security@moov.io. Thanks!

Getting Help

channel info
Project Documentation Our project documentation available online.
Google Group moov-users The Moov users Google group is for contributors other people contributing to the Moov project. You can join them without a google account by sending an email to moov-users+subscribe@googlegroups.com. After receiving the join-request message, you can simply reply to that to confirm the subscription.
Twitter @moov_io You can follow Moov.IO's Twitter feed to get updates on our project(s). You can also tweet us questions or just share blogs or stories.
GitHub Issue If you are able to reproduce an problem please open a GitHub Issue under the specific project that caused the error.
moov-io slack Join our slack channel to have an interactive discussion about the development of the project. Request an invite to the slack channel

Supported and Tested Platforms

  • 64-bit Linux (Ubuntu, Debian), macOS, and Windows

Note: 32-bit platforms have known issues and are not supported.

Contributing

Yes please! Please review our Contributing guide and Code of Conduct to get started!

Note: This project uses Go Modules, which requires Go 1.11 or higher.

Releasing

To make a release of wire simply open a pull request with CHANGELOG.md and version.go updated with the next version number and details. You'll also need to push the tag (i.e. git push origin v1.0.0) to origin in order for CI to make the release.

License

Apache License 2.0 See LICENSE for details.

You can’t perform that action at this time.