Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ordermanager: fix test error introduced in #917 #942

Merged
merged 6 commits into from
May 11, 2022

Conversation

shazbert
Copy link
Collaborator

@shazbert shazbert commented May 6, 2022

PR Description

This also reduces some raceyness in how the orders are processed.
Fixes # (issue)

Type of change

Please delete options that are not relevant and add an x in [] as item is complete.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How has this been tested

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration and
also consider improving test coverage whilst working on a certain feature or package.

  • go test ./... -race
  • golangci-lint run
  • Test X

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation and regenerated documentation via the documentation tool
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally and on Github Actions/AppVeyor with my changes
  • Any dependent changes have been merged and published in downstream modules

@shazbert shazbert added the review me This pull request is ready for review label May 6, 2022
@shazbert shazbert requested a review from a team May 6, 2022 06:57
@shazbert shazbert self-assigned this May 6, 2022
@gloriousCode gloriousCode changed the title ordermanager: fix residual test issue from #917 ordermanager: fix test error introduce in #917 May 9, 2022
Copy link
Collaborator

@gloriousCode gloriousCode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fix! It confused me greatly when I was merging changes thinking I broke everything😆

engine/order_manager.go Outdated Show resolved Hide resolved
engine/order_manager.go Outdated Show resolved Hide resolved
engine/order_manager.go Outdated Show resolved Hide resolved
@shazbert shazbert changed the title ordermanager: fix test error introduce in #917 ordermanager: fix test error introduced in #917 May 9, 2022
@shazbert shazbert requested a review from gloriousCode May 9, 2022 04:08
Copy link
Collaborator

@gloriousCode gloriousCode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making those changes!

exchanges/order/orders.go Outdated Show resolved Hide resolved
exchanges/order/orders.go Outdated Show resolved Hide resolved
exchanges/order/orders.go Outdated Show resolved Hide resolved
exchanges/order/orders.go Outdated Show resolved Hide resolved
exchanges/order/order_test.go Show resolved Hide resolved
exchanges/order/order_test.go Outdated Show resolved Hide resolved
exchanges/order/order_test.go Show resolved Hide resolved
engine/order_manager.go Outdated Show resolved Hide resolved
Copy link
Collaborator

@gloriousCode gloriousCode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tACK! Thanks for making those changes!

🌯 🌯 🌯 🌯 🌯 🌯

Copy link
Collaborator

@thrasher- thrasher- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some nice simplifications here, thanks for fixing the test!

@thrasher-
Copy link
Collaborator

Looks like we've got a race 🐎 here: https://github.com/thrasher-corp/gocryptotrader/runs/6380299550?check_suite_focus=true#step:7:338

Copy link
Collaborator

@thrasher- thrasher- left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reACK, thanks for fixing that 🐴

@thrasher- thrasher- merged commit 5cb26e7 into thrasher-corp:master May 11, 2022
samuael pushed a commit to samuael/gocryptotrader that referenced this pull request Aug 8, 2022
…r-corp#942)

* ordermanager: fix residual test issue from thrasher-corp#917 and reduce some racey action

* glorious: nits; also removed functions that weren't being used and were unexported

* rm: pew

* linter: fix issues

* glourious: nits

* credentials: fix test issue with racey racey horse basey
thrasher- added a commit that referenced this pull request Aug 12, 2022
* public endpoints methods added

* Completing mapping REST endpoints

* Binanceus Wrapper methods -Partially

* BinaWra functions with test funs; Not Completed

* Finalizing wrapper methods & test

* Finalizing wrapper methods & test

* Fix & Complete wrapper functions

* Adding Stream Datas

* WS Test functions

* CI: Fix golangci-lint linter issues

* CI: Fix reverting unnessesary changes and type conversion issues

* CI: Fix reverting unnessesary changes and type conversion issues

* CI: Fix comment, method use, error handling, and code handling issues

