added CheckTokenInPool to check whether a token can be swapped from in a pool
This commit is contained in:
parent
f101ffd4c9
commit
ee434dba69
@ -870,7 +870,6 @@ func (das *DevAccountService) GetPoolSwappableVouchers(ctx context.Context, pool
|
||||
}
|
||||
|
||||
func (das *DevAccountService) GetSwapFromTokenMaxLimit(ctx context.Context, poolAddress, fromTokenAddress, toTokenAddress, publicKey string) (*models.MaxLimitResult, error) {
|
||||
|
||||
p, ok := das.pools[poolAddress]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("Pool address: %v not found ", poolAddress)
|
||||
@ -884,3 +883,9 @@ func (das *DevAccountService) GetSwapFromTokenMaxLimit(ctx context.Context, pool
|
||||
Max: limit,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (das *DevAccountService) CheckTokenInPool(ctx context.Context, poolAddress, tokenAddress string) (*models.TokenInPoolResult, error) {
|
||||
return &models.TokenInPoolResult{
|
||||
CanSwapFrom: true,
|
||||
}, nil
|
||||
}
|
||||
|
@ -469,6 +469,33 @@ func (as *HTTPAccountService) getSwapFromTokenMaxLimit(ctx context.Context, pool
|
||||
return &r.MaxPoolLimitResult, nil
|
||||
}
|
||||
|
||||
func (as *HTTPAccountService) CheckTokenInPool(ctx context.Context, poolAddress, tokenAddress string) (*models.TokenInPoolResult, error) {
|
||||
if as.UseApi {
|
||||
return as.checkTokenInPool(ctx, poolAddress, tokenAddress)
|
||||
} else {
|
||||
svc := dev.NewDevAccountService(ctx, as.SS)
|
||||
return svc.CheckTokenInPool(ctx, poolAddress, tokenAddress)
|
||||
}
|
||||
}
|
||||
|
||||
func (as *HTTPAccountService) checkTokenInPool(ctx context.Context, poolAddress, tokenAddress string) (*models.TokenInPoolResult, error) {
|
||||
var r struct {
|
||||
TokenInPoolResult models.TokenInPoolResult `json:"canSwapFrom"`
|
||||
}
|
||||
|
||||
ep, err := url.JoinPath(config.PoolSwappableVouchersURL, poolAddress, "check", tokenAddress)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
req, err := http.NewRequest("GET", ep, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
_, err = doRequest(ctx, req, &r)
|
||||
|
||||
return &r.TokenInPoolResult, nil
|
||||
}
|
||||
|
||||
// TODO: Use actual custodial api to request available alias
|
||||
func (as *HTTPAccountService) RequestAlias(ctx context.Context, publicKey string, hint string) (*models.RequestAliasResult, error) {
|
||||
if as.SS == nil {
|
||||
|
Loading…
Reference in New Issue
Block a user