diff --git a/components/app/app.go b/components/app/app.go index 0927a0b..3b5b31e 100644 --- a/components/app/app.go +++ b/components/app/app.go @@ -14,7 +14,7 @@ var ( Name = "inx-indexer" // Version of the app. - Version = "2.0.0-alpha.13" + Version = "2.0.0-alpha.14" ) func App() *app.App { diff --git a/go.mod b/go.mod index d53be79..01bdff7 100644 --- a/go.mod +++ b/go.mod @@ -6,15 +6,15 @@ require ( github.com/ethereum/go-ethereum v1.13.5 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/iotaledger/hive.go/app v0.0.0-20231113110812-4ca2b6cc9a42 - github.com/iotaledger/hive.go/crypto v0.0.0-20231113110812-4ca2b6cc9a42 + github.com/iotaledger/hive.go/crypto v0.0.0-20231122112629-bdf1cc39fba7 github.com/iotaledger/hive.go/ds v0.0.0-20231113110812-4ca2b6cc9a42 - github.com/iotaledger/hive.go/ierrors v0.0.0-20231113110812-4ca2b6cc9a42 - github.com/iotaledger/hive.go/lo v0.0.0-20231113110812-4ca2b6cc9a42 + github.com/iotaledger/hive.go/ierrors v0.0.0-20231122112629-bdf1cc39fba7 + github.com/iotaledger/hive.go/lo v0.0.0-20231122112629-bdf1cc39fba7 github.com/iotaledger/hive.go/logger v0.0.0-20231113110812-4ca2b6cc9a42 - github.com/iotaledger/hive.go/runtime v0.0.0-20231113110812-4ca2b6cc9a42 - github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231120133804-ac348260c0b7 - github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231120082637-ccd5b8465251 - github.com/iotaledger/iota.go/v4 v4.0.0-20231120063545-80c263f28140 + github.com/iotaledger/hive.go/runtime v0.0.0-20231122112629-bdf1cc39fba7 + github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231123103852-bb039cbab83b + github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231123103318-f6ea945e2e98 + github.com/iotaledger/iota.go/v4 v4.0.0-20231123102955-eff367396512 github.com/labstack/echo-contrib v0.15.0 github.com/labstack/echo/v4 v4.11.3 github.com/pkg/errors v0.9.1 @@ -49,10 +49,10 @@ require ( github.com/hashicorp/go-version v1.6.0 // indirect github.com/holiman/uint256 v1.2.3 // indirect github.com/iancoleman/orderedmap v0.3.0 // indirect - github.com/iotaledger/hive.go/constraints v0.0.0-20231113110812-4ca2b6cc9a42 // indirect + github.com/iotaledger/hive.go/constraints v0.0.0-20231122112629-bdf1cc39fba7 // indirect github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20231113110812-4ca2b6cc9a42 // indirect github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20231113110812-4ca2b6cc9a42 // indirect - github.com/iotaledger/hive.go/stringify v0.0.0-20231113110812-4ca2b6cc9a42 // indirect + github.com/iotaledger/hive.go/stringify v0.0.0-20231122112629-bdf1cc39fba7 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgx/v5 v5.5.0 // indirect @@ -90,7 +90,7 @@ require ( golang.org/x/sync v0.5.0 // indirect golang.org/x/sys v0.14.0 // indirect golang.org/x/time v0.4.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect google.golang.org/grpc v1.59.0 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 6e06ff7..619322f 100644 --- a/go.sum +++ b/go.sum @@ -186,32 +186,32 @@ github.com/iancoleman/orderedmap v0.3.0/go.mod h1:XuLcCUkdL5owUCQeF2Ue9uuw1EptkJ github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/iotaledger/hive.go/app v0.0.0-20231113110812-4ca2b6cc9a42 h1:K6VF23FOqHTRdk5OzsuBkYlGV008SZgKYqNwb0bp3rk= github.com/iotaledger/hive.go/app v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:+riYmeLApkLlj4+EpuJpEJAsj/KGfD7cqLGy7oTsPOM= -github.com/iotaledger/hive.go/constraints v0.0.0-20231113110812-4ca2b6cc9a42 h1:+PyLPZhRHy+Negjpuj0CSLaObpErEH7yI6HB2z5N6b0= -github.com/iotaledger/hive.go/constraints v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:dOBOM2s4se3HcWefPe8sQLUalGXJ8yVXw58oK8jke3s= +github.com/iotaledger/hive.go/constraints v0.0.0-20231122112629-bdf1cc39fba7 h1:ozpeM5nHHUjK3aKpTmwFEDG2bqxLJf0KBCTakjh+1FE= +github.com/iotaledger/hive.go/constraints v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:dOBOM2s4se3HcWefPe8sQLUalGXJ8yVXw58oK8jke3s= github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20231113110812-4ca2b6cc9a42 h1:3dW4gz0Vr9BogN826HRTp0OFlbngjhWcVPUfDhJ57Yw= github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20231113110812-4ca2b6cc9a42/go.mod h1:CdixkrB7VdQzEDlVuwsxPtsiJL/WXrQgz3PELIqlLko= -github.com/iotaledger/hive.go/crypto v0.0.0-20231113110812-4ca2b6cc9a42 h1:t6EKe+O7XAmbe07cVHuM/3aBLEbVIY4D6yefANB4PUA= -github.com/iotaledger/hive.go/crypto v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:OQ9EVTTQT1mkO/16BgwSIyQlAhEg+Cptud/yutevWsI= +github.com/iotaledger/hive.go/crypto v0.0.0-20231122112629-bdf1cc39fba7 h1:vLLhxGhipU6AH/paexuRX3zsOvcl8bdYcwJRAchUP8g= +github.com/iotaledger/hive.go/crypto v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:OQ9EVTTQT1mkO/16BgwSIyQlAhEg+Cptud/yutevWsI= github.com/iotaledger/hive.go/ds v0.0.0-20231113110812-4ca2b6cc9a42 h1:QZiMlDxmikF64zimWQunTrsEGOK9ydRahUAz2I46JAk= github.com/iotaledger/hive.go/ds v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:JE8cbZSvzbB5TrwXibg6M0B7ck35YxF30ItHBzQRlgc= -github.com/iotaledger/hive.go/ierrors v0.0.0-20231113110812-4ca2b6cc9a42 h1:gxlZ4zL6EfLyqT0+hIFV3WVE0FrPVgV5cQdyn36vPXQ= -github.com/iotaledger/hive.go/ierrors v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:HcE8B5lP96enc/OALTb2/rIIi+yOLouRoHOKRclKmC8= -github.com/iotaledger/hive.go/lo v0.0.0-20231113110812-4ca2b6cc9a42 h1:kcHkWyURZDVqO80OmJo5Z+wTJB6H+s52WAnU575vX0o= -github.com/iotaledger/hive.go/lo v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:6Ee7i6b4tuTHuRYnPP8VUb0wr9XFI5qlqtnttBd9jRg= +github.com/iotaledger/hive.go/ierrors v0.0.0-20231122112629-bdf1cc39fba7 h1:tf7x4U+ZXnmFXhUmqYtn0kcgpOcGPIhbxR/akpzAU4U= +github.com/iotaledger/hive.go/ierrors v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:HcE8B5lP96enc/OALTb2/rIIi+yOLouRoHOKRclKmC8= +github.com/iotaledger/hive.go/lo v0.0.0-20231122112629-bdf1cc39fba7 h1:svFxB75LsjUOHt3crcn70GVk7ztdNv5CytC3GbGj9FQ= +github.com/iotaledger/hive.go/lo v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:6Ee7i6b4tuTHuRYnPP8VUb0wr9XFI5qlqtnttBd9jRg= github.com/iotaledger/hive.go/logger v0.0.0-20231113110812-4ca2b6cc9a42 h1:uD99UbTtBM5SIP9N3c/3BBLtb0frGYFsZ2lS8Zxtqr4= github.com/iotaledger/hive.go/logger v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:w1psHM2MuKsen1WdsPKrpqElYH7ZOQ+YdQIgJZg4HTo= -github.com/iotaledger/hive.go/runtime v0.0.0-20231113110812-4ca2b6cc9a42 h1:hpR++ME3Y3CcxA431Zg0PgcCJUNkbBqjNXxR/bs+NdI= -github.com/iotaledger/hive.go/runtime v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:DrZPvUvLarK8C2qb+3H2vdypp/MuhpQmB3iMJbDCr/Q= +github.com/iotaledger/hive.go/runtime v0.0.0-20231122112629-bdf1cc39fba7 h1:NtR3ZeY6Mop9JcHu62Z6JPMRcijIV1ZCZPpOev8HZRw= +github.com/iotaledger/hive.go/runtime v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:DrZPvUvLarK8C2qb+3H2vdypp/MuhpQmB3iMJbDCr/Q= github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20231113110812-4ca2b6cc9a42 h1:hepsnGvaS39azq80GV8DT9HlexoO/RqJbyiW5FXZ0HQ= github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20231113110812-4ca2b6cc9a42/go.mod h1:FoH3T6yKlZJp8xm8K+zsQiibSynp32v21CpWx8xkek8= -github.com/iotaledger/hive.go/stringify v0.0.0-20231113110812-4ca2b6cc9a42 h1:9c7NiX2cnNPHR9UNWINDqNkolupXiDF3543pR6KLwIg= -github.com/iotaledger/hive.go/stringify v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:FTo/UWzNYgnQ082GI9QVM9HFDERqf9rw9RivNpqrnTs= -github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231120133804-ac348260c0b7 h1:Q6t1k08barQ4XZ2LPIpu8/t0Gq7pkCAF0se1EceKeE4= -github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231120133804-ac348260c0b7/go.mod h1:iFiY6UukYeL8D3N1mtg4jh/9lxTBhzG0QgtD+w0gpps= -github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231120082637-ccd5b8465251 h1:bYGO8jXNXJNMGPG9etGW7WXfLbRU9ofx1xdd29/sS9M= -github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231120082637-ccd5b8465251/go.mod h1:chzj8FDIeXHIh3D52QTZ7imADlzdkhg7o7E2Qr85MJ8= -github.com/iotaledger/iota.go/v4 v4.0.0-20231120063545-80c263f28140 h1:8zHRYT1KADR9bOLUg7Ia4XA3StBHzV4Tb2Qtp42KLN8= -github.com/iotaledger/iota.go/v4 v4.0.0-20231120063545-80c263f28140/go.mod h1:1CUJKGvkOUGXakxFZGAagEQDX9qYyhzIElmUHCHo9RM= +github.com/iotaledger/hive.go/stringify v0.0.0-20231122112629-bdf1cc39fba7 h1:h481Dn+giKO/1MamwuDZ8Mvzg4GbPx/asKD/X3Zs8wc= +github.com/iotaledger/hive.go/stringify v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:FTo/UWzNYgnQ082GI9QVM9HFDERqf9rw9RivNpqrnTs= +github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231123103852-bb039cbab83b h1:T/9f4eYcP/fxe0G0pYa6TRZxD9rI9uMdDW89hnsNByU= +github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231123103852-bb039cbab83b/go.mod h1:c7ktZxoH5Wp2ixzJn/8RmM5v2QOCIu/79tDFvfLbyPs= +github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231123103318-f6ea945e2e98 h1:PjGs+njONeFaxFgQ3lxxlRs3wTYw3233f/yDyTV8/F8= +github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231123103318-f6ea945e2e98/go.mod h1:jFRt2SZO3KE74/mk+zeCjlhVROriEg86K8CJTxvfdP8= +github.com/iotaledger/iota.go/v4 v4.0.0-20231123102955-eff367396512 h1:E1m9Ja6d47sVkl0k2a8eU9f5COWqpyNY9ET3TyYLHiI= +github.com/iotaledger/iota.go/v4 v4.0.0-20231123102955-eff367396512/go.mod h1:aO+5iL0vTNwNfE4QMGHVIufGziSI1wTvwJY1ipSMgCk= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= @@ -528,8 +528,8 @@ google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= diff --git a/pkg/server/restapi.go b/pkg/server/restapi.go index dbcef3e..0f10ad8 100644 --- a/pkg/server/restapi.go +++ b/pkg/server/restapi.go @@ -1,24 +1,6 @@ package server const ( - // ParameterFoundryID is used to identify a foundry by its ID. - ParameterFoundryID = "foundryID" - - // ParameterAccountID is used to identify an account by its ID. - ParameterAccountID = "accountID" - - // ParameterAnchorID is used to identify an anchor by its ID. - ParameterAnchorID = "anchorID" - - // ParameterDelegationID is used to identify a delegation by its ID. - ParameterDelegationID = "delegationID" - - // ParameterNFTID is used to identify a nft by its ID. - ParameterNFTID = "nftID" - - // ParameterAddress is used to identify an address. - ParameterAddress = "address" - // QueryParameterUnlockableByAddress is used to filter for all unlock conditions regarding a certain address. QueryParameterUnlockableByAddress = "unlockableByAddress" diff --git a/pkg/server/routes.go b/pkg/server/routes.go index f8ea664..c75a665 100644 --- a/pkg/server/routes.go +++ b/pkg/server/routes.go @@ -13,80 +13,7 @@ import ( "github.com/iotaledger/inx-app/pkg/httpserver" "github.com/iotaledger/inx-indexer/pkg/indexer" iotago "github.com/iotaledger/iota.go/v4" - "github.com/iotaledger/iota.go/v4/nodeclient/apimodels" -) - -const ( - // RouteOutputs is the route for getting basic, foundry, account, delegation and nft outputs filtered by the given parameters. - // GET with query parameter returns all outputIDs that fit these filter criteria. - // Query parameters: "hasNativeToken", "nativeToken", "unlockableByAddress", "createdBefore", "createdAfter" - // Returns an empty list if no results are found. - RouteOutputs = "/outputs" - - // RouteOutputsBasic is the route for getting basic outputs filtered by the given parameters. - // GET with query parameter returns all outputIDs that fit these filter criteria. - // Query parameters: "hasNativeToken", "nativeToken", "address", "unlockableByAddress", "hasStorageDepositReturn", "storageDepositReturnAddress", - // "hasExpiration", "expiresBefore", "expiresAfter", "expirationReturnAddress", - // "hasTimelock", "timelockedBefore", "timelockedAfter", "sender", "tag", - // "createdBefore", "createdAfter" - // Returns an empty list if no results are found. - RouteOutputsBasic = "/outputs/basic" - - // RouteOutputsAccounts is the route for getting accounts filtered by the given parameters. - // GET with query parameter returns all outputIDs that fit these filter criteria. - // Query parameters: "address", "issuer", "sender", - // "createdBefore", "createdAfter" - // Returns an empty list if no results are found. - RouteOutputsAccounts = "/outputs/account" - - // RouteOutputsAccountByID is the route for getting accounts by their accountID. - // GET returns the outputIDs or 404 if no record is found. - RouteOutputsAccountByID = "/outputs/account/:" + ParameterAccountID - - // RouteOutputsAnchors is the route for getting anchors filtered by the given parameters. - // GET with query parameter returns all outputIDs that fit these filter criteria. - // Query parameters: "unlockableByAddress", "stateController", "governor", "issuer", "sender", - // "createdBefore", "createdAfter" - // Returns an empty list if no results are found. - RouteOutputsAnchors = "/outputs/anchor" - - // RouteOutputsAnchorByID is the route for getting anchors by their anchorID. - // GET returns the outputIDs or 404 if no record is found. - RouteOutputsAnchorByID = "/outputs/anchor/:" + ParameterAnchorID - - // RouteOutputsNFTs is the route for getting NFT filtered by the given parameters. - // Query parameters: "address", "unlockableByAddress", "hasStorageDepositReturn", "storageDepositReturnAddress", - // "hasExpiration", "expiresBefore", "expiresAfter", "expirationReturnAddress", - // "hasTimelock", "timelockedBefore", "timelockedAfter", "issuer", "sender", "tag", - // "createdBefore", "createdAfter" - // Returns an empty list if no results are found. - RouteOutputsNFTs = "/outputs/nft" - - // RouteOutputsNFTByID is the route for getting NFT by their nftID. - // GET returns the outputIDs or 404 if no record is found. - RouteOutputsNFTByID = "/outputs/nft/:" + ParameterNFTID - - // RouteOutputsFoundries is the route for getting foundries filtered by the given parameters. - // GET with query parameter returns all outputIDs that fit these filter criteria. - // Query parameters: "hasNativeToken", "nativeToken", "account", "createdBefore", "createdAfter" - // Returns an empty list if no results are found. - RouteOutputsFoundries = "/outputs/foundry" - - // RouteOutputsFoundryByID is the route for getting foundries by their foundryID. - // GET returns the outputIDs or 404 if no record is found. - RouteOutputsFoundryByID = "/outputs/foundry/:" + ParameterFoundryID - - // RouteOutputsDelegations is the route for getting delegations filtered by the given parameters. - // GET with query parameter returns all outputIDs that fit these filter criteria. - // Query parameters: "address", "validator", "createdBefore", "createdAfter" - // Returns an empty list if no results are found. - RouteOutputsDelegations = "/outputs/delegation" - - // RouteOutputsDelegationByID is the route for getting delegations by their delegationID. - // GET returns the outputIDs or 404 if no record is found. - RouteOutputsDelegationByID = "/outputs/delegation/:" + ParameterDelegationID - - RouteMultiAddressByAddress = "/multiaddress/:" + ParameterAddress + "github.com/iotaledger/iota.go/v4/api" ) const ( @@ -94,8 +21,7 @@ const ( ) func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { - - routeGroup.GET(RouteOutputs, func(c echo.Context) error { + routeGroup.GET(api.IndexerEndpointOutputs, func(c echo.Context) error { resp, err := s.combinedOutputsWithFilter(c) if err != nil { return err @@ -104,7 +30,7 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsBasic, func(c echo.Context) error { + routeGroup.GET(api.IndexerEndpointOutputsBasic, func(c echo.Context) error { resp, err := s.basicOutputsWithFilter(c) if err != nil { return err @@ -113,7 +39,7 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsAccounts, func(c echo.Context) error { + routeGroup.GET(api.IndexerEndpointOutputsAccounts, func(c echo.Context) error { resp, err := s.accountsWithFilter(c) if err != nil { return err @@ -122,8 +48,8 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsAccountByID, func(c echo.Context) error { - resp, err := s.accountByID(c) + routeGroup.GET(api.EndpointWithEchoParameters(api.IndexerEndpointOutputsAccountByAddress), func(c echo.Context) error { + resp, err := s.accountByAddress(c) if err != nil { return err } @@ -131,7 +57,7 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsAnchors, func(c echo.Context) error { + routeGroup.GET(api.IndexerEndpointOutputsAnchors, func(c echo.Context) error { resp, err := s.anchorsWithFilter(c) if err != nil { return err @@ -140,8 +66,8 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsAnchorByID, func(c echo.Context) error { - resp, err := s.anchorByID(c) + routeGroup.GET(api.EndpointWithEchoParameters(api.IndexerEndpointOutputsAnchorByAddress), func(c echo.Context) error { + resp, err := s.anchorByAddress(c) if err != nil { return err } @@ -149,8 +75,8 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsNFTs, func(c echo.Context) error { - resp, err := s.nftsWithFilter(c) + routeGroup.GET(api.IndexerEndpointOutputsFoundries, func(c echo.Context) error { + resp, err := s.foundriesWithFilter(c) if err != nil { return err } @@ -158,8 +84,8 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsNFTByID, func(c echo.Context) error { - resp, err := s.nftByID(c) + routeGroup.GET(api.EndpointWithEchoParameters(api.IndexerEndpointOutputsFoundryByID), func(c echo.Context) error { + resp, err := s.foundryByID(c) if err != nil { return err } @@ -167,8 +93,8 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsFoundries, func(c echo.Context) error { - resp, err := s.foundriesWithFilter(c) + routeGroup.GET(api.IndexerEndpointOutputsNFTs, func(c echo.Context) error { + resp, err := s.nftsWithFilter(c) if err != nil { return err } @@ -176,8 +102,8 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsFoundryByID, func(c echo.Context) error { - resp, err := s.foundryByID(c) + routeGroup.GET(api.EndpointWithEchoParameters(api.IndexerEndpointOutputsNFTByAddress), func(c echo.Context) error { + resp, err := s.nftByAddress(c) if err != nil { return err } @@ -185,7 +111,7 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsDelegations, func(c echo.Context) error { + routeGroup.GET(api.IndexerEndpointOutputsDelegations, func(c echo.Context) error { resp, err := s.delegationsWithFilter(c) if err != nil { return err @@ -194,7 +120,7 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteOutputsDelegationByID, func(c echo.Context) error { + routeGroup.GET(api.EndpointWithEchoParameters(api.IndexerEndpointOutputsDelegationByID), func(c echo.Context) error { resp, err := s.delegationByID(c) if err != nil { return err @@ -203,10 +129,10 @@ func (s *IndexerServer) configureRoutes(routeGroup *echo.Group) { return httpserver.SendResponseByHeader(c, s.APIProvider.CommittedAPI(), resp) }) - routeGroup.GET(RouteMultiAddressByAddress, s.multiAddressByAddress) + routeGroup.GET(api.EndpointWithEchoParameters(api.IndexerEndpointMultiAddressByAddress), s.multiAddressByAddress) } -func (s *IndexerServer) combinedOutputsWithFilter(c echo.Context) (*apimodels.IndexerResponse, error) { +func (s *IndexerServer) combinedOutputsWithFilter(c echo.Context) (*api.IndexerResponse, error) { filters := []options.Option[indexer.CombinedFilterOptions]{indexer.CombinedPageSize(s.pageSizeFromContext(c))} if len(c.QueryParam(QueryParameterHasNativeToken)) > 0 { @@ -260,7 +186,7 @@ func (s *IndexerServer) combinedOutputsWithFilter(c echo.Context) (*apimodels.In return indexerResponseFromResult(s.Indexer.Combined(filters...)) } -func (s *IndexerServer) basicOutputsWithFilter(c echo.Context) (*apimodels.IndexerResponse, error) { +func (s *IndexerServer) basicOutputsWithFilter(c echo.Context) (*api.IndexerResponse, error) { filters := []options.Option[indexer.BasicFilterOptions]{indexer.BasicPageSize(s.pageSizeFromContext(c))} if len(c.QueryParam(QueryParameterHasNativeToken)) > 0 { @@ -410,16 +336,21 @@ func (s *IndexerServer) basicOutputsWithFilter(c echo.Context) (*apimodels.Index return indexerResponseFromResult(s.Indexer.Basic(filters...)) } -func (s *IndexerServer) accountByID(c echo.Context) (*apimodels.IndexerResponse, error) { - accountID, err := httpserver.ParseAccountIDParam(c, ParameterAccountID) +func (s *IndexerServer) accountByAddress(c echo.Context) (*api.IndexerResponse, error) { + address, err := httpserver.ParseBech32AddressParam(c, s.Bech32HRP, api.ParameterBech32Address) if err != nil { return nil, err } - return singleOutputResponseFromResult(s.Indexer.AccountByID(accountID)) + accountAddress, ok := address.(*iotago.AccountAddress) + if !ok { + return nil, ierrors.Wrapf(httpserver.ErrInvalidParameter, "invalid address: %s, not an account address", address.String()) + } + + return singleOutputResponseFromResult(s.Indexer.AccountByID(accountAddress.AccountID())) } -func (s *IndexerServer) accountsWithFilter(c echo.Context) (*apimodels.IndexerResponse, error) { +func (s *IndexerServer) accountsWithFilter(c echo.Context) (*api.IndexerResponse, error) { filters := []options.Option[indexer.AccountFilterOptions]{indexer.AccountPageSize(s.pageSizeFromContext(c))} if len(c.QueryParam(QueryParameterAddress)) > 0 { @@ -473,16 +404,21 @@ func (s *IndexerServer) accountsWithFilter(c echo.Context) (*apimodels.IndexerRe return indexerResponseFromResult(s.Indexer.Account(filters...)) } -func (s *IndexerServer) anchorByID(c echo.Context) (*apimodels.IndexerResponse, error) { - anchorID, err := httpserver.ParseAnchorIDParam(c, ParameterAccountID) +func (s *IndexerServer) anchorByAddress(c echo.Context) (*api.IndexerResponse, error) { + address, err := httpserver.ParseBech32AddressParam(c, s.Bech32HRP, api.ParameterBech32Address) if err != nil { return nil, err } - return singleOutputResponseFromResult(s.Indexer.AnchorByID(anchorID)) + anchorAddress, ok := address.(*iotago.AnchorAddress) + if !ok { + return nil, ierrors.Wrapf(httpserver.ErrInvalidParameter, "invalid address: %s, not an anchor address", address.String()) + } + + return singleOutputResponseFromResult(s.Indexer.AnchorByID(anchorAddress.AnchorID())) } -func (s *IndexerServer) anchorsWithFilter(c echo.Context) (*apimodels.IndexerResponse, error) { +func (s *IndexerServer) anchorsWithFilter(c echo.Context) (*api.IndexerResponse, error) { filters := []options.Option[indexer.AnchorFilterOptions]{indexer.AnchorPageSize(s.pageSizeFromContext(c))} if len(c.QueryParam(QueryParameterUnlockableByAddress)) > 0 { @@ -552,16 +488,21 @@ func (s *IndexerServer) anchorsWithFilter(c echo.Context) (*apimodels.IndexerRes return indexerResponseFromResult(s.Indexer.Anchor(filters...)) } -func (s *IndexerServer) nftByID(c echo.Context) (*apimodels.IndexerResponse, error) { - nftID, err := httpserver.ParseNFTIDParam(c, ParameterNFTID) +func (s *IndexerServer) nftByAddress(c echo.Context) (*api.IndexerResponse, error) { + address, err := httpserver.ParseBech32AddressParam(c, s.Bech32HRP, api.ParameterBech32Address) if err != nil { return nil, err } - return singleOutputResponseFromResult(s.Indexer.NFTByID(nftID)) + nftAddress, ok := address.(*iotago.NFTAddress) + if !ok { + return nil, ierrors.Wrapf(httpserver.ErrInvalidParameter, "invalid address: %s, not an nft address", address.String()) + } + + return singleOutputResponseFromResult(s.Indexer.NFTByID(nftAddress.NFTID())) } -func (s *IndexerServer) nftsWithFilter(c echo.Context) (*apimodels.IndexerResponse, error) { +func (s *IndexerServer) nftsWithFilter(c echo.Context) (*api.IndexerResponse, error) { filters := []options.Option[indexer.NFTFilterOptions]{indexer.NFTPageSize(s.pageSizeFromContext(c))} if len(c.QueryParam(QueryParameterUnlockableByAddress)) > 0 { @@ -703,8 +644,8 @@ func (s *IndexerServer) nftsWithFilter(c echo.Context) (*apimodels.IndexerRespon return indexerResponseFromResult(s.Indexer.NFT(filters...)) } -func (s *IndexerServer) foundryByID(c echo.Context) (*apimodels.IndexerResponse, error) { - foundryID, err := httpserver.ParseFoundryIDParam(c, ParameterFoundryID) +func (s *IndexerServer) foundryByID(c echo.Context) (*api.IndexerResponse, error) { + foundryID, err := httpserver.ParseFoundryIDParam(c, api.ParameterFoundryID) if err != nil { return nil, err } @@ -712,7 +653,7 @@ func (s *IndexerServer) foundryByID(c echo.Context) (*apimodels.IndexerResponse, return singleOutputResponseFromResult(s.Indexer.FoundryByID(foundryID)) } -func (s *IndexerServer) foundriesWithFilter(c echo.Context) (*apimodels.IndexerResponse, error) { +func (s *IndexerServer) foundriesWithFilter(c echo.Context) (*api.IndexerResponse, error) { filters := []options.Option[indexer.FoundryFilterOptions]{indexer.FoundryPageSize(s.pageSizeFromContext(c))} if len(c.QueryParam(QueryParameterHasNativeToken)) > 0 { @@ -771,8 +712,8 @@ func (s *IndexerServer) foundriesWithFilter(c echo.Context) (*apimodels.IndexerR return indexerResponseFromResult(s.Indexer.Foundry(filters...)) } -func (s *IndexerServer) delegationByID(c echo.Context) (*apimodels.IndexerResponse, error) { - delegationID, err := httpserver.ParseDelegationIDParam(c, ParameterDelegationID) +func (s *IndexerServer) delegationByID(c echo.Context) (*api.IndexerResponse, error) { + delegationID, err := httpserver.ParseDelegationIDParam(c, api.ParameterDelegationID) if err != nil { return nil, err } @@ -780,7 +721,7 @@ func (s *IndexerServer) delegationByID(c echo.Context) (*apimodels.IndexerRespon return singleOutputResponseFromResult(s.Indexer.DelegationByID(delegationID)) } -func (s *IndexerServer) delegationsWithFilter(c echo.Context) (*apimodels.IndexerResponse, error) { +func (s *IndexerServer) delegationsWithFilter(c echo.Context) (*api.IndexerResponse, error) { filters := []options.Option[indexer.DelegationFilterOptions]{indexer.DelegationPageSize(s.pageSizeFromContext(c))} if len(c.QueryParam(QueryParameterAddress)) > 0 { @@ -831,7 +772,7 @@ func (s *IndexerServer) delegationsWithFilter(c echo.Context) (*apimodels.Indexe return indexerResponseFromResult(s.Indexer.Delegation(filters...)) } -func singleOutputResponseFromResult(result *indexer.IndexerResult) (*apimodels.IndexerResponse, error) { +func singleOutputResponseFromResult(result *indexer.IndexerResult) (*api.IndexerResponse, error) { if result.Error != nil { return nil, errors.WithMessagef(echo.ErrInternalServerError, "reading outputIDs failed: %s", result.Error) } @@ -842,7 +783,7 @@ func singleOutputResponseFromResult(result *indexer.IndexerResult) (*apimodels.I return indexerResponseFromResult(result) } -func indexerResponseFromResult(result *indexer.IndexerResult) (*apimodels.IndexerResponse, error) { +func indexerResponseFromResult(result *indexer.IndexerResult) (*api.IndexerResponse, error) { if result.Error != nil { return nil, errors.WithMessagef(echo.ErrInternalServerError, "reading outputIDs failed: %s", result.Error) } @@ -853,7 +794,7 @@ func indexerResponseFromResult(result *indexer.IndexerResult) (*apimodels.Indexe cursor = fmt.Sprintf("%s.%d", *result.Cursor, result.PageSize) } - return &apimodels.IndexerResponse{ + return &api.IndexerResponse{ CommittedSlot: result.CommittedSlot, PageSize: result.PageSize, Cursor: cursor, @@ -862,7 +803,7 @@ func indexerResponseFromResult(result *indexer.IndexerResult) (*apimodels.Indexe } func (s *IndexerServer) multiAddressByAddress(c echo.Context) error { - address, err := httpserver.ParseBech32AddressParam(c, s.Bech32HRP, ParameterAddress) + address, err := httpserver.ParseBech32AddressParam(c, s.Bech32HRP, api.ParameterBech32Address) if err != nil { return err } diff --git a/tools/gendoc/go.mod b/tools/gendoc/go.mod index bd34843..4d67873 100644 --- a/tools/gendoc/go.mod +++ b/tools/gendoc/go.mod @@ -34,19 +34,19 @@ require ( github.com/hashicorp/go-version v1.6.0 // indirect github.com/holiman/uint256 v1.2.3 // indirect github.com/iancoleman/orderedmap v0.3.0 // indirect - github.com/iotaledger/hive.go/constraints v0.0.0-20231113110812-4ca2b6cc9a42 // indirect + github.com/iotaledger/hive.go/constraints v0.0.0-20231122112629-bdf1cc39fba7 // indirect github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20231113110812-4ca2b6cc9a42 // indirect - github.com/iotaledger/hive.go/crypto v0.0.0-20231113110812-4ca2b6cc9a42 // indirect + github.com/iotaledger/hive.go/crypto v0.0.0-20231122112629-bdf1cc39fba7 // indirect github.com/iotaledger/hive.go/ds v0.0.0-20231113110812-4ca2b6cc9a42 // indirect - github.com/iotaledger/hive.go/ierrors v0.0.0-20231113110812-4ca2b6cc9a42 // indirect - github.com/iotaledger/hive.go/lo v0.0.0-20231113110812-4ca2b6cc9a42 // indirect + github.com/iotaledger/hive.go/ierrors v0.0.0-20231122112629-bdf1cc39fba7 // indirect + github.com/iotaledger/hive.go/lo v0.0.0-20231122112629-bdf1cc39fba7 // indirect github.com/iotaledger/hive.go/logger v0.0.0-20231113110812-4ca2b6cc9a42 // indirect - github.com/iotaledger/hive.go/runtime v0.0.0-20231113110812-4ca2b6cc9a42 // indirect + github.com/iotaledger/hive.go/runtime v0.0.0-20231122112629-bdf1cc39fba7 // indirect github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20231113110812-4ca2b6cc9a42 // indirect - github.com/iotaledger/hive.go/stringify v0.0.0-20231113110812-4ca2b6cc9a42 // indirect - github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231120133804-ac348260c0b7 // indirect - github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231120082637-ccd5b8465251 // indirect - github.com/iotaledger/iota.go/v4 v4.0.0-20231120063545-80c263f28140 // indirect + github.com/iotaledger/hive.go/stringify v0.0.0-20231122112629-bdf1cc39fba7 // indirect + github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231123103852-bb039cbab83b // indirect + github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231123103318-f6ea945e2e98 // indirect + github.com/iotaledger/iota.go/v4 v4.0.0-20231123102955-eff367396512 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgx/v5 v5.5.0 // indirect @@ -89,7 +89,7 @@ require ( golang.org/x/sys v0.14.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.4.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect google.golang.org/grpc v1.59.0 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/tools/gendoc/go.sum b/tools/gendoc/go.sum index b0f882f..f935118 100644 --- a/tools/gendoc/go.sum +++ b/tools/gendoc/go.sum @@ -190,32 +190,32 @@ github.com/iotaledger/hive.go/app v0.0.0-20231113110812-4ca2b6cc9a42 h1:K6VF23FO github.com/iotaledger/hive.go/app v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:+riYmeLApkLlj4+EpuJpEJAsj/KGfD7cqLGy7oTsPOM= github.com/iotaledger/hive.go/apputils v0.0.0-20231019112237-c749a64b9b29 h1:N72VaVStZwtaJtiunXLiuqr3aR853LtTdb4vMyY3Pk8= github.com/iotaledger/hive.go/apputils v0.0.0-20231019112237-c749a64b9b29/go.mod h1:mH4kng98qb1XXek26Z1I12dLrua+EkDRIXFCMBHKsEM= -github.com/iotaledger/hive.go/constraints v0.0.0-20231113110812-4ca2b6cc9a42 h1:+PyLPZhRHy+Negjpuj0CSLaObpErEH7yI6HB2z5N6b0= -github.com/iotaledger/hive.go/constraints v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:dOBOM2s4se3HcWefPe8sQLUalGXJ8yVXw58oK8jke3s= +github.com/iotaledger/hive.go/constraints v0.0.0-20231122112629-bdf1cc39fba7 h1:ozpeM5nHHUjK3aKpTmwFEDG2bqxLJf0KBCTakjh+1FE= +github.com/iotaledger/hive.go/constraints v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:dOBOM2s4se3HcWefPe8sQLUalGXJ8yVXw58oK8jke3s= github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20231113110812-4ca2b6cc9a42 h1:3dW4gz0Vr9BogN826HRTp0OFlbngjhWcVPUfDhJ57Yw= github.com/iotaledger/hive.go/core v1.0.0-rc.3.0.20231113110812-4ca2b6cc9a42/go.mod h1:CdixkrB7VdQzEDlVuwsxPtsiJL/WXrQgz3PELIqlLko= -github.com/iotaledger/hive.go/crypto v0.0.0-20231113110812-4ca2b6cc9a42 h1:t6EKe+O7XAmbe07cVHuM/3aBLEbVIY4D6yefANB4PUA= -github.com/iotaledger/hive.go/crypto v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:OQ9EVTTQT1mkO/16BgwSIyQlAhEg+Cptud/yutevWsI= +github.com/iotaledger/hive.go/crypto v0.0.0-20231122112629-bdf1cc39fba7 h1:vLLhxGhipU6AH/paexuRX3zsOvcl8bdYcwJRAchUP8g= +github.com/iotaledger/hive.go/crypto v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:OQ9EVTTQT1mkO/16BgwSIyQlAhEg+Cptud/yutevWsI= github.com/iotaledger/hive.go/ds v0.0.0-20231113110812-4ca2b6cc9a42 h1:QZiMlDxmikF64zimWQunTrsEGOK9ydRahUAz2I46JAk= github.com/iotaledger/hive.go/ds v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:JE8cbZSvzbB5TrwXibg6M0B7ck35YxF30ItHBzQRlgc= -github.com/iotaledger/hive.go/ierrors v0.0.0-20231113110812-4ca2b6cc9a42 h1:gxlZ4zL6EfLyqT0+hIFV3WVE0FrPVgV5cQdyn36vPXQ= -github.com/iotaledger/hive.go/ierrors v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:HcE8B5lP96enc/OALTb2/rIIi+yOLouRoHOKRclKmC8= -github.com/iotaledger/hive.go/lo v0.0.0-20231113110812-4ca2b6cc9a42 h1:kcHkWyURZDVqO80OmJo5Z+wTJB6H+s52WAnU575vX0o= -github.com/iotaledger/hive.go/lo v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:6Ee7i6b4tuTHuRYnPP8VUb0wr9XFI5qlqtnttBd9jRg= +github.com/iotaledger/hive.go/ierrors v0.0.0-20231122112629-bdf1cc39fba7 h1:tf7x4U+ZXnmFXhUmqYtn0kcgpOcGPIhbxR/akpzAU4U= +github.com/iotaledger/hive.go/ierrors v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:HcE8B5lP96enc/OALTb2/rIIi+yOLouRoHOKRclKmC8= +github.com/iotaledger/hive.go/lo v0.0.0-20231122112629-bdf1cc39fba7 h1:svFxB75LsjUOHt3crcn70GVk7ztdNv5CytC3GbGj9FQ= +github.com/iotaledger/hive.go/lo v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:6Ee7i6b4tuTHuRYnPP8VUb0wr9XFI5qlqtnttBd9jRg= github.com/iotaledger/hive.go/logger v0.0.0-20231113110812-4ca2b6cc9a42 h1:uD99UbTtBM5SIP9N3c/3BBLtb0frGYFsZ2lS8Zxtqr4= github.com/iotaledger/hive.go/logger v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:w1psHM2MuKsen1WdsPKrpqElYH7ZOQ+YdQIgJZg4HTo= -github.com/iotaledger/hive.go/runtime v0.0.0-20231113110812-4ca2b6cc9a42 h1:hpR++ME3Y3CcxA431Zg0PgcCJUNkbBqjNXxR/bs+NdI= -github.com/iotaledger/hive.go/runtime v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:DrZPvUvLarK8C2qb+3H2vdypp/MuhpQmB3iMJbDCr/Q= +github.com/iotaledger/hive.go/runtime v0.0.0-20231122112629-bdf1cc39fba7 h1:NtR3ZeY6Mop9JcHu62Z6JPMRcijIV1ZCZPpOev8HZRw= +github.com/iotaledger/hive.go/runtime v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:DrZPvUvLarK8C2qb+3H2vdypp/MuhpQmB3iMJbDCr/Q= github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20231113110812-4ca2b6cc9a42 h1:hepsnGvaS39azq80GV8DT9HlexoO/RqJbyiW5FXZ0HQ= github.com/iotaledger/hive.go/serializer/v2 v2.0.0-rc.1.0.20231113110812-4ca2b6cc9a42/go.mod h1:FoH3T6yKlZJp8xm8K+zsQiibSynp32v21CpWx8xkek8= -github.com/iotaledger/hive.go/stringify v0.0.0-20231113110812-4ca2b6cc9a42 h1:9c7NiX2cnNPHR9UNWINDqNkolupXiDF3543pR6KLwIg= -github.com/iotaledger/hive.go/stringify v0.0.0-20231113110812-4ca2b6cc9a42/go.mod h1:FTo/UWzNYgnQ082GI9QVM9HFDERqf9rw9RivNpqrnTs= -github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231120133804-ac348260c0b7 h1:Q6t1k08barQ4XZ2LPIpu8/t0Gq7pkCAF0se1EceKeE4= -github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231120133804-ac348260c0b7/go.mod h1:iFiY6UukYeL8D3N1mtg4jh/9lxTBhzG0QgtD+w0gpps= -github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231120082637-ccd5b8465251 h1:bYGO8jXNXJNMGPG9etGW7WXfLbRU9ofx1xdd29/sS9M= -github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231120082637-ccd5b8465251/go.mod h1:chzj8FDIeXHIh3D52QTZ7imADlzdkhg7o7E2Qr85MJ8= -github.com/iotaledger/iota.go/v4 v4.0.0-20231120063545-80c263f28140 h1:8zHRYT1KADR9bOLUg7Ia4XA3StBHzV4Tb2Qtp42KLN8= -github.com/iotaledger/iota.go/v4 v4.0.0-20231120063545-80c263f28140/go.mod h1:1CUJKGvkOUGXakxFZGAagEQDX9qYyhzIElmUHCHo9RM= +github.com/iotaledger/hive.go/stringify v0.0.0-20231122112629-bdf1cc39fba7 h1:h481Dn+giKO/1MamwuDZ8Mvzg4GbPx/asKD/X3Zs8wc= +github.com/iotaledger/hive.go/stringify v0.0.0-20231122112629-bdf1cc39fba7/go.mod h1:FTo/UWzNYgnQ082GI9QVM9HFDERqf9rw9RivNpqrnTs= +github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231123103852-bb039cbab83b h1:T/9f4eYcP/fxe0G0pYa6TRZxD9rI9uMdDW89hnsNByU= +github.com/iotaledger/inx-app v1.0.0-rc.3.0.20231123103852-bb039cbab83b/go.mod h1:c7ktZxoH5Wp2ixzJn/8RmM5v2QOCIu/79tDFvfLbyPs= +github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231123103318-f6ea945e2e98 h1:PjGs+njONeFaxFgQ3lxxlRs3wTYw3233f/yDyTV8/F8= +github.com/iotaledger/inx/go v1.0.0-rc.2.0.20231123103318-f6ea945e2e98/go.mod h1:jFRt2SZO3KE74/mk+zeCjlhVROriEg86K8CJTxvfdP8= +github.com/iotaledger/iota.go/v4 v4.0.0-20231123102955-eff367396512 h1:E1m9Ja6d47sVkl0k2a8eU9f5COWqpyNY9ET3TyYLHiI= +github.com/iotaledger/iota.go/v4 v4.0.0-20231123102955-eff367396512/go.mod h1:aO+5iL0vTNwNfE4QMGHVIufGziSI1wTvwJY1ipSMgCk= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= @@ -532,8 +532,8 @@ google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17 h1:Jyp0Hsi0bmHXG6k9eATXoYtjd6e2UzZ1SCn/wIupY14= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=