* build(deps): bump github.com/urfave/cli/v2 from 2.4.0 to 2.4.8 (#932)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.4.0 to 2.4.8.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.4.0...v2.4.8)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump google.golang.org/grpc from 1.45.0 to 1.46.0 (#931)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.45.0 to 1.46.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.45.0...v1.46.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* asset: bitmask type optimisation (#922)

* asset: basic optim. bitmask

* glorious: nits

* currency: forgot parralel in testttttt

* ticker/orderbook: test fixes

* engine/rpcserver: fix and expand tests

* test: use `T.TempDir` to create temporary test directory (#934)

* test: use `T.TempDir` to create temporary test directory

This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
directory created by `t.TempDir` is automatically removed when the test
and all its subtests complete.

Prior to this commit, temporary directory created using `ioutil.TempDir`
needs to be removed manually by calling `os.RemoveAll`, which is omitted
in some tests. The error handling boilerplate e.g.
	defer func() {
		if err := os.RemoveAll(dir); err != nil {
			t.Fatal(err)
		}
	}
is also tedious, but `t.TempDir` handles this for us nicely.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <[email protected]>

* test: fix TestEncryptTwiceReusesSaltButNewCipher on Windows

Signed-off-by: Eng Zer Jun <[email protected]>

* test: fix TestCheckConnection on Windows

Signed-off-by: Eng Zer Jun <[email protected]>

* test: fix TestRPCServer_GetTicker_LastUpdatedNanos on Windows

Signed-off-by: Eng Zer Jun <[email protected]>

* test: cleanup TestGenerateReport

Signed-off-by: Eng Zer Jun <[email protected]>

* account: storage, processing and method on balances update (#916)

* account: update account storage, retrieval and implement alert functionality when a currency change occurs.

* account: Add cancel channel

* account: remove old code

* account: don't embed mutex

* Update exchanges/account/account.go

Co-authored-by: Scott <[email protected]>

* Update exchanges/account/account.go

Co-authored-by: Scott <[email protected]>

* Update exchanges/account/account.go

Co-authored-by: Scott <[email protected]>

* account: addr nits

* account: Pull out test into indiv.

* account: Add test for update method

* account: add no change to test

* Update exchanges/account/account.go

Co-authored-by: Scott <[email protected]>

* glorious: nits

* account/portfolio: differentiate between asset type segregation and default to spot holdings.

* glorious: nits

* thrasher: nit

* ticker: fix spelling

* Update engine/portfolio_manager.go

Co-authored-by: Adrian Gallagher <[email protected]>

* thrasher: nits

Co-authored-by: Scott <[email protected]>
Co-authored-by: Adrian Gallagher <[email protected]>

* build(deps): bump github.com/urfave/cli/v2 from 2.4.8 to 2.5.1 (#936)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.4.8 to 2.5.1.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.4.8...v2.5.1)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* orderbook/buffer: data integrity and resubscription pass (#910)

* orderbook/buffer: data integrity and resubscription pass

* btcmarkets: REMOVE THAT LIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIINE!!!!!!!!!!!!!!!!!

* buffer: reinstate publish, refaactor, invalidate more and comments

* buffer/orderbook: improve update and snapshot performance. Move Update type to orderbook package to util. pointer through entire function calls. (cleanup). Change action string to uint8 for easier comparison. Add parsing helper. Update current test benchmark comments.

* dispatch: change publish func to variadic id param

* dispatch: remove sender receiver wait time as this adds overhead and complexity. update tests.

* dispatch: don't create pointers for every job container

* rpcserver: fix assertion issues with data publishing change

* linter: fixes

* glorious: nits addr

* depth: change validation handling to incorporate and store err

* linter: fix more issues

* dispatch: fix race

* travis: update before fetching

* depth: wrap and return wrapped error in invalidate call and fix tests

* btcmarkets: fix commenting

* workflow: check

* workflow: check

* orderbook: check error

* buffer/depth: return invalidation error and fix tests

* gctcli: display errors on orderbook streams

* buffer: remove unused types

* orderbook/bitmex: shift function to bitmex

* orderbook: Add specific comments to unexported functions that don't have locking require locking.

* orderbook: restrict published data functionality to orderbook.Outbound interface

* common: add assertion failure helper for error

* dispatch: remove atomics, add mutex protection, remove add/remove worker, redo main tests

* dispatch: export function

* engine: revert and change sub logger to manager

* engine: remove old test

* dispatch: add common variable ;)

* btcmarket: don't overflow int in tests on 32bit systems

* ci: force 1.17.7 usage for go

* Revert "ci: force 1.17.7 usage for go"

This reverts commit af2f955.

* golangci: bump version add and remove linter items

* Revert "golangci: bump version add and remove linter items"

This reverts commit 3c98bff.

* dispatch: remove unsused mutex from mux

* order: slight optimizations

* nits: glorious

* dispatch: fix regression on uuid generation and input inline with master

* linter: fix

* linter: fix

* glorious: nit - rm slice segration

* account: fix test after merge

* coinbasepro: revert change

* account: close channel instead of needing a receiver, push alert in routine to prepare for waiter.

Co-authored-by: Ryan O'Hara-Reid <[email protected]>

* exchange/wrapper: add GetServerTime() for exchange analytics (#938)

* exchange/wrapper: add GetServerTime() for exchange analytics

* binance: fix linter issue

* glorious: nits

* glorious: nits rides again

* thrasher: nits implement huobi

* thrasher: nits add to exchange_wrapper_issues cmd

* order: slight optimizations (#917)

* order: slight optimizations

* orders: add benchmarks, small optimize and change order side to uin8 for comparitive optimizations.

* orders: continue to convert string type -> uint

* orders/backtester: interim move type to orders package, later can expand or deprecate.

* orders: handle errors

* orders: optimize filters and remove error returns when its clearly not needed

* orders: remove log call

* backtester: zero value check

* orders/futures: zero value -> flag

* linter: fix

* linter: more fixes

* linters: rides again

* glorious: nits

* common: Add zero value unix check for time values; also addresses glorious nits

* glorious scott: nits

Co-authored-by: Ryan O'Hara-Reid <[email protected]>

* btcm: add order execution limit wrapper support (#941)

* btcm: add in order execution limit fetching

* btcm/test: add t.Parrrrrralllleeellllllllll

* btcm/wrapper: add update on startup

* glorious: nits

* thrasher: nit add status field

* build(deps): bump github.com/urfave/cli/v2 from 2.5.1 to 2.6.0 (#944)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.5.1 to 2.6.0.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.5.1...v2.6.0)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* proto/lint: Add protobuf GitHub action and linter (#943)

* Buf upgrades

* Buf format and basic endpoint fixes

* gRPC linter fixes

* Amend buf.yaml linter exceptions

* Update README

* Freshly generated gRPC code after depends update

* Nitterinos

* ordermanager: fix test error introduced in #917  (#942)

* ordermanager: fix residual test issue from #917 and reduce some racey action

* glorious: nits; also removed functions that weren't being used and were unexported

* rm: pew

* linter: fix issues

* glourious: nits

* credentials: fix test issue with racey racey horse basey

* engine: Add websocket data handler register function (#935)

* engine: Add websocket interceptor register function

* Update engine/engine.go

Co-authored-by: Scott <[email protected]>

* Update engine/websocketroutine_manager_types.go

Co-authored-by: Scott <[email protected]>

* engine/websock: switch to data handler function register and range over handlers to still include default gct handling

* engine/websocket: change name

* glorious: nits

* linter: fix

* glorious: nits

Co-authored-by: Scott <[email protected]>

* btcm: add modify order functionality, change return to pointer (#940)

* btcm: add modify order functionality, change return to pointer

* glorious: nits

* glorious: nits

* btcm: Adjust function name

* thrasher: nits

* thrasher: nits cont...

* request: adds WithVerbose function to package to add verbosity to request context (#950)

* request: adds WithVerbose function to package to add verbosity to request context

* request: add t.Parr....

* thrasher: nits

* build(deps): bump google.golang.org/grpc from 1.46.0 to 1.46.2 (#951)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.0 to 1.46.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.46.0...v1.46.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* exchange: expose GetCredentials() and split GetAuthenticatedAPISupport() (#954)

* exchange/wrapper: expose GetCredentials func to IBotInterface

* exchanges: split up GetAuthenticatedAPISupport into specific function calls, organize IBotExchange functionality getter functions

* interface: change name - RPCSercer: rm GetBase func call.

* glorious: nits (fix panic)

Co-authored-by: Ryan O'Hara-Reid <[email protected]>

* CI: merge fixes

* CI: fixing github generated lint issues

* orders: Add method for creating cancel struct from order details (#947)

* orders: Add method for creating cancel struct from order details

* orders: remove uneeded fields

* glorious: nit

* grpc: add shutdown call for external management (#957)

* grpc: add shutdown call for external management

* go mod: tidy

* glorious: suggestion

* Update engine/engine.go

Co-authored-by: Adrian Gallagher <[email protected]>

* Update engine/rpcserver.go

Co-authored-by: Adrian Gallagher <[email protected]>

* Update main.go

Co-authored-by: Adrian Gallagher <[email protected]>

* Update engine/rpcserver.go

Co-authored-by: Scott <[email protected]>

Co-authored-by: Ryan O'Hara-Reid <[email protected]>
Co-authored-by: Adrian Gallagher <[email protected]>
Co-authored-by: Scott <[email protected]>

* build(deps): bump github.com/lib/pq from 1.10.5 to 1.10.6 (#960)

Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.5 to 1.10.6.
- [Release notes](https://github.com/lib/pq/releases)
- [Commits](lib/pq@v1.10.5...v1.10.6)

---
updated-dependencies:
- dependency-name: github.com/lib/pq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/urfave/cli/v2 from 2.6.0 to 2.8.0 (#958)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.6.0 to 2.8.0.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.6.0...v2.8.0)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#963)

Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway) from 2.10.0 to 2.10.2.
- [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
- [Changelog](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/.goreleaser.yml)
- [Commits](grpc-ecosystem/grpc-gateway@v2.10.0...v2.10.2)

---
updated-dependencies:
- dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* orders: adds method to retrieve snapshot of order execution limit values (#946)

* orders: add method to Limit to retrieve order execution limit snapshots

* currency/btcmarkets: add error and update field name to standard

* linter: fix

* limts: don't return pointer

* limit: Add notes

* glorious: nits

* linter: fix

* limit: reinstate nil check

* exchanges: change field names to be more consistent (@thrasher-) suggestion

Co-authored-by: Ryan O'Hara-Reid <[email protected]>

* orders: Add derive modify struct method from order.Detail  (#948)

* orders: Add derive modify struct method to order.Detail and then subsequent method to derive and standardize response details

* exchanges: call modify method in wrappers

* linter: fixes

* engine/wsroutineman: remove print summary

* glorious: nits, removed modifyOrder functionality for Bithumb. There are not docs to support this.

* Update exchanges/order/orders.go

Co-authored-by: Scott <[email protected]>

* glorious: nits

Co-authored-by: Scott <[email protected]>

* build(deps): bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#965)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/urfave/cli/v2 from 2.8.0 to 2.8.1 (#964)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.8.0...v2.8.1)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* orders: Add methods to derive SubmitResponse and Detail types (#955)

* orders: deprecate SubmitResponse return and change to *order.Detail construct detail from order.Submit struct

* orders: add coverage, fix tests

* coinut: rm test for checking

* orders: revert change for return and change field ID to a more explicit name OrderID

* orders: Add method to see if the order was placed

* order: change field name in Cancel type to be more explicit

* orders: standardize field -> OrderID

* backtester: populate change

* orders: add test

* gctscript: fix field name

* linter: fix issues

* linter: more fixes

* linter: forever

* exchanges_tests: populate order.Submit field exchange name

* Update exchanges/order/order_types.go

Co-authored-by: Scott <[email protected]>

* Update exchanges/order/orders.go

Co-authored-by: Scott <[email protected]>

* glorious: nits

* glorious: nits

* thrasher: nits

Co-authored-by: Ryan O'Hara-Reid <[email protected]>
Co-authored-by: Scott <[email protected]>

* build(deps): bump bufbuild/buf-setup-action from 1.4.0 to 1.5.0 (#973)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](bufbuild/buf-setup-action@v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: bufbuild/buf-setup-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump google.golang.org/grpc from 1.46.2 to 1.47.0 (#972)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.2 to 1.47.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.46.2...v1.47.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#971)

Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway) from 2.10.2 to 2.10.3.
- [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
- [Changelog](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/.goreleaser.yml)
- [Commits](grpc-ecosystem/grpc-gateway@v2.10.2...v2.10.3)

---
updated-dependencies:
- dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/d5/tengo/v2 from 2.10.1 to 2.11.2 (#975)

Bumps [github.com/d5/tengo/v2](https://github.com/d5/tengo) from 2.10.1 to 2.11.2.
- [Release notes](https://github.com/d5/tengo/releases)
- [Changelog](https://github.com/d5/tengo/blob/master/.goreleaser.yml)
- [Commits](d5/tengo@v2.10.1...v2.11.2)

---
updated-dependencies:
- dependency-name: github.com/d5/tengo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/urfave/cli/v2 from 2.8.1 to 2.10.1 (#979)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.8.1 to 2.10.1.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.8.1...v2.10.1)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/d5/tengo/v2 from 2.11.2 to 2.12.0 (#978)

Bumps [github.com/d5/tengo/v2](https://github.com/d5/tengo) from 2.11.2 to 2.12.0.
- [Release notes](https://github.com/d5/tengo/releases)
- [Changelog](https://github.com/d5/tengo/blob/master/.goreleaser.yml)
- [Commits](d5/tengo@v2.11.2...v2.12.0)

---
updated-dependencies:
- dependency-name: github.com/d5/tengo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CI: adding WS and REST tests, and minor fixes

* CI: fixes on available asset and related minor issues

* CI: fixes on endpoint function, test functions, and types

* CI: updating templates and slight fixes

* CI: updating slight fixes on tests and withdraws Request model

* build(deps): bump styfle/cancel-workflow-action from 0.9.1 to 0.10.0 (#985)

Bumps [styfle/cancel-workflow-action](https://github.com/styfle/cancel-workflow-action) from 0.9.1 to 0.10.0.
- [Release notes](https://github.com/styfle/cancel-workflow-action/releases)
- [Commits](styfle/cancel-workflow-action@0.9.1...0.10.0)

---
updated-dependencies:
- dependency-name: styfle/cancel-workflow-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump bufbuild/buf-setup-action from 1.5.0 to 1.6.0 (#984)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](bufbuild/buf-setup-action@v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: bufbuild/buf-setup-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* backtester: Futures handling & FTX Cash and Carry example strategy (#930)

* implements futures functions and GRPC functions on new branch

* lint and test fixes

* Fix uneven split pnl. Adds collateral weight test. docs. New clear func

* Test protection if someone has zero collateral

* Uses string instead of double for accuracy

* Fixes old code panic

* context, match, docs

* Addresses Shazniterinos, var names, expanded tests

* Returns subaccount name, provides USD values when offlinecalc

* Fixes oopsie

* Fixes cool bug which allowed made up subaccount results

* Subaccount override on FTX, subaccount results for collateral

* Strenghten collateral account info checks. Improve FTX test

* English is my first language

* Fixes oopsies

* Adds some conceptual futures order details to track PNL

* Initial design of future order processing in the backtester

* Introduces futures concept for collateral and spot/futures config diffs

* Fixes most tests

* Simple designs for collateral funding pair concept

* Expands interface use so much it hurts

* Implements more collateral interfaces

* Adds liquidation, adds strategy, struggles with Binance

* Attempts at getting FTX to work

* Adds calculatePNL as a wrapper function and adds an `IsFutures` asset check

* Successfully loads backtester with collateral currency

* Fails to really get much going for supporting futures

* Merges master changes

* Fleshes out how FTX processes collateral

* Further FTX collateral workings

* hooks up more ftx collateral and pnl calculations

* more funcs to flesh out handling

* Adds more links, just can't fit the pieces together :(

* Greatly expands futures order processing

* Fleshes out position tracker to also handle asset and exchange +testing

* RM linkedOrderID. rn positioncontroller, unexport

* Successfully tracks futures order positions

* Fails to calculate PNL

* Calculates pnl from orders accurately with exception to flipping orders

* Calculates PNL from orders

* Adds another controller layer to make it ez from orderstore

* Backtester now compiles. Adds test coverage

* labels things add scaling collateral test

* Calculates pnl in line with fees

* Mostly accurate PNL, with exception to appending with diff prices

* Adds locks, adds rpc function

* grpc implementations

* Gracefully handles rpc function

* beautiful tests!

* rejiggles tests to polish

* Finishes FTX testing, adds comments

* Exposes collateral calculations to rpc

* Adds commands and testing for rpcserver.go functions

* Increase testing and fix up backtester code

* Returns cool changes to original branch

* end of day fixes

* Fixing some tests

* Fixing tests 🎉

* Fixes all the tests

* Splits the backtester setup and running into different files

* Merge, minor fixes

* Messing with some strategy updates

* Failed understanding at collateral usage

* Begins the creation of cash and carry strategy

* Adds underlying pair, adds filldependentevent for futures

* Completes fill prerequsite event implementation. Can't short though

* Some bug fixes

* investigating funds

* CAN NOW CREATE A SHORT ORDER

* Minor change in short size

* Fixes for unrealised PNL & collateral rendering

* Fixes lint and tests

* Adds some verbosity

* Updates to pnl calc

* Tracks pnl for short orders, minor update to strategy

* Close and open event based on conditions

* Adds pnl data for currency statistics

* Working through PNL calculation automatically. Now panics

* Adds tracking, is blocked from design

* Work to flesh out closing a position

* vain attempts at tracking zeroing out bugs

* woww, super fun new subloggers 🎉

* Begins attempt at automatically handling contracts and collateral based on direction

* Merge master + fixes

* Investigating issues with pnl and holdings

* Minor pnl fixes

* Fixes future position sizing, needs contract sizing

* Can render pnl results, focussing on funding statistics

* tracking candles for futures, but why not btc

* Improves funding statistics

* Colours and stats

* Fixes collateral and snapshot bugs

* Completes test

* Fixes totals bug

* Fix double buy, expand stats, fixes usd totals, introduce interface

* Begins report formatting and calculations

* Appends pnl to receiving curr. Fixes map[time]. accurate USD

* Improves report output rendering

* PNL stats in report. New tests for futures

* Fixes existing tests before adding new coverage

* Test coverage

* Completes portfolio coverage

* Increase coverage exchange, portfolio. fix size bug. NEW CHART

* WHAT IS GOING ON WITH PNL

* Fixes PNL calculation. Adds ability to skip om futures tracking

* minor commit before merge

* Adds basic liquidation to backtester

* Changes liquidation to order based

* Liquidationnnnnn

* Further fleshes out liquidations

* Completes liquidations in a honorable manner. Adds AppendReasonf

* Beginnings of spot futures gap chart. Needs to link currencies to render difference

* Removes fake liquidation. Adds cool new chart

* Fixes somet tests,allows for zero fee value v nil distinction,New tests

* Some annoying test fixes that took too long

* portfolio coverage

* holding coverage, privatisation funding

* Testwork

* boring tests

* engine coverage

* More backtesting coverage

* Funding, strategy, report test coverage

* Completes coverage of report package

* Documentation, fixes some assumptions on asset errors

* Changes before master merge

* Lint and Tests

* defaults to non-coloured rendering

* Chart rendering

* Fixes surprise non-local-lints

* Niterinos to the extremeos

* Fixes merge problems

* The linter splintered across the glinting plinths

* Many nits addressed. Now sells spot position on final candle

* Adds forgotten coverage

* Adds ability to size futures contracts to match spot positions.

* fixes order sell sizing

* Adds tests to sizing. Fixes charting issue

* clint splintered the linters with flint

* Improves stats, stat rendering

* minifix

* Fixes tests and fee bug

* Merge fixeroos

* Microfixes

* Updates orderPNL on first Correctly utilises fees. Adds committed funds

* New base funcs. New order summary

* Fun test updates

* Fix logo colouring

* Fixes niteroonies

* Fix report

* BAD COMMIT

* Fixes funding issues.Updates default fee rates.Combines cashcarry case

* doc regen

* Now returns err

* Fixes sizing bug issue introduced in PR

* Fixes fun fee/total US value bug

* Fix chart bug. Show log charts with disclaimer

* sellside fee

* fixes fee and slippage view

* Fixed slippage price issue

* Fixes calculation and removes rendering

* Fixes stats and some rendering

* Merge fix

* Fixes merge issues

* go mod tidy, lint updates

* New linter attempt

* Version bump in appveyor and makefile

* Regex filename, config fixes, template h2 fixes

* Removes bad stats.

* neatens config builder. Moves filename generator

* Fixes issue where linter wants to fix my spelling

* Fixes pointers and starts

* build(deps): bump github.com/urfave/cli/v2 from 2.10.1 to 2.10.3 (#982)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.10.1 to 2.10.3.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.10.1...v2.10.3)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* alert: Add optimizations (#939)

* alert: Add optimizations

* alert: add basic benchmarks

* alert: fix linter issue

* documentation: change to text/template as html/template escapes to protect against code injection. Add readme.md for alert.

* README: Add package name

* alert: link up with engine settings

* request: isVerbose refactor

* Update exchanges/alert/alert_test.go

Co-authored-by: Scott <[email protected]>

* Update exchanges/alert/alert.go

Co-authored-by: Scott <[email protected]>

* glorious: nits

* glorious: fun police

* documentation: regen

Co-authored-by: Ryan O'Hara-Reid <[email protected]>
Co-authored-by: Scott <[email protected]>

* technical_analysis: TWAP & VWAP + TA methods to candles and link to existing RPC server for GCTCLI prototyping  (#970)

* kline: add weighted price helpers for candles

* twap/vwap: basic implementation and hook to rpc for protype

* ta: cont implementation. (WIP)

* kline: Add tests

* kline: add helpers

* ta: full impl.

* kline: remove support for macd and add in correlation-coefficient handling

* rpc: change naming convention

* linter: fix

* protolinter: fix

* linter: ++

* kline: reinstate macd handling after adding in check

* glorious: nits

* gctcl: linter

* Update exchanges/kline/weighted_price.go

Co-authored-by: Scott <[email protected]>

* glorious: nits

* glorious: nits v2.0

* kline: fix test

* huobi-tests: shift from next quarter to this weeks contracts as they were erroring out in tests.

* btcmarkets: update supported kline intervals

* zb: fix test

* rpcserver: fix bug and tests

Co-authored-by: Ryan O'Hara-Reid <[email protected]>
Co-authored-by: Scott <[email protected]>

* build(deps): bump github.com/urfave/cli/v2 from 2.10.3 to 2.11.0 (#993)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.10.3 to 2.11.0.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.10.3...v2.11.0)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* FTX: Margin lending/borrow rate history (#981)

* Adds lending rates/borrows to FTX and the command

* Movements, renames, rpc test

* Fleshing out rpc response

* Allows rpcserver to calculate offline (but not gctcli). Expands tests

* rn structs. add exchange_wrapper_issues support

* Adds a nice yearly rate

* Surprise yearly borrow rate!

* Rn+Mv to margin package. Fixes some serious whoopsies

* Adds average lend/borrow rates instead of sum

* rm oopsie whoopsie

* This is what the linter was having an issue with

* re-gen

* lintl

* niteroos

* build(deps): bump google.golang.org/grpc from 1.47.0 to 1.48.0 (#995)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.47.0 to 1.48.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.47.0...v1.48.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* account: segregate holdings by credentials for future multi-key management (#956)

* exchanges/account: shift credentials to account package and segregate funds to keys

* merge: fixes

* linter: fix

* Update exchanges/account/account.go

Co-authored-by: Scott <[email protected]>

* glorious: nits + protection for string panic

* glorious_suggestion: add method for matching keys

* linter: fix tests

* account: add protected method for credentials minimizing access, display full account details to rpc.

* linter: spelling kweeeeeeen

* accounts/portfolio: clean/check portfolio code and quickly check balances from change. Add protected method for future matching.

* accounts: theres no point in pointerising everything

* linter: ok pointerise this then...

* exchanges: fix regression add in little notes.

* glorious: nits

* Update exchanges/account/credentials.go

Co-authored-by: Scott <[email protected]>

* Update exchanges/account/credentials_test.go

Co-authored-by: Scott <[email protected]>

* Update exchanges/account/credentials_test.go

Co-authored-by: Scott <[email protected]>

* glorious: nits

* gloriously: fix glorious glorious test gloriously

Co-authored-by: Ryan O'Hara-Reid <[email protected]>
Co-authored-by: Scott <[email protected]>

* CI: fixing linter issue and conflicts

* CI: fixing ratelimit and other slight issues

* build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#998)

Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway) from 2.10.3 to 2.11.0.
- [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
- [Changelog](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/.goreleaser.yml)
- [Commits](grpc-ecosystem/grpc-gateway@v2.10.3...v2.11.0)

---
updated-dependencies:
- dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/d5/tengo/v2 from 2.12.0 to 2.12.1 (#997)

Bumps [github.com/d5/tengo/v2](https://github.com/d5/tengo) from 2.12.0 to 2.12.1.
- [Release notes](https://github.com/d5/tengo/releases)
- [Changelog](https://github.com/d5/tengo/blob/master/.goreleaser.yml)
- [Commits](d5/tengo@v2.12.0...v2.12.1)

---
updated-dependencies:
- dependency-name: github.com/d5/tengo/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/urfave/cli/v2 from 2.11.0 to 2.11.1 (#996)

Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.11.0 to 2.11.1.
- [Release notes](https://github.com/urfave/cli/releases)
- [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
- [Commits](urfave/cli@v2.11.0...v2.11.1)

---
updated-dependencies:
- dependency-name: github.com/urfave/cli/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CI: fixing type and other slight issues

* Cleanup after merge

* Endpoints rate limit update

Signed-off-by: Eng Zer Jun <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ryan O'Hara-Reid <[email protected]>
Co-authored-by: Eng Zer Jun <[email protected]>
Co-authored-by: Scott <[email protected]>
Co-authored-by: Adrian Gallagher <[email protected]>
Co-authored-by: Ryan O'Hara-Reid <[email protected]>
mshogin added a commit to mshogin/gocryptotrader that referenced this pull request Oct 10, 2022
commit dabf1eada2995165d91909668969ad71bbd2ab3c
Merge: 3fe763d6 74d0cc32
Author: Mikhail Shogin <[email protected]>
Date:   Mon Oct 10 22:51:26 2022 +0200

    Merge remote-tracking branch 'upstream/master'

commit 74d0cc323dc3b6924227d5dbd4b1277e47c37472
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Oct 10 17:21:03 2022 +1100

    build(deps): bump github.com/urfave/cli/v2 from 2.17.1 to 2.19.2 (#1056)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.17.1 to 2.19.2.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.17.1...v2.19.2)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 773d8484cd9cb1b81649e0911fa3c6a18621c7a0
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Oct 10 17:17:31 2022 +1100

    build(deps): bump google.golang.org/grpc from 1.49.0 to 1.50.0 (#1057)

    Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.49.0 to 1.50.0.
    - [Release notes](https://github.com/grpc/grpc-go/releases)
    - [Commits](https://github.com/grpc/grpc-go/compare/v1.49.0...v1.50.0)

    ---
    updated-dependencies:
    - dependency-name: google.golang.org/grpc
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit b50b2e1b214f11e2e8905f16cc6e9fc20d2c0af2
Author: Adrian Gallagher <[email protected]>
Date:   Mon Oct 10 12:33:28 2022 +1100

    binance/btse/rpcserver: Specify AnySide/AnyType for order retrieval and fix order index bugs (#1054)

commit fe41d74f3ee79b53de67960adf4cbaa187acbe08
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Oct 4 12:14:57 2022 +1100

    build(deps): bump github.com/urfave/cli/v2 from 2.16.3 to 2.17.1 (#1050)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.16.3 to 2.17.1.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.16.3...v2.17.1)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit ef382da8d5f9a2f204865f2413cda51de0944658
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Oct 4 12:13:00 2022 +1100

    build(deps): bump github.com/d5/tengo/v2 from 2.12.2 to 2.13.0 (#1051)

    Bumps [github.com/d5/tengo/v2](https://github.com/d5/tengo) from 2.12.2 to 2.13.0.
    - [Release notes](https://github.com/d5/tengo/releases)
    - [Changelog](https://github.com/d5/tengo/blob/master/.goreleaser.yml)
    - [Commits](https://github.com/d5/tengo/compare/v2.12.2...v2.13.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/d5/tengo/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 63a2e72ff1232f76e8fcf4a79efc7f15945ef32b
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Oct 4 12:12:05 2022 +1100

    build(deps): bump styfle/cancel-workflow-action from 0.10.0 to 0.10.1 (#1052)

    Bumps [styfle/cancel-workflow-action](https://github.com/styfle/cancel-workflow-action) from 0.10.0 to 0.10.1.
    - [Release notes](https://github.com/styfle/cancel-workflow-action/releases)
    - [Commits](https://github.com/styfle/cancel-workflow-action/compare/0.10.0...0.10.1)

    ---
    updated-dependencies:
    - dependency-name: styfle/cancel-workflow-action
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 22324784154907b71b28f4130567178ddc522b01
Author: Scott <[email protected]>
Date:   Fri Sep 30 14:15:10 2022 +1000

    backtester: run manager (#1040)

    * begins defining run management options

    * fleshes out concept

    * completes fund manager and RPC commands

    * coverage and improvements

    * adds coverage, and bad log concept

    * simplifies output at expense of races

    * removes run logging for now. tightens races. adds cov

    * Lints thine splints

    * Fixes stopping and clearing bugs

    * some niteroos

    * fix races

commit 625020c6e820ade39859c8d842e9cc80bf8e9372
Author: E Sequeira <[email protected]>
Date:   Thu Sep 29 01:01:18 2022 +0100

    ftx: fix null currency.Pair UnmarshalJSON (#1049)

    * fix ftx unmarshal

    * add tests

    * fix ineffectual assignment to err

    * Update currency/pair_test.go

    Co-authored-by: Adrian Gallagher <[email protected]>

    Co-authored-by: Adrian Gallagher <[email protected]>

commit 71a10b055c91db932259ec10aef1e70b837f838a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 26 16:01:52 2022 +1000

    build(deps): bump actions/setup-go from 2 to 3 (#1046)

    Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
    - [Release notes](https://github.com/actions/setup-go/releases)
    - [Commits](https://github.com/actions/setup-go/compare/v2...v3)

    ---
    updated-dependencies:
    - dependency-name: actions/setup-go
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit adef30ce487a132440156571b054326e1b360fb5
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 26 15:51:41 2022 +1000

    build(deps): bump actions/checkout from 2 to 3 (#1047)

    Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
    - [Release notes](https://github.com/actions/checkout/releases)
    - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
    - [Commits](https://github.com/actions/checkout/compare/v2...v3)

    ---
    updated-dependencies:
    - dependency-name: actions/checkout
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 735b2d334da11d078ae2205d3e3d81b792ad3df0
Author: Adrian Gallagher <[email protected]>
Date:   Mon Sep 26 10:32:06 2022 +1000

    ftx: Add support for hidden referral API endpoints (#1044)

commit 0b95786931dd7844aa46c39818d415ff6b124678
Author: Ryan O'Hara-Reid <[email protected]>
Date:   Wed Sep 21 16:34:11 2022 +1000

    engine: fix potential difference between exchange config name and default name (#1041)

    * engine: make sure upper and lower case names standardize from config to default and return error if sync item never matches

    * nits: Add tests for @gloriouscode

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

commit 0184b8c924146ef7e04274fa830bece3d62d2bb6
Author: xiiiew <[email protected]>
Date:   Wed Sep 21 10:51:17 2022 +0800

    binance/perf: Optimize UFuturesNewOrder function parameters (#1043)

    * pref(Binance.UFuturesNewOrder()):Optimize function parameters

    * perf(Binance.UFuturesNewOrder()):Optimize function parameters

    * Apply suggestions from code review

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

    * fix: fix the linter issue

    * fix(binance_test): fix gofmt lint

    Co-authored-by: xw <[email protected]>
    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

commit 0b6916cd45b7e793f39ac3002530bb9dce1ecbd6
Author: Ryan O'Hara-Reid <[email protected]>
Date:   Tue Sep 20 16:40:31 2022 +1000

    binance: adjust outbound start and end time payload strings and update unix to milliseconds (#1039)

    * binance: adjust outbound start and end time to millisecond

    * binance: set correct strings

    * binance: convert to unixmilli and fix tests

    * nits: fix execution limits, remove deprecated functions, fix tests requiring live tests to stay within a 30day time period.

    * binance: rm params unused

    * binance: comment fix

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

commit 709023f54ccdf6a7fb86b36b20c8bdba328e76da
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 19 15:35:19 2022 +1000

    build(deps): bump github.com/urfave/cli/v2 from 2.16.2 to 2.16.3 (#1034)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.16.2 to 2.16.3.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.16.2...v2.16.3)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 48f95dbbdde64d8b32be612d0e5be50075784805
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 19 15:31:40 2022 +1000

    build(deps): bump bufbuild/buf-setup-action from 1.7.0 to 1.8.0 (#1035)

    Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.7.0 to 1.8.0.
    - [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
    - [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.7.0...v1.8.0)

    ---
    updated-dependencies:
    - dependency-name: bufbuild/buf-setup-action
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit c615a79421416802389faeb0dd2a77f2c39e764e
Author: E Sequeira <[email protected]>
Date:   Mon Sep 19 03:39:29 2022 +0100

    websocket: add SendMessageReturnResponse latency reporter (#1031)

    * add websocket sync request latency reporter

    * add globalReporter similar to request package

    * gofmt

    * connection level reporter and test

    * fix SetupNewConnection

commit e78287b26e817f457d8ea7f6fd71d33e0703f14d
Author: E Sequeira <[email protected]>
Date:   Mon Sep 19 02:36:19 2022 +0100

    coinbase/kraken: Add IOC support to SubmitOrder wrappers (#1025)

    * add IOC support to coinbase and kraken wrappers

    * fix lint

    * use explicit TimeInForce type

    * fix kraken param

    * fix fmt

    * fix time_in_force

commit f843b7d27726c13718a6370dbd6d46d8570aa1b2
Author: Ryan O'Hara-Reid <[email protected]>
Date:   Fri Sep 16 08:59:27 2022 +1000

    exchange: upgrade UpdatePair method  (#991)

    * exchange: upgrade update pair

    * exchanges: Add enabled string matching and format handling if discrepency is found.

    * linter: fixes

    * bithumb: fix tests

    * BTSE: api change fix ordering

    * huobi: fix tests

    * gloriousnits: stage 1

    * gloriousnits: stage 2

    * currency: more nits

    * bitmex: add spot and process pairs before currency package call.

    * bitmex: finished correct orderbook matching and other implementations

    * linter: fix issue

    * currency: Fix linter

    * currency: segregate and protect pair store, update tests

    * currency/manager: clean code, rm log output

    * currency: Add store method and make sure formatting stays nil if not stored.

    * gct: check errors

    * engine/websocketroutineman: fix tests

    * bybit: fix duplication bug

    * huobi: fix test

    * btse: fix tests?

    * ob/buffer: fix tests

    * Update currency/manager.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    * glorious: nits strikes again.

    * exchange: add bypassConfigFormatUpgrades to stop formatting

    * GLORIOUS LINTER

    * Update exchanges/bithumb/bithumb_wrapper.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    * exchange: fix pair upgrade issue when duplications are in both avail and enabled pairs

    * linter: fix shadow dec

    * config: fix test

    * Update currency/pair_test.go

    Co-authored-by: Scott <[email protected]>

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>
    Co-authored-by: Scott <[email protected]>

commit ecc3b10402577aa8452817468becd9ceada48283
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 12 15:33:37 2022 +1000

    build(deps): bump github.com/urfave/cli/v2 from 2.14.0 to 2.16.2 (#1026)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.14.0 to 2.16.2.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.14.0...v2.16.2)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 5a1b12a9293feb00c32571ec59e4cc81bbe1a4bd
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 12 15:29:53 2022 +1000

    build(deps): bump github.com/lib/pq from 1.10.6 to 1.10.7 (#1027)

    Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.6 to 1.10.7.
    - [Release notes](https://github.com/lib/pq/releases)
    - [Commits](https://github.com/lib/pq/compare/v1.10.6...v1.10.7)

    ---
    updated-dependencies:
    - dependency-name: github.com/lib/pq
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit cc3e159aa0ef78f3322a5e80da11f8bb7e03ff41
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 12 15:28:06 2022 +1000

    build(deps): bump github.com/spf13/viper from 1.12.0 to 1.13.0 (#1028)

    Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.12.0 to 1.13.0.
    - [Release notes](https://github.com/spf13/viper/releases)
    - [Commits](https://github.com/spf13/viper/compare/v1.12.0...v1.13.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/spf13/viper
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit e6a0840fa6bb2062c969396c534472c4cb46c504
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Sep 12 15:25:24 2022 +1000

    build(deps): bump github.com/gofrs/uuid (#1029)

    Bumps [github.com/gofrs/uuid](https://github.com/gofrs/uuid) from 4.2.0+incompatible to 4.3.0+incompatible.
    - [Release notes](https://github.com/gofrs/uuid/releases)
    - [Commits](https://github.com/gofrs/uuid/compare/v4.2.0...v4.3.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/gofrs/uuid
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 91f01fc751c81cb1d413bea9c76e210325294609
Author: E Sequeira <[email protected]>
Date:   Fri Sep 9 00:53:32 2022 +0100

    add IOC for binance wrapper (#1022)

commit 1461cba363e3a9026035416beb13dfdd4b9b315c
Author: Scott <[email protected]>
Date:   Thu Sep 8 16:22:30 2022 +1000

    backtester: standalone application (#988)

    * Ramshackle early leads to GRPC backtester

    * Adds GRPC server, default config generation

    * Partial support for GRPC backtester config

    * Update to use Buf, merge fixes

    * Full config for GRPC

    * Adds new commands, causes big panic

    * Fixes panics

    * Setup for the future

    * Docs update

    * test

    * grpc tests

    * Fix merge issues. Lint and test

    * minor fixes after rebase

    * Docs, formatting and main fixes

    * Change buf owner

    * shazNits

    * test-123

    * rpc fixes

    * string fixes

    * Removes --singlerun flag and just relies on --singlerunstrategypath

    * fixes test

    * initial post merge compatability fixes

    * this actually all seems to work? unexpected

    * adds pluginpath to config

    * rm unused func. add gitignore

    * rm unused func. add gitignore

    * lintle

    * tITLE cASE lOG fIX,rm auth package, gitignore, tmpdir fix

    * buf updates + gen. go mod tidy

    * x2

    * Update default port, update error text

commit 8a68a1d6825ce9d93c58d2911b5bcfd4a5a4ef3a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 8 13:55:02 2022 +1000

    build(deps): bump github.com/d5/tengo/v2 from 2.12.1 to 2.12.2 (#1019)

    Bumps [github.com/d5/tengo/v2](https://github.com/d5/tengo) from 2.12.1 to 2.12.2.
    - [Release notes](https://github.com/d5/tengo/releases)
    - [Changelog](https://github.com/d5/tengo/blob/master/.goreleaser.yml)
    - [Commits](https://github.com/d5/tengo/compare/v2.12.1...v2.12.2)

    ---
    updated-dependencies:
    - dependency-name: github.com/d5/tengo/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit d5f5c37172d7e01c5d906db56357c50f1686e24c
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Sep 8 13:54:14 2022 +1000

    build(deps): bump github.com/urfave/cli/v2 from 2.11.2 to 2.14.0 (#1020)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.11.2 to 2.14.0.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/commits)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 7b958d2c0584d7efb2f56905caa829d64f26a894
Author: Ryan O'Hara-Reid <[email protected]>
Date:   Wed Aug 31 10:45:45 2022 +1000

    currency: boost retrieval speed when calling currency.NewCode() (#1014)

    * currency: optimization pass

    * currency: reimplement and fix tests and run benchmark comparison

    * Update currency/code_test.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    * glorious: nits

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>
    Co-authored-by: Scott <[email protected]>

commit 42291fbbfe5477bb72df72b4d07c254f383ff408
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Aug 30 15:29:02 2022 +1000

    build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#1015)

    Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway) from 2.11.2 to 2.11.3.
    - [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
    - [Changelog](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/.goreleaser.yml)
    - [Commits](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.11.2...v2.11.3)

    ---
    updated-dependencies:
    - dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 342dc08e8103fb7c60585057d1529e96698baca6
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Aug 29 19:15:25 2022 +1000

    build(deps): bump google.golang.org/grpc from 1.48.0 to 1.49.0 (#1016)

    Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.48.0 to 1.49.0.
    - [Release notes](https://github.com/grpc/grpc-go/releases)
    - [Commits](https://github.com/grpc/grpc-go/compare/v1.48.0...v1.49.0)

    ---
    updated-dependencies:
    - dependency-name: google.golang.org/grpc
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 10f7ff323664a4ff2c74987fb91c5cfe644e553c
Author: Scott <[email protected]>
Date:   Tue Aug 23 14:22:06 2022 +1000

    backtester: custom strategy plugins (#989)

    * Adds custom strategy

    * docs and structure

    * docs

    * rn

    * Documents plugins, adds custom strat config

    * mini fixes. Fleshes strategy test

    * docgen

    * Updates plugins to allow for multiple strategies to be loaded

    * docs

    * docs regen

    * fix doc accuracy

    * why did I add the word custom?

commit ae02f168a90923dc422bcd3df0daf8b5e8d4a17a
Author: Scott <[email protected]>
Date:   Tue Aug 23 12:50:38 2022 +1000

    Backtester: mini bug fixes (#1011)

    * fixes errors with non-default strategies

    * actually err = nil was silly

    * fixes bug on sell side sizing, adjusts RSI strat

commit 29e7ae9db0ed9eab63da2c2684e7cd87fc2e0919
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Aug 23 12:24:34 2022 +1000

    build(deps): bump github.com/mattn/go-sqlite3 from 1.14.13 to 1.14.15 (#1012)

    Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.13 to 1.14.15.
    - [Release notes](https://github.com/mattn/go-sqlite3/releases)
    - [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.13...v1.14.15)

    ---
    updated-dependencies:
    - dependency-name: github.com/mattn/go-sqlite3
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit 46cadd6f1587f9e63b21a0ce5adbc0e14e4c5ed8
Author: Scott <[email protected]>
Date:   Tue Aug 23 12:16:50 2022 +1000

    FTX: Funding rates, payments & stats + order manager tracking (#976)

    * Adds basic PoC for calculating/retrieving position data

    * A very unfortunate day of miscalculations

    * Adds position summary and funding rate details to RPC

    * Offline funding rate calculations

    * More helpers, more stats, refining data, automated retrieval

    * Adds new rpc server commands and attempts some organisation

    * lower string, lower stress

    * Adds ordermanager config. Fleshes outcli. Tracks positions automatically

    * Adds new separation for funding payments/rates

    * Combines funding rates and payments

    * Fun test coverage

    * ALL THE TESTS... I hope

    * Fixes

    * polishes ftx tests. improves perp check. Loops rates

    * Final touches before nit attax

    * buff :muscle:

    * Stops NotYetImplemented spam with one simple trick!

    * Some lovely little niteroos

    * linteroo

    * Clarifies a couple of errors to help narrow likely end user problems

    * Fixes asset type bug, fixes closed position order return, fixes unset status bug

    * Fixes order manager handling when no rates are available yet

    * Continues on no funding rates instead. Removes err

    * Don't show predicted rate if the time is zero

    * Addresses scenario with no funding rate payments

    * Bug fixes and commentary before updating maps to use *currency.Item

    * Adds a pair key type

    * Polishes pKey, fixes map order bug

    * key is not a property in the event someone changes the base/quote

    * Adds improvements to order processing...Breaks it all

    * Shakes up the design of things by removing a function

    * Fixes issues with order manager positions. Limits update range

    * Fixes build issues. Identification of bad tests.

    * Merges and fixes features from master and this branch

    * buff linter :muscle:

    * re-gen

    * proto regen

    * Addresses some nits. But not all of them.

    * Fixes issue where funding rates weren't returned :tada:

    * completes transition futures tracking to map[*currency.Item]map[*currency.Item]

    * who did that? not me

    * removes redundant check on account of being redundant and unnecessary

    * so buf

    * addresses nits: duplications, startTime, loops, go tidy, typos

    * fixes minor mistakes

    * fixes :sushi: :bear: changes to int64

commit e93ee83563e6160108e0a4554fa6c27ef5dc5605
Author: Ryan O'Hara-Reid <[email protected]>
Date:   Wed Aug 17 14:18:53 2022 +1000

    script: implementation of error insertion on return (#986)

    * exchanges/account: shift credentials to account package and segregate funds to keys

    * merge: fixes

    * linter: fix

    * Update exchanges/account/account.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits + protection for string panic

    * glorious_suggestion: add method for matching keys

    * linter: fix tests

    * account: add protected method for credentials minimizing access, display full account details to rpc.

    * linter: spelling kweeeeeeen

    * accounts/portfolio: clean/check portfolio code and quickly check balances from change. Add protected method for future matching.

    * accounts: theres no point in pointerising everything

    * linter: ok pointerise this then...

    * exchanges: fix regression add in little notes.

    * glorious: nits

    * Update exchanges/account/credentials.go

    Co-authored-by: Scott <[email protected]>

    * Update exchanges/account/credentials_test.go

    Co-authored-by: Scott <[email protected]>

    * Update exchanges/account/credentials_test.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    * gloriously: fix glorious glorious test gloriously

    * script: initial implementation of error insertion on return

    * script: make script context aware(ish) and update error handle in examples

    * script: add tests

    * script: add syntax highlighting to readme

    * Update gctscript/vm/vm.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/vm/vm.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/examples/exchange/account_info.gct

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/examples/exchange/cancel_order.gct

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/examples/verbose.gct

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct_test.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    * rm: bros

    * scripts: handle errors in examples when they are going to use the data after fetching

    * linter: fix rides again

    * SCOTT_SPELL_CHECK_LINTER: fix

    * gctscript: fix tests

    * glorious: niiiiiiiiiiiiits

    * scriptmodules/gct: standardize runtime errors

    * Update gctscript/modules/gct/exchange.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/exchange.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/exchange.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/exchange.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct.go

    Co-authored-by: Scott <[email protected]>

    * Update gctscript/modules/gct/gct.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits/reverts

    * go mod: tidy

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>
    Co-authored-by: Scott <[email protected]>

commit 68588560e3cdcde611e916b72410c000f2ea6305
Author: Adrian Gallagher <[email protected]>
Date:   Wed Aug 17 11:37:22 2022 +1000

    CI: Bump go version, linters and fix minor issues (#1010)

    * Bump golang, golangci-lint versions and fix issues

    * Add -fno-stack-protector

    * Fix AppVeyor golangci-lint ver

    * Nitters

    * Nitters round 2

commit 0c9ad9eaa350b4c0b3f81a37e81792641ffd20ce
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Tue Aug 16 14:54:17 2022 +1000

    build(deps): bump github.com/urfave/cli/v2 from 2.11.1 to 2.11.2 (#1008)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.11.1 to 2.11.2.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.11.1...v2.11.2)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

commit ace5e64c10dcf57032d2b63752e3e83e1c055d28
Author: samuael <[email protected]>
Date:   Fri Aug 12 08:30:11 2022 +0300

    exchanges: Add Binance.us support (#949)

    * public endpoints methods added

    * Completing mapping REST endpoints

    * Binanceus Wrapper methods -Partially

    * BinaWra functions with test funs; Not Completed

    * Finalizing wrapper methods & test

    * Finalizing wrapper methods & test

    * Fix & Complete wrapper functions

    * Adding Stream Datas

    * WS Test functions

    * CI: Fix golangci-lint linter issues

    * CI: Fix reverting unnessesary changes and type conversion issues

    * CI: Fix reverting unnessesary changes and type conversion issues

    * CI: Fix comment, method use, error handling, and code handling issues

    * build(deps): bump github.com/urfave/cli/v2 from 2.4.0 to 2.4.8 (#932)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.4.0 to 2.4.8.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.4.0...v2.4.8)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump google.golang.org/grpc from 1.45.0 to 1.46.0 (#931)

    Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.45.0 to 1.46.0.
    - [Release notes](https://github.com/grpc/grpc-go/releases)
    - [Commits](https://github.com/grpc/grpc-go/compare/v1.45.0...v1.46.0)

    ---
    updated-dependencies:
    - dependency-name: google.golang.org/grpc
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * asset: bitmask type optimisation (#922)

    * asset: basic optim. bitmask

    * glorious: nits

    * currency: forgot parralel in testttttt

    * ticker/orderbook: test fixes

    * engine/rpcserver: fix and expand tests

    * test: use `T.TempDir` to create temporary test directory (#934)

    * test: use `T.TempDir` to create temporary test directory

    This commit replaces `ioutil.TempDir` with `t.TempDir` in tests. The
    directory created by `t.TempDir` is automatically removed when the test
    and all its subtests complete.

    Prior to this commit, temporary directory created using `ioutil.TempDir`
    needs to be removed manually by calling `os.RemoveAll`, which is omitted
    in some tests. The error handling boilerplate e.g.
    	defer func() {
    		if err := os.RemoveAll(dir); err != nil {
    			t.Fatal(err)
    		}
    	}
    is also tedious, but `t.TempDir` handles this for us nicely.

    Reference: https://pkg.go.dev/testing#T.TempDir
    Signed-off-by: Eng Zer Jun <[email protected]>

    * test: fix TestEncryptTwiceReusesSaltButNewCipher on Windows

    Signed-off-by: Eng Zer Jun <[email protected]>

    * test: fix TestCheckConnection on Windows

    Signed-off-by: Eng Zer Jun <[email protected]>

    * test: fix TestRPCServer_GetTicker_LastUpdatedNanos on Windows

    Signed-off-by: Eng Zer Jun <[email protected]>

    * test: cleanup TestGenerateReport

    Signed-off-by: Eng Zer Jun <[email protected]>

    * account: storage, processing and method on balances update (#916)

    * account: update account storage, retrieval and implement alert functionality when a currency change occurs.

    * account: Add cancel channel

    * account: remove old code

    * account: don't embed mutex

    * Update exchanges/account/account.go

    Co-authored-by: Scott <[email protected]>

    * Update exchanges/account/account.go

    Co-authored-by: Scott <[email protected]>

    * Update exchanges/account/account.go

    Co-authored-by: Scott <[email protected]>

    * account: addr nits

    * account: Pull out test into indiv.

    * account: Add test for update method

    * account: add no change to test

    * Update exchanges/account/account.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    * account/portfolio: differentiate between asset type segregation and default to spot holdings.

    * glorious: nits

    * thrasher: nit

    * ticker: fix spelling

    * Update engine/portfolio_manager.go

    Co-authored-by: Adrian Gallagher <[email protected]>

    * thrasher: nits

    Co-authored-by: Scott <[email protected]>
    Co-authored-by: Adrian Gallagher <[email protected]>

    * build(deps): bump github.com/urfave/cli/v2 from 2.4.8 to 2.5.1 (#936)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.4.8 to 2.5.1.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.4.8...v2.5.1)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * orderbook/buffer: data integrity and resubscription pass (#910)

    * orderbook/buffer: data integrity and resubscription pass

    * btcmarkets: REMOVE THAT LIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIINE!!!!!!!!!!!!!!!!!

    * buffer: reinstate publish, refaactor, invalidate more and comments

    * buffer/orderbook: improve update and snapshot performance. Move Update type to orderbook package to util. pointer through entire function calls. (cleanup). Change action string to uint8 for easier comparison. Add parsing helper. Update current test benchmark comments.

    * dispatch: change publish func to variadic id param

    * dispatch: remove sender receiver wait time as this adds overhead and complexity. update tests.

    * dispatch: don't create pointers for every job container

    * rpcserver: fix assertion issues with data publishing change

    * linter: fixes

    * glorious: nits addr

    * depth: change validation handling to incorporate and store err

    * linter: fix more issues

    * dispatch: fix race

    * travis: update before fetching

    * depth: wrap and return wrapped error in invalidate call and fix tests

    * btcmarkets: fix commenting

    * workflow: check

    * workflow: check

    * orderbook: check error

    * buffer/depth: return invalidation error and fix tests

    * gctcli: display errors on orderbook streams

    * buffer: remove unused types

    * orderbook/bitmex: shift function to bitmex

    * orderbook: Add specific comments to unexported functions that don't have locking require locking.

    * orderbook: restrict published data functionality to orderbook.Outbound interface

    * common: add assertion failure helper for error

    * dispatch: remove atomics, add mutex protection, remove add/remove worker, redo main tests

    * dispatch: export function

    * engine: revert and change sub logger to manager

    * engine: remove old test

    * dispatch: add common variable ;)

    * btcmarket: don't overflow int in tests on 32bit systems

    * ci: force 1.17.7 usage for go

    * Revert "ci: force 1.17.7 usage for go"

    This reverts commit af2f95563bf218cf2b9f36a9fcf3258e2c6a2d91.

    * golangci: bump version add and remove linter items

    * Revert "golangci: bump version add and remove linter items"

    This reverts commit 3c98bffc9d030e39faca0387ea40c151df2ab06b.

    * dispatch: remove unsused mutex from mux

    * order: slight optimizations

    * nits: glorious

    * dispatch: fix regression on uuid generation and input inline with master

    * linter: fix

    * linter: fix

    * glorious: nit - rm slice segration

    * account: fix test after merge

    * coinbasepro: revert change

    * account: close channel instead of needing a receiver, push alert in routine to prepare for waiter.

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

    * exchange/wrapper: add GetServerTime() for exchange analytics (#938)

    * exchange/wrapper: add GetServerTime() for exchange analytics

    * binance: fix linter issue

    * glorious: nits

    * glorious: nits rides again

    * thrasher: nits implement huobi

    * thrasher: nits add to exchange_wrapper_issues cmd

    * order: slight optimizations (#917)

    * order: slight optimizations

    * orders: add benchmarks, small optimize and change order side to uin8 for comparitive optimizations.

    * orders: continue to convert string type -> uint

    * orders/backtester: interim move type to orders package, later can expand or deprecate.

    * orders: handle errors

    * orders: optimize filters and remove error returns when its clearly not needed

    * orders: remove log call

    * backtester: zero value check

    * orders/futures: zero value -> flag

    * linter: fix

    * linter: more fixes

    * linters: rides again

    * glorious: nits

    * common: Add zero value unix check for time values; also addresses glorious nits

    * glorious scott: nits

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

    * btcm: add order execution limit wrapper support (#941)

    * btcm: add in order execution limit fetching

    * btcm/test: add t.Parrrrrralllleeellllllllll

    * btcm/wrapper: add update on startup

    * glorious: nits

    * thrasher: nit add status field

    * build(deps): bump github.com/urfave/cli/v2 from 2.5.1 to 2.6.0 (#944)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.5.1 to 2.6.0.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.5.1...v2.6.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * proto/lint: Add protobuf GitHub action and linter (#943)

    * Buf upgrades

    * Buf format and basic endpoint fixes

    * gRPC linter fixes

    * Amend buf.yaml linter exceptions

    * Update README

    * Freshly generated gRPC code after depends update

    * Nitterinos

    * ordermanager: fix test error introduced in #917  (#942)

    * ordermanager: fix residual test issue from #917 and reduce some racey action

    * glorious: nits; also removed functions that weren't being used and were unexported

    * rm: pew

    * linter: fix issues

    * glourious: nits

    * credentials: fix test issue with racey racey horse basey

    * engine: Add websocket data handler register function (#935)

    * engine: Add websocket interceptor register function

    * Update engine/engine.go

    Co-authored-by: Scott <[email protected]>

    * Update engine/websocketroutine_manager_types.go

    Co-authored-by: Scott <[email protected]>

    * engine/websock: switch to data handler function register and range over handlers to still include default gct handling

    * engine/websocket: change name

    * glorious: nits

    * linter: fix

    * glorious: nits

    Co-authored-by: Scott <[email protected]>

    * btcm: add modify order functionality, change return to pointer (#940)

    * btcm: add modify order functionality, change return to pointer

    * glorious: nits

    * glorious: nits

    * btcm: Adjust function name

    * thrasher: nits

    * thrasher: nits cont...

    * request: adds WithVerbose function to package to add verbosity to request context (#950)

    * request: adds WithVerbose function to package to add verbosity to request context

    * request: add t.Parr....

    * thrasher: nits

    * build(deps): bump google.golang.org/grpc from 1.46.0 to 1.46.2 (#951)

    Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.0 to 1.46.2.
    - [Release notes](https://github.com/grpc/grpc-go/releases)
    - [Commits](https://github.com/grpc/grpc-go/compare/v1.46.0...v1.46.2)

    ---
    updated-dependencies:
    - dependency-name: google.golang.org/grpc
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * exchange: expose GetCredentials() and split GetAuthenticatedAPISupport() (#954)

    * exchange/wrapper: expose GetCredentials func to IBotInterface

    * exchanges: split up GetAuthenticatedAPISupport into specific function calls, organize IBotExchange functionality getter functions

    * interface: change name - RPCSercer: rm GetBase func call.

    * glorious: nits (fix panic)

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

    * CI: merge fixes

    * CI: fixing github generated lint issues

    * orders: Add method for creating cancel struct from order details (#947)

    * orders: Add method for creating cancel struct from order details

    * orders: remove uneeded fields

    * glorious: nit

    * grpc: add shutdown call for external management (#957)

    * grpc: add shutdown call for external management

    * go mod: tidy

    * glorious: suggestion

    * Update engine/engine.go

    Co-authored-by: Adrian Gallagher <[email protected]>

    * Update engine/rpcserver.go

    Co-authored-by: Adrian Gallagher <[email protected]>

    * Update main.go

    Co-authored-by: Adrian Gallagher <[email protected]>

    * Update engine/rpcserver.go

    Co-authored-by: Scott <[email protected]>

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>
    Co-authored-by: Adrian Gallagher <[email protected]>
    Co-authored-by: Scott <[email protected]>

    * build(deps): bump github.com/lib/pq from 1.10.5 to 1.10.6 (#960)

    Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.5 to 1.10.6.
    - [Release notes](https://github.com/lib/pq/releases)
    - [Commits](https://github.com/lib/pq/compare/v1.10.5...v1.10.6)

    ---
    updated-dependencies:
    - dependency-name: github.com/lib/pq
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump github.com/urfave/cli/v2 from 2.6.0 to 2.8.0 (#958)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.6.0 to 2.8.0.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.6.0...v2.8.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#963)

    Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway) from 2.10.0 to 2.10.2.
    - [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
    - [Changelog](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/.goreleaser.yml)
    - [Commits](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.10.0...v2.10.2)

    ---
    updated-dependencies:
    - dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * orders: adds method to retrieve snapshot of order execution limit values (#946)

    * orders: add method to Limit to retrieve order execution limit snapshots

    * currency/btcmarkets: add error and update field name to standard

    * linter: fix

    * limts: don't return pointer

    * limit: Add notes

    * glorious: nits

    * linter: fix

    * limit: reinstate nil check

    * exchanges: change field names to be more consistent (@thrasher-) suggestion

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>

    * orders: Add derive modify struct method from order.Detail  (#948)

    * orders: Add derive modify struct method to order.Detail and then subsequent method to derive and standardize response details

    * exchanges: call modify method in wrappers

    * linter: fixes

    * engine/wsroutineman: remove print summary

    * glorious: nits, removed modifyOrder functionality for Bithumb. There are not docs to support this.

    * Update exchanges/order/orders.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    Co-authored-by: Scott <[email protected]>

    * build(deps): bump github.com/spf13/viper from 1.11.0 to 1.12.0 (#965)

    Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.11.0 to 1.12.0.
    - [Release notes](https://github.com/spf13/viper/releases)
    - [Commits](https://github.com/spf13/viper/compare/v1.11.0...v1.12.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/spf13/viper
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump github.com/urfave/cli/v2 from 2.8.0 to 2.8.1 (#964)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.8.0 to 2.8.1.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.8.0...v2.8.1)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * orders: Add methods to derive SubmitResponse and Detail types (#955)

    * orders: deprecate SubmitResponse return and change to *order.Detail construct detail from order.Submit struct

    * orders: add coverage, fix tests

    * coinut: rm test for checking

    * orders: revert change for return and change field ID to a more explicit name OrderID

    * orders: Add method to see if the order was placed

    * order: change field name in Cancel type to be more explicit

    * orders: standardize field -> OrderID

    * backtester: populate change

    * orders: add test

    * gctscript: fix field name

    * linter: fix issues

    * linter: more fixes

    * linter: forever

    * exchanges_tests: populate order.Submit field exchange name

    * Update exchanges/order/order_types.go

    Co-authored-by: Scott <[email protected]>

    * Update exchanges/order/orders.go

    Co-authored-by: Scott <[email protected]>

    * glorious: nits

    * glorious: nits

    * thrasher: nits

    Co-authored-by: Ryan O'Hara-Reid <[email protected]>
    Co-authored-by: Scott <[email protected]>

    * build(deps): bump bufbuild/buf-setup-action from 1.4.0 to 1.5.0 (#973)

    Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.4.0 to 1.5.0.
    - [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
    - [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.4.0...v1.5.0)

    ---
    updated-dependencies:
    - dependency-name: bufbuild/buf-setup-action
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump google.golang.org/grpc from 1.46.2 to 1.47.0 (#972)

    Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.2 to 1.47.0.
    - [Release notes](https://github.com/grpc/grpc-go/releases)
    - [Commits](https://github.com/grpc/grpc-go/compare/v1.46.2...v1.47.0)

    ---
    updated-dependencies:
    - dependency-name: google.golang.org/grpc
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 (#971)

    Bumps [github.com/grpc-ecosystem/grpc-gateway/v2](https://github.com/grpc-ecosystem/grpc-gateway) from 2.10.2 to 2.10.3.
    - [Release notes](https://github.com/grpc-ecosystem/grpc-gateway/releases)
    - [Changelog](https://github.com/grpc-ecosystem/grpc-gateway/blob/master/.goreleaser.yml)
    - [Commits](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.10.2...v2.10.3)

    ---
    updated-dependencies:
    - dependency-name: github.com/grpc-ecosystem/grpc-gateway/v2
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump github.com/d5/tengo/v2 from 2.10.1 to 2.11.2 (#975)

    Bumps [github.com/d5/tengo/v2](https://github.com/d5/tengo) from 2.10.1 to 2.11.2.
    - [Release notes](https://github.com/d5/tengo/releases)
    - [Changelog](https://github.com/d5/tengo/blob/master/.goreleaser.yml)
    - [Commits](https://github.com/d5/tengo/compare/v2.10.1...v2.11.2)

    ---
    updated-dependencies:
    - dependency-name: github.com/d5/tengo/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump github.com/urfave/cli/v2 from 2.8.1 to 2.10.1 (#979)

    Bumps [github.com/urfave/cli/v2](https://github.com/urfave/cli) from 2.8.1 to 2.10.1.
    - [Release notes](https://github.com/urfave/cli/releases)
    - [Changelog](https://github.com/urfave/cli/blob/main/docs/CHANGELOG.md)
    - [Commits](https://github.com/urfave/cli/compare/v2.8.1...v2.10.1)

    ---
    updated-dependencies:
    - dependency-name: github.com/urfave/cli/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump github.com/d5/tengo/v2 from 2.11.2 to 2.12.0 (#978)

    Bumps [github.com/d5/tengo/v2](https://github.com/d5/tengo) from 2.11.2 to 2.12.0.
    - [Release notes](https://github.com/d5/tengo/releases)
    - [Changelog](https://github.com/d5/tengo/blob/master/.goreleaser.yml)
    - [Commits](https://github.com/d5/tengo/compare/v2.11.2...v2.12.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/d5/tengo/v2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * CI: adding WS and REST tests, and minor fixes

    * CI: fixes on available asset and related minor issues

    * CI: fixes on endpoint function, test functions, and types

    * CI: updating templates and slight fixes

    * CI: updating slight fixes on tests and withdraws Request model

    * build(deps): bump styfle/cancel-workflow-action from 0.9.1 to 0.10.0 (#985)

    Bumps [styfle/cancel-workflow-action](https://github.com/styfle/cancel-workflow-action) from 0.9.1 to 0.10.0.
    - [Release notes](https://github.com/styfle/cancel-workflow-action/releases)
    - [Commits](https://github.com/styfle/cancel-workflow-action/compare/0.9.1...0.10.0)

    ---
    updated-dependencies:
    - dependency-name: styfle/cancel-workflow-action
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * build(deps): bump bufbuild/buf-setup-action from 1.5.0 to 1.6.0 (#984)

    Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.5.0 to 1.6.0.
    - [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
    - [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.5.0...v1.6.0)

    ---
    updated-dependencies:
    - dependency-name: bufbuild/buf-setup-action
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

    * backtester: Futures handling & FTX Cash and Carry example strategy (#930)

    * implements futures functions and GRPC functions on new branch

    * lint and test fixes

    * Fix uneven split pnl. Adds collateral weight test. docs. New clear func

    * Test protection if someone has zero collateral

    * Uses string instead of double for accuracy

    * Fixes old code panic

    * context, match, docs

    * Addresses Shazniterinos, var names, expanded tests

    * Returns subaccount name, provides USD values when offlinecalc

    * Fixes oopsie

    * Fixes cool bug which allowed made up subaccount results

    * Subaccount override on FTX, subaccount results for collateral

    * Strenghten collateral account info checks. Improve FTX test

    * English is my first language

    * Fixes oopsies

    * Adds some conceptual futures order details to track PNL

    * Initial design of future order processing in the backtester

    * Introduces futures concept for collateral and spot/futures config diffs

    * Fixes most tests

    * Simple designs for collateral funding pair concept

    * Expands interface use so much it hurts

    * Implements more collateral interfaces

    * Adds liquidation, adds strategy, struggles with Binance

    * Attempts at getting FTX to work

    * Adds calculatePNL as a wrapper function and adds an `IsFutures` asset check

    * Successfully loads backtester with collateral currency

    * Fails to really get much going for supporting futures

    * Merges master changes

    * Fleshes out how FTX processes collateral

    * Further FTX collateral workings

    * hooks up more ftx collateral and pnl calculations

    * more funcs to flesh out handling

    * Adds more links, just can't fit the pieces together :(

    * Greatly expands futures order processing

    * Fleshes out position tracker to also handle asset and exchange +testing

    * RM linkedOrderID. rn positioncontroller, unexport

    * Successfully tracks futures order positions

    * Fails to calculate PNL

    * Calculates pnl from orders accurately with exception to flipping orders

    * Calculates PNL from orders

    * Adds another controller layer to make it ez from orderstore

    * Backtester now compiles. Adds test coverage

    * labels things add scaling collateral test

    * Calculates pnl in line with fees

    * Mostly accurate PNL, with exception to appending with diff prices

    * Adds locks, adds rpc function

    * grpc implementations

    * Gracefully handles rpc function

    * beautiful tests!

    * rejiggles tests to polish

    * Finishes FTX testing, adds comments

    * Exposes collateral calculations to rpc

    * Adds commands and testing for rpcserver.go functions

    * Increase testing and fix up backtester code

    * Returns cool changes to original branch

    * end of day fixes

    * Fixing some tests

    * Fixing tests :tada:

    * Fixes all the tests

    * Splits the backtester setup and running into different files

    * Merge, minor fixes

    * Messing with some strategy updates

    * Failed understanding at collateral usage

    * Begins the creation of cash and carry strategy

    * Adds underlying pair, adds filldependentevent for futures

    * Completes fill prerequsite event implementation. Can't short though

    * Some bug fixes

    * investigating funds

    * CAN NOW CREATE A SHORT ORDER

    * Minor change in short size

    * Fixes for unrealised PNL & collateral rendering

    * Fixes lint and tests

    * Adds some verbosity

    * Updates to pnl calc

    * Tracks pnl for short orders, minor update to strategy

    * Close and open event based on conditions

    * Adds pnl data for currency statistics

    * Working through PNL calculation automatically. Now panics

    * Adds tracking, is blocked from design

    * Work to flesh out closing a position

    * vain attempts at tracking zeroing out bugs

    * woww, super fun new subloggers :tada:

    * Begins attempt at automatically handling contracts and collateral based on direction

    * Merge master + fixes

    * Investigating issues with pnl and holdings

    * Minor pnl fixes

    * Fixes future position sizing, needs contract sizing

    * Can render pnl results, focussing on funding statistics

    * tracking candles for futures, but why not btc

    * Improves funding statistics

    * Colours and stats

    * Fixes collateral and snapshot bugs

    * Completes test

    * Fixes totals bug

    * Fix double buy, expand stats, fixes usd totals, introduce interface

    * Begins report formatting and calculations

    * Appends pnl to receiving curr. Fixes map[time]. accurate USD

    * Improves report output rendering

    * PNL stats in report. New tests for futures

    * Fixes existing tests before adding new coverage

    * Test coverage

    * Completes portfolio coverage

    * Increase coverage exchange, portfolio. fix size bug. NEW CHART

    * WHAT IS GOING ON WITH PNL

    * Fixes PNL calculation. Adds ability to skip om futures tracking

    * minor commit before merge

    * Adds basic liquidation to backtester

    * Changes liquidation to order based

    * Liquidationnnnnn

    * Further fleshes out liquidations

    * Completes liquidations in a honorable manner. Adds AppendReasonf

    * Beginnings of spot futures gap chart. Needs to link currencies to render difference

    * Removes fake liquidation. Adds cool new chart

    * Fixes somet tests,allows for zero fee value v nil distinction,New tests

    * Some annoying test fixes that took too long

    * portfolio coverage

    * holding coverage, privatisation funding

    * Testwork

    * boring tests

    * engine coverage

    * More backtesting coverage

    * Funding, strategy, report test coverage

    * Completes coverage of report package

    * Documentation, fixes some assumptions on asset errors

    * Changes before master merge

    * Lint and Tests

    * defaults to non-coloured rendering

    * Chart rendering

    * Fixes surprise non-local-lints

    * Niterinos to the extremeos

    * Fixes merge problems

    * The linter splintered across the glinting plinths

    * Many nits addressed. Now sells spot position on final candle

    * Adds forgotten coverage

    * Adds ability to size futu…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review me This pull request is ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants