From 1ad74584eaf0f718c96ddcfd15e0eb9e008c915d Mon Sep 17 00:00:00 2001 From: gokuseii <92649326+gokuseii@users.noreply.github.com> Date: Wed, 19 Apr 2023 16:43:23 +0300 Subject: [PATCH] Update contract and adding use_relayer field --- internal/gobind/Swapica.go | 49 ++++++++++--------- internal/service/match_orders.go | 6 +-- internal/service/orders.go | 6 +-- internal/service/requests/add_match.go | 3 +- internal/service/requests/add_order.go | 3 +- .../order-aggregator-svc/resources/db.go | 4 +- .../resources/included.go | 4 +- .../resources/model_add_match_attributes.go | 6 ++- .../resources/model_add_order_attributes.go | 10 ++-- .../resources/model_details.go | 8 +-- .../resources/model_match_attributes.go | 4 +- .../resources/model_match_relationships.go | 1 + .../resources/model_order_attributes.go | 6 +-- .../resources/model_order_relationships.go | 2 + .../resources/model_resource_type.go | 1 + .../resources/model_token.go | 43 ++++++++++++++++ .../resources/model_token_attributes.go | 18 +++++++ 17 files changed, 123 insertions(+), 51 deletions(-) create mode 100644 vendor/github.com/Swapica/order-aggregator-svc/resources/model_token.go create mode 100644 vendor/github.com/Swapica/order-aggregator-svc/resources/model_token_attributes.go diff --git a/internal/gobind/Swapica.go b/internal/gobind/Swapica.go index 530b263..32a161e 100644 --- a/internal/gobind/Swapica.go +++ b/internal/gobind/Swapica.go @@ -31,6 +31,7 @@ var ( // ISwapicaCreateOrderRequest is an auto generated low-level Go binding around an user-defined struct. type ISwapicaCreateOrderRequest struct { + UseRelayer bool TokenToSell common.Address AmountToSell *big.Int TokenToBuy common.Address @@ -70,7 +71,7 @@ type ISwapicaOrderStatus struct { // SwapicaMetaData contains all meta data concerning the Swapica contract. var SwapicaMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originOrderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"structISwapica.Match\",\"name\":\"match_\",\"type\":\"tuple\"}],\"name\":\"MatchCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enumISwapica.State\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"MatchUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"structISwapica.Order\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"OrderCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"}],\"name\":\"OrderUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_signaturesThreshold\",\"type\":\"uint256\"}],\"name\":\"__Signers_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"}],\"name\":\"__Swapica_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"}],\"name\":\"addSigners\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"cancelMatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"signHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"checkSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"createMatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.CreateOrderRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"createOrder\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"executeMatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"executeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getAllMatches\",\"outputs\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originOrderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Match[]\",\"name\":\"allMatches\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllMatchesLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getAllOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Order[]\",\"name\":\"allOrders\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllOrdersLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSigners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getUserMatches\",\"outputs\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originOrderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Match[]\",\"name\":\"userMatches\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserMatchesLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getUserOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Order[]\",\"name\":\"userOrders\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserOrdersLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"}],\"name\":\"removeSigners\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_signaturesThreshold\",\"type\":\"uint256\"}],\"name\":\"setSignaturesThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signaturesThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", + ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originOrderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"structISwapica.Match\",\"name\":\"match_\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useRelayer\",\"type\":\"bool\"}],\"name\":\"MatchCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enumISwapica.State\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"MatchUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"structISwapica.Order\",\"name\":\"order\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useRelayer\",\"type\":\"bool\"}],\"name\":\"OrderCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"}],\"name\":\"OrderUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_signaturesThreshold\",\"type\":\"uint256\"}],\"name\":\"__Signers_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"}],\"name\":\"__Swapica_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"}],\"name\":\"addSigners\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"cancelMatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"signHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"checkSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"createMatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"useRelayer\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.CreateOrderRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"createOrder\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"executeMatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes[]\",\"name\":\"signatures\",\"type\":\"bytes[]\"}],\"name\":\"executeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getAllMatches\",\"outputs\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originOrderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Match[]\",\"name\":\"allMatches\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllMatchesLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getAllOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Order[]\",\"name\":\"allOrders\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllOrdersLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSigners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getUserMatches\",\"outputs\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originOrderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"originChainId\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Match[]\",\"name\":\"userMatches\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserMatchesLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getUserOrders\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enumISwapica.State\",\"name\":\"state\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"matchId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"matchSwapica\",\"type\":\"address\"}],\"internalType\":\"structISwapica.OrderStatus\",\"name\":\"status\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenToSell\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToSell\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenToBuy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountToBuy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"destinationChain\",\"type\":\"uint256\"}],\"internalType\":\"structISwapica.Order[]\",\"name\":\"userOrders\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserOrdersLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"signers\",\"type\":\"address[]\"}],\"name\":\"removeSigners\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_signaturesThreshold\",\"type\":\"uint256\"}],\"name\":\"setSignaturesThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signaturesThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", } // SwapicaABI is the input ABI used to generate the binding from. @@ -746,23 +747,23 @@ func (_Swapica *SwapicaTransactorSession) CreateMatch(data []byte, signatures [] return _Swapica.Contract.CreateMatch(&_Swapica.TransactOpts, data, signatures) } -// CreateOrder is a paid mutator transaction binding the contract method 0xb514f8f7. +// CreateOrder is a paid mutator transaction binding the contract method 0x61014c65. // -// Solidity: function createOrder((address,uint256,address,uint256,uint256) request) payable returns() +// Solidity: function createOrder((bool,address,uint256,address,uint256,uint256) request) payable returns() func (_Swapica *SwapicaTransactor) CreateOrder(opts *bind.TransactOpts, request ISwapicaCreateOrderRequest) (*types.Transaction, error) { return _Swapica.contract.Transact(opts, "createOrder", request) } -// CreateOrder is a paid mutator transaction binding the contract method 0xb514f8f7. +// CreateOrder is a paid mutator transaction binding the contract method 0x61014c65. // -// Solidity: function createOrder((address,uint256,address,uint256,uint256) request) payable returns() +// Solidity: function createOrder((bool,address,uint256,address,uint256,uint256) request) payable returns() func (_Swapica *SwapicaSession) CreateOrder(request ISwapicaCreateOrderRequest) (*types.Transaction, error) { return _Swapica.Contract.CreateOrder(&_Swapica.TransactOpts, request) } -// CreateOrder is a paid mutator transaction binding the contract method 0xb514f8f7. +// CreateOrder is a paid mutator transaction binding the contract method 0x61014c65. // -// Solidity: function createOrder((address,uint256,address,uint256,uint256) request) payable returns() +// Solidity: function createOrder((bool,address,uint256,address,uint256,uint256) request) payable returns() func (_Swapica *SwapicaTransactorSession) CreateOrder(request ISwapicaCreateOrderRequest) (*types.Transaction, error) { return _Swapica.Contract.CreateOrder(&_Swapica.TransactOpts, request) } @@ -1417,13 +1418,14 @@ func (it *SwapicaMatchCreatedIterator) Close() error { // SwapicaMatchCreated represents a MatchCreated event raised by the Swapica contract. type SwapicaMatchCreated struct { - Match ISwapicaMatch - Raw types.Log // Blockchain specific contextual infos + Match ISwapicaMatch + UseRelayer bool + Raw types.Log // Blockchain specific contextual infos } -// FilterMatchCreated is a free log retrieval operation binding the contract event 0xe8d8cb924d3a36c9b682db84ed911e0c87a9ffec1067d85bb5d3758406f0d621. +// FilterMatchCreated is a free log retrieval operation binding the contract event 0x32619f811334dd1aff2e3cc0ed3b2697603d2439fcf63f47d1de5cc5971c8f89. // -// Solidity: event MatchCreated((uint8,uint256,uint256,address,address,uint256,uint256) match_) +// Solidity: event MatchCreated((uint8,uint256,uint256,address,address,uint256,uint256) match_, bool useRelayer) func (_Swapica *SwapicaFilterer) FilterMatchCreated(opts *bind.FilterOpts) (*SwapicaMatchCreatedIterator, error) { logs, sub, err := _Swapica.contract.FilterLogs(opts, "MatchCreated") @@ -1433,9 +1435,9 @@ func (_Swapica *SwapicaFilterer) FilterMatchCreated(opts *bind.FilterOpts) (*Swa return &SwapicaMatchCreatedIterator{contract: _Swapica.contract, event: "MatchCreated", logs: logs, sub: sub}, nil } -// WatchMatchCreated is a free log subscription operation binding the contract event 0xe8d8cb924d3a36c9b682db84ed911e0c87a9ffec1067d85bb5d3758406f0d621. +// WatchMatchCreated is a free log subscription operation binding the contract event 0x32619f811334dd1aff2e3cc0ed3b2697603d2439fcf63f47d1de5cc5971c8f89. // -// Solidity: event MatchCreated((uint8,uint256,uint256,address,address,uint256,uint256) match_) +// Solidity: event MatchCreated((uint8,uint256,uint256,address,address,uint256,uint256) match_, bool useRelayer) func (_Swapica *SwapicaFilterer) WatchMatchCreated(opts *bind.WatchOpts, sink chan<- *SwapicaMatchCreated) (event.Subscription, error) { logs, sub, err := _Swapica.contract.WatchLogs(opts, "MatchCreated") @@ -1470,9 +1472,9 @@ func (_Swapica *SwapicaFilterer) WatchMatchCreated(opts *bind.WatchOpts, sink ch }), nil } -// ParseMatchCreated is a log parse operation binding the contract event 0xe8d8cb924d3a36c9b682db84ed911e0c87a9ffec1067d85bb5d3758406f0d621. +// ParseMatchCreated is a log parse operation binding the contract event 0x32619f811334dd1aff2e3cc0ed3b2697603d2439fcf63f47d1de5cc5971c8f89. // -// Solidity: event MatchCreated((uint8,uint256,uint256,address,address,uint256,uint256) match_) +// Solidity: event MatchCreated((uint8,uint256,uint256,address,address,uint256,uint256) match_, bool useRelayer) func (_Swapica *SwapicaFilterer) ParseMatchCreated(log types.Log) (*SwapicaMatchCreated, error) { event := new(SwapicaMatchCreated) if err := _Swapica.contract.UnpackLog(event, "MatchCreated", log); err != nil { @@ -1696,13 +1698,14 @@ func (it *SwapicaOrderCreatedIterator) Close() error { // SwapicaOrderCreated represents a OrderCreated event raised by the Swapica contract. type SwapicaOrderCreated struct { - Order ISwapicaOrder - Raw types.Log // Blockchain specific contextual infos + Order ISwapicaOrder + UseRelayer bool + Raw types.Log // Blockchain specific contextual infos } -// FilterOrderCreated is a free log retrieval operation binding the contract event 0x9eeb92ce2bcf64d3a4cb135c0df74fd644fd4e613c788959ffdbed5a2b400546. +// FilterOrderCreated is a free log retrieval operation binding the contract event 0x9488f6f0c9882f87541e717b5129ed27dd5cdd85e7dbfa256947795fda7cc276. // -// Solidity: event OrderCreated(((uint8,uint256,address),uint256,address,address,uint256,address,uint256,uint256) order) +// Solidity: event OrderCreated(((uint8,uint256,address),uint256,address,address,uint256,address,uint256,uint256) order, bool useRelayer) func (_Swapica *SwapicaFilterer) FilterOrderCreated(opts *bind.FilterOpts) (*SwapicaOrderCreatedIterator, error) { logs, sub, err := _Swapica.contract.FilterLogs(opts, "OrderCreated") @@ -1712,9 +1715,9 @@ func (_Swapica *SwapicaFilterer) FilterOrderCreated(opts *bind.FilterOpts) (*Swa return &SwapicaOrderCreatedIterator{contract: _Swapica.contract, event: "OrderCreated", logs: logs, sub: sub}, nil } -// WatchOrderCreated is a free log subscription operation binding the contract event 0x9eeb92ce2bcf64d3a4cb135c0df74fd644fd4e613c788959ffdbed5a2b400546. +// WatchOrderCreated is a free log subscription operation binding the contract event 0x9488f6f0c9882f87541e717b5129ed27dd5cdd85e7dbfa256947795fda7cc276. // -// Solidity: event OrderCreated(((uint8,uint256,address),uint256,address,address,uint256,address,uint256,uint256) order) +// Solidity: event OrderCreated(((uint8,uint256,address),uint256,address,address,uint256,address,uint256,uint256) order, bool useRelayer) func (_Swapica *SwapicaFilterer) WatchOrderCreated(opts *bind.WatchOpts, sink chan<- *SwapicaOrderCreated) (event.Subscription, error) { logs, sub, err := _Swapica.contract.WatchLogs(opts, "OrderCreated") @@ -1749,9 +1752,9 @@ func (_Swapica *SwapicaFilterer) WatchOrderCreated(opts *bind.WatchOpts, sink ch }), nil } -// ParseOrderCreated is a log parse operation binding the contract event 0x9eeb92ce2bcf64d3a4cb135c0df74fd644fd4e613c788959ffdbed5a2b400546. +// ParseOrderCreated is a log parse operation binding the contract event 0x9488f6f0c9882f87541e717b5129ed27dd5cdd85e7dbfa256947795fda7cc276. // -// Solidity: event OrderCreated(((uint8,uint256,address),uint256,address,address,uint256,address,uint256,uint256) order) +// Solidity: event OrderCreated(((uint8,uint256,address),uint256,address,address,uint256,address,uint256,uint256) order, bool useRelayer) func (_Swapica *SwapicaFilterer) ParseOrderCreated(log types.Log) (*SwapicaOrderCreated, error) { event := new(SwapicaOrderCreated) if err := _Swapica.contract.UnpackLog(event, "OrderCreated", log); err != nil { diff --git a/internal/service/match_orders.go b/internal/service/match_orders.go index d49c167..dc3b277 100644 --- a/internal/service/match_orders.go +++ b/internal/service/match_orders.go @@ -18,7 +18,7 @@ func (r *indexer) handleCreatedMatches(ctx context.Context, opts *bind.FilterOpt return errors.Wrap(err, "failed to filter MatchCreated events") } for it.Next() { - if err = r.addMatch(ctx, it.Event.Match); err != nil { + if err = r.addMatch(ctx, it.Event.Match, it.Event.UseRelayer); err != nil { return errors.Wrap(err, "failed to add match order") } @@ -51,10 +51,10 @@ func (r *indexer) handleUpdatedMatches(ctx context.Context, opts *bind.FilterOpt return errors.Wrap(it.Error(), "error occurred while iterating over MatchUpdated events") } -func (r *indexer) addMatch(ctx context.Context, mo gobind.ISwapicaMatch) error { +func (r *indexer) addMatch(ctx context.Context, mo gobind.ISwapicaMatch, useRelayer bool) error { log := r.log.WithField("match_id", mo.MatchId.String()) log.Debug("adding new match order") - body := requests.NewAddMatch(mo, r.chainID) + body := requests.NewAddMatch(mo, r.chainID, useRelayer) u, _ := url.Parse("/match_orders") err := r.collector.PostJSON(u, body, ctx, nil) diff --git a/internal/service/orders.go b/internal/service/orders.go index d979404..5c3fca3 100644 --- a/internal/service/orders.go +++ b/internal/service/orders.go @@ -18,7 +18,7 @@ func (r *indexer) handleCreatedOrders(ctx context.Context, opts *bind.FilterOpts return errors.Wrap(err, "failed to filter OrderCreated events") } for it.Next() { - if err = r.addOrder(ctx, it.Event.Order); err != nil { + if err = r.addOrder(ctx, it.Event.Order, it.Event.UseRelayer); err != nil { return errors.Wrap(err, "failed to index order") } @@ -51,10 +51,10 @@ func (r *indexer) handleUpdatedOrders(ctx context.Context, opts *bind.FilterOpts return errors.Wrap(it.Error(), "error occurred while iterating over OrderUpdated events") } -func (r *indexer) addOrder(ctx context.Context, o gobind.ISwapicaOrder) error { +func (r *indexer) addOrder(ctx context.Context, o gobind.ISwapicaOrder, useRelayer bool) error { log := r.log.WithField("order_id", o.OrderId.String()) log.Debug("adding new order") - body := requests.NewAddOrder(o, r.chainID) + body := requests.NewAddOrder(o, r.chainID, useRelayer) u, _ := url.Parse("/orders") err := r.collector.PostJSON(u, body, ctx, nil) diff --git a/internal/service/requests/add_match.go b/internal/service/requests/add_match.go index 03e825c..87d11c5 100644 --- a/internal/service/requests/add_match.go +++ b/internal/service/requests/add_match.go @@ -5,7 +5,7 @@ import ( "github.com/Swapica/order-aggregator-svc/resources" ) -func NewAddMatch(m gobind.ISwapicaMatch, chainID int64) resources.AddMatchRequest { +func NewAddMatch(m gobind.ISwapicaMatch, chainID int64, useRelayer bool) resources.AddMatchRequest { return resources.AddMatchRequest{ Data: resources.AddMatch{ Key: resources.Key{ @@ -13,6 +13,7 @@ func NewAddMatch(m gobind.ISwapicaMatch, chainID int64) resources.AddMatchReques }, Attributes: resources.AddMatchAttributes{ AmountToSell: m.AmountToSell.String(), + UseRelayer: useRelayer, Creator: m.Creator.String(), MatchId: m.MatchId.Int64(), State: m.State, diff --git a/internal/service/requests/add_order.go b/internal/service/requests/add_order.go index 9c3588f..83d2d6c 100644 --- a/internal/service/requests/add_order.go +++ b/internal/service/requests/add_order.go @@ -5,7 +5,7 @@ import ( "github.com/Swapica/order-aggregator-svc/resources" ) -func NewAddOrder(o gobind.ISwapicaOrder, chainID int64) resources.AddOrderRequest { +func NewAddOrder(o gobind.ISwapicaOrder, chainID int64, useRelayer bool) resources.AddOrderRequest { return resources.AddOrderRequest{ Data: resources.AddOrder{ Key: resources.Key{ @@ -14,6 +14,7 @@ func NewAddOrder(o gobind.ISwapicaOrder, chainID int64) resources.AddOrderReques Attributes: resources.AddOrderAttributes{ AmountToBuy: o.AmountToBuy.String(), AmountToSell: o.AmountToSell.String(), + UseRelayer: useRelayer, Creator: o.Creator.String(), MatchSwapica: nil, // must be nil by the Swapica contract OrderId: o.OrderId.Int64(), diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/db.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/db.go index 5381330..0c07f2f 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/db.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/db.go @@ -12,7 +12,7 @@ import ( "gitlab.com/distributed_lab/logan/v3/errors" ) -// driverValue - converts interface into db supported type +//driverValue - converts interface into db supported type func driverValue(data interface{}) (driver.Value, error) { data, err := json.Marshal(data) if err != nil { @@ -22,7 +22,7 @@ func driverValue(data interface{}) (driver.Value, error) { return data, nil } -// driveScan - converts jsonb into type struct +//driveScan - converts jsonb into type struct func driveScan(src, dest interface{}) error { data, err := convertJSONB(src) if err != nil { diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/included.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/included.go index 68d70a2..889272d 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/included.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/included.go @@ -46,7 +46,7 @@ func (c *Included) add(include Resource) { c.includes[include.GetKey()] = json.RawMessage(data) } -// MarshalJSON - marshals include collection as array of json objects +//MarshalJSON - marshals include collection as array of json objects func (c Included) MarshalJSON() ([]byte, error) { uniqueEntries := make([]json.RawMessage, 0, len(c.includes)) for _, value := range c.includes { @@ -56,7 +56,7 @@ func (c Included) MarshalJSON() ([]byte, error) { return json.Marshal(uniqueEntries) } -// UmarshalJSON - unmarshal array of json objects into include collection +//UmarshalJSON - unmarshal array of json objects into include collection func (c *Included) UnmarshalJSON(data []byte) error { var keys []Key err := json.Unmarshal(data, &keys) diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_match_attributes.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_match_attributes.go index 533aafc..2479908 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_match_attributes.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_match_attributes.go @@ -15,10 +15,12 @@ type AddMatchAttributes struct { OriginOrderId int64 `json:"origin_order_id"` // Match order state State uint8 `json:"state"` - // Contract address of the token to sell - TokenToSell string `json:"token_to_sell"` + // Relayer execute match order + UseRelayer bool `json:"use_relayer"` // Source blockchain of the order to match OriginChainId int64 `json:"origin_chain_id"` // Source blockchain where the match order appeared SrcChainId int64 `json:"src_chain_id"` + // Contract address of the token to sell + TokenToSell string `json:"token_to_sell"` } diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_order_attributes.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_order_attributes.go index 1d21e67..bdb683c 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_order_attributes.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_add_order_attributes.go @@ -19,12 +19,14 @@ type AddOrderAttributes struct { OrderId int64 `json:"order_id"` // Order state State uint8 `json:"state"` - // Contract address of the token to buy - TokenToBuy string `json:"token_to_buy"` - // Contract address of the token to sell - TokenToSell string `json:"token_to_sell"` + // Relayer execute order + UseRelayer bool `json:"use_relayer"` // Source blockchain of the match order which is intended to execute the order DestChainId int64 `json:"dest_chain_id"` // Source blockchain where the order appeared SrcChainId int64 `json:"src_chain_id"` + // Contract address of the token to buy + TokenToBuy string `json:"token_to_buy"` + // Contract address of the token to sell + TokenToSell string `json:"token_to_sell"` } diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_details.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_details.go index 36e0d24..303c93d 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_details.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_details.go @@ -13,7 +13,7 @@ import ( type Details json.RawMessage -// UnmarshalJSON - casts data to Details +//UnmarshalJSON - casts data to Details func (d *Details) UnmarshalJSON(data []byte) error { if d == nil { return errors.New("regources.Details: UnmarshalJSON on nil pointer") @@ -22,7 +22,7 @@ func (d *Details) UnmarshalJSON(data []byte) error { return nil } -// MarshalJSON - casts Details to []byte +//MarshalJSON - casts Details to []byte func (d Details) MarshalJSON() ([]byte, error) { if d == nil { return []byte("null"), nil @@ -34,7 +34,7 @@ func (d Details) String() string { return string(d) } -// Value - implements db driver method for auto marshal +//Value - implements db driver method for auto marshal func (r Details) Value() (driver.Value, error) { result, err := json.Marshal(r) if err != nil { @@ -44,7 +44,7 @@ func (r Details) Value() (driver.Value, error) { return result, nil } -// Scan - implements db driver method for auto unmarshal +//Scan - implements db driver method for auto unmarshal func (r *Details) Scan(src interface{}) error { var data []byte switch rawData := src.(type) { diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_attributes.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_attributes.go index 934fa2a..090b333 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_attributes.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_attributes.go @@ -15,6 +15,6 @@ type MatchAttributes struct { OriginOrderId int64 `json:"origin_order_id"` // Match order state State uint8 `json:"state"` - // Contract address of the token to sell - TokenToSell string `json:"token_to_sell"` + // Relayer execute match order + UseRelayer bool `json:"use_relayer"` } diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_relationships.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_relationships.go index 1c347fc..db354bf 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_relationships.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_match_relationships.go @@ -8,4 +8,5 @@ type MatchRelationships struct { OriginChain Relation `json:"origin_chain"` OriginOrder Relation `json:"origin_order"` SrcChain Relation `json:"src_chain"` + TokenToSell Relation `json:"token_to_sell"` } diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_attributes.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_attributes.go index 8454f66..b358524 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_attributes.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_attributes.go @@ -19,8 +19,6 @@ type OrderAttributes struct { OrderId int64 `json:"order_id"` // Order state State uint8 `json:"state"` - // Contract address of the token to buy - TokenToBuy string `json:"token_to_buy"` - // Contract address of the token to sell - TokenToSell string `json:"token_to_sell"` + // Relayer execute order + UseRelayer bool `json:"use_relayer"` } diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_relationships.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_relationships.go index e7e2098..e3b0338 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_relationships.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_order_relationships.go @@ -8,4 +8,6 @@ type OrderRelationships struct { DestinationChain Relation `json:"destination_chain"` Match *Relation `json:"match,omitempty"` SrcChain Relation `json:"src_chain"` + TokenToBuy Relation `json:"token_to_buy"` + TokenToSell Relation `json:"token_to_sell"` } diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_resource_type.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_resource_type.go index 4d4b07e..6e4e18b 100644 --- a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_resource_type.go +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_resource_type.go @@ -12,4 +12,5 @@ const ( CHAIN ResourceType = "chain" MATCH_ORDER ResourceType = "match_order" ORDER ResourceType = "order" + TOKEN ResourceType = "token" ) diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_token.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_token.go new file mode 100644 index 0000000..c03c4af --- /dev/null +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_token.go @@ -0,0 +1,43 @@ +/* + * GENERATED. Do not modify. Your changes might be overwritten! + */ + +package resources + +import "encoding/json" + +type Token struct { + Key + Attributes TokenAttributes `json:"attributes"` +} +type TokenResponse struct { + Data Token `json:"data"` + Included Included `json:"included"` +} + +type TokenListResponse struct { + Data []Token `json:"data"` + Included Included `json:"included"` + Links *Links `json:"links"` + Meta json.RawMessage `json:"meta,omitempty"` +} + +func (r *TokenListResponse) PutMeta(v interface{}) (err error) { + r.Meta, err = json.Marshal(v) + return err +} + +func (r *TokenListResponse) GetMeta(out interface{}) error { + return json.Unmarshal(r.Meta, out) +} + +// MustToken - returns Token from include collection. +// if entry with specified key does not exist - returns nil +// if entry with specified key exists but type or ID mismatches - panics +func (c *Included) MustToken(key Key) *Token { + var token Token + if c.tryFindEntry(key, &token) { + return &token + } + return nil +} diff --git a/vendor/github.com/Swapica/order-aggregator-svc/resources/model_token_attributes.go b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_token_attributes.go new file mode 100644 index 0000000..6ef8a67 --- /dev/null +++ b/vendor/github.com/Swapica/order-aggregator-svc/resources/model_token_attributes.go @@ -0,0 +1,18 @@ +/* + * GENERATED. Do not modify. Your changes might be overwritten! + */ + +package resources + +type TokenAttributes struct { + // Token contract address + Address string `json:"address"` + // ERC20 token decimals property + Decimals uint8 `json:"decimals"` + // ERC20 token name property + Name string `json:"name"` + // Blockchain where the token lives + SrcChain int64 `json:"src_chain"` + // ERC20 token symbol property + Symbol string `json:"symbol"` +}