Skip to main content

ResolveRequest

ResolveRequest resolves a quote request by returning either an accepted asset rate or a rejection reason.

Source: portfoliopilotrpc/portfolio_pilot.proto

gRPC​

rpc ResolveRequest (ResolveRequestRequest) returns (ResolveRequestResponse);

Code Samples​

const fs = require('fs');
const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

const GRPC_HOST = 'localhost:10029'
const MACAROON_PATH = 'TAPD_DIR/data/regtest/admin.macaroon'
const TLS_PATH = 'TAPD_DIR/tls.cert'

const loaderOptions = {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
};
const packageDefinition = protoLoader.loadSync('portfoliopilotrpc/portfolio_pilot.proto', loaderOptions);
const portfoliopilotrpc = grpc.loadPackageDefinition(packageDefinition).portfoliopilotrpc;
process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA';
const tlsCert = fs.readFileSync(TLS_PATH);
const sslCreds = grpc.credentials.createSsl(tlsCert);
const macaroon = fs.readFileSync(MACAROON_PATH).toString('hex');
const macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) {
let metadata = new grpc.Metadata();
metadata.add('macaroon', macaroon);
callback(null, metadata);
});
let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds);
let client = new portfoliopilotrpc.PortfolioPilot(GRPC_HOST, creds);
let request = {
buy_request: <BuyRequest>,
sell_request: <SellRequest>,
};
client.resolveRequest(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "accept": <AssetRate>,
// "reject": <RejectErr>,
// "accepted_max_amount": <uint64>,
// }

Messages​

portfoliopilotrpc.ResolveRequestRequest​

Source: portfoliopilotrpc/portfolio_pilot.proto

FieldgRPC TypeREST TypeREST Placement
buy_request
BuyRequestunknownunknown
sell_request
SellRequestunknownunknown

portfoliopilotrpc.ResolveRequestResponse​

Source: portfoliopilotrpc/portfolio_pilot.proto

FieldgRPC TypeREST Type
accept
AssetRateunknown
reject
RejectErrunknown
accepted_max_amount
uint64unknown

Nested Messages​

portfoliopilotrpc.AssetRate​

FieldgRPC TypeREST Type
rate
FixedPointunknown
expiry_timestamp
uint64unknown

portfoliopilotrpc.AssetSpecifier​

FieldgRPC TypeREST Type
asset_id
bytesunknown
asset_id_str
stringunknown
group_key
bytesunknown
group_key_str
stringunknown

portfoliopilotrpc.BuyRequest​

FieldgRPC TypeREST Type
asset_specifier
AssetSpecifierunknown
asset_max_amount
uint64unknown
asset_rate_hint
AssetRateunknown
price_oracle_metadata
stringunknown
peer_id
bytesunknown
asset_min_amount
uint64unknown
asset_rate_limit
FixedPointunknown
execution_policy
ExecutionPolicyunknown

portfoliopilotrpc.FixedPoint​

FieldgRPC TypeREST Type
coefficient
stringunknown
scale
uint32unknown

portfoliopilotrpc.RejectErr​

FieldgRPC TypeREST Type
code
RejectCodeunknown
message
stringunknown

portfoliopilotrpc.SellRequest​

FieldgRPC TypeREST Type
asset_specifier
AssetSpecifierunknown
payment_max_amount
uint64unknown
asset_rate_hint
AssetRateunknown
price_oracle_metadata
stringunknown
peer_id
bytesunknown
payment_min_amount
uint64unknown
asset_rate_limit
FixedPointunknown
execution_policy
ExecutionPolicyunknown

Enums​

portfoliopilotrpc.ExecutionPolicy​

NameNumber
EXECUTION_POLICY_IOC
0
EXECUTION_POLICY_FOK
1

portfoliopilotrpc.RejectCode​

NameNumber
REJECT_CODE_UNSPECIFIED
0
REJECT_CODE_PRICE_ORACLE_UNAVAILABLE
1
REJECT_CODE_MIN_FILL_NOT_MET
2
REJECT_CODE_PRICE_BOUND_MISS
3
REJECT_CODE_FOK_NOT_VIABLE
4
REJECT_CODE_FILL_EXCEEDS_MAX
5