Giter Club home page Giter Club logo

anchorcli's People

Contributors

alpac-4 avatar ggomma avatar kjessec avatar msntcs avatar r-amiri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

anchorcli's Issues

Columbus 5 Support

Anchorcli needs to support Columbus 5 contracts and functionality, the following issues need to be addressed:

  • Update terra.js dependency and its required changes.
  • Update terracli dependency to terrad.

Adding bEth

The current version of anchorcli does not support beth functionalities. The following contract must be supported:

  • bEth reward contracts
  • bEth token contracts
  • bEth custody contracts

Liquidation contract submit bid requires coin as "uusd" but processes the value in "usd".

When submitting a bit to the liquidation contract, the coin denomination must be uusd:

$ ANCHORCLI_NETWORK=tequila-0004 anchorcli x \
>   liquidation submit-bid \
>   --collateral-token terra1u0t35drzyy0mujj8rkdyzhe264uls4ug3wdp3x \
>   --premium-rate 0.25 \
>   --coin 100usd \
>   --from playground \
>   --gas auto \
>   --fees=1000000uusd
 ERROR  Error: invalid coin 'usd', MUST be uusd; use --verbose for more details

But when uusd is specified, the number is parsed as usd equivalent. In the example below, --coin 100uusd becomes 100000000uusd:

$ ANCHORCLI_NETWORK=tequila-0004 anchorcli x \
>   liquidation submit-bid \
>   --collateral-token terra1u0t35drzyy0mujj8rkdyzhe264uls4ug3wdp3x \
>   --premium-rate 0.25 \
>   --coin 100uusd \
>   --from playground \
>   --gas auto \
>   --fees=1000000uusd
chainId: tequila-0004
msg:
  type: wasm/MsgExecuteContract
  value:
    sender: SENDER_ADDRESS
    contract: terra16vc4v9hhntswzkuunqhncs9yy30mqql3gxlqfe
    execute_msg:
      submit_bid:
        collateral_token: terra1u0t35drzyy0mujj8rkdyzhe264uls4ug3wdp3x
        premium_rate: "0.250000000000000000"
    coins:
      - denom: uusd
        amount: "100000000"
fee:
  gas: "138288"
  amount:
    - denom: uusd
      amount: "1000000"
memo: ""

Or perhaps I'm missing something?

Needs specific explanation for 'distribution-params'

When I use following command I got an error due to it's invalid option

  • request
    $ anchorcli q overseer distribution-params

  • response
    Error: Request failed with status code 500
    at createError (/Users/ggomma/.nvm/versions/node/v12.15.0/lib/node_modules/@anchor-protocol/anchorcli/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/Users/ggomma/.nvm/versions/node/v12.15.0/lib/node_modules/@anchor-protocol/anchorcli/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/Users/ggomma/.nvm/versions/node/v12.15.0/lib/node_modules/@anchor-protocol/anchorcli/node_modules/axios/lib/adapters/http.js:260:11)
    at IncomingMessage.emit (events.js:228:7)
    at endReadableNT (_stream_readable.js:1185:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21) {
    config: {
    url: '/wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store',
    method: 'get',
    headers: { Accept: 'application/json', 'User-Agent': 'axios/0.21.1' },
    params: { query_msg: '{"distribution_params":{}}' },
    baseURL: 'https://lcd.terra.dev',
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    validateStatus: [Function: validateStatus],
    data: undefined
    },
    request: ClientRequest {
    _events: [Object: null prototype] {
    socket: [Function],
    abort: [Function],
    aborted: [Function],
    connect: [Function],
    error: [Function],
    timeout: [Function],
    prefinish: [Function: requestOnPrefinish]
    },
    _eventsCount: 7,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    _last: true,
    chunkedEncoding: false,
    shouldKeepAlive: false,
    useChunkedEncodingByDefault: false,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    _contentLength: 0,
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    socket: TLSSocket {
    _tlsOptions: [Object],
    _secureEstablished: true,
    _securePending: false,
    _newSessionPending: false,
    _controlReleased: true,
    _SNICallback: null,
    servername: 'lcd.terra.dev',
    alpnProtocol: false,
    authorized: true,
    authorizationError: null,
    encrypted: true,
    _events: [Object: null prototype],
    _eventsCount: 9,
    connecting: false,
    _hadError: false,
    _parent: null,
    _host: 'lcd.terra.dev',
    _readableState: [ReadableState],
    readable: true,
    _maxListeners: undefined,
    _writableState: [WritableState],
    writable: false,
    allowHalfOpen: false,
    _sockname: null,
    _pendingData: null,
    _pendingEncoding: '',
    server: undefined,
    _server: null,
    ssl: [TLSWrap],
    _requestCert: true,
    _rejectUnauthorized: true,
    parser: null,
    _httpMessage: [Circular],
    [Symbol(res)]: [TLSWrap],
    [Symbol(asyncId)]: 3,
    [Symbol(kHandle)]: [TLSWrap],
    [Symbol(lastWriteQueueSize)]: 0,
    [Symbol(timeout)]: null,
    [Symbol(kBuffer)]: null,
    [Symbol(kBufferCb)]: null,
    [Symbol(kBufferGen)]: null,
    [Symbol(kBytesRead)]: 0,
    [Symbol(kBytesWritten)]: 0,
    [Symbol(connect-options)]: [Object]
    },
    connection: TLSSocket {
    _tlsOptions: [Object],
    _secureEstablished: true,
    _securePending: false,
    _newSessionPending: false,
    _controlReleased: true,
    _SNICallback: null,
    servername: 'lcd.terra.dev',
    alpnProtocol: false,
    authorized: true,
    authorizationError: null,
    encrypted: true,
    _events: [Object: null prototype],
    _eventsCount: 9,
    connecting: false,
    _hadError: false,
    _parent: null,
    _host: 'lcd.terra.dev',
    _readableState: [ReadableState],
    readable: true,
    _maxListeners: undefined,
    _writableState: [WritableState],
    writable: false,
    allowHalfOpen: false,
    _sockname: null,
    _pendingData: null,
    _pendingEncoding: '',
    server: undefined,
    _server: null,
    ssl: [TLSWrap],
    _requestCert: true,
    _rejectUnauthorized: true,
    parser: null,
    _httpMessage: [Circular],
    [Symbol(res)]: [TLSWrap],
    [Symbol(asyncId)]: 3,
    [Symbol(kHandle)]: [TLSWrap],
    [Symbol(lastWriteQueueSize)]: 0,
    [Symbol(timeout)]: null,
    [Symbol(kBuffer)]: null,
    [Symbol(kBufferCb)]: null,
    [Symbol(kBufferGen)]: null,
    [Symbol(kBytesRead)]: 0,
    [Symbol(kBytesWritten)]: 0,
    [Symbol(connect-options)]: [Object]
    },
    _header: 'GET /wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store?query_msg=%7B%22distribution_params%22:%7B%7D%7D HTTP/1.1\r\n' +
    'Accept: application/json\r\n' +
    'User-Agent: axios/0.21.1\r\n' +
    'Host: lcd.terra.dev\r\n' +
    'Connection: close\r\n' +
    '\r\n',
    _onPendingData: [Function: noopPendingOutput],
    agent: Agent {
    _events: [Object: null prototype],
    _eventsCount: 1,
    _maxListeners: undefined,
    defaultPort: 443,
    protocol: 'https:',
    options: [Object],
    requests: {},
    sockets: [Object],
    freeSockets: {},
    keepAliveMsecs: 1000,
    keepAlive: false,
    maxSockets: Infinity,
    maxFreeSockets: 256,
    maxCachedSessions: 100,
    _sessionCache: [Object]
    },
    socketPath: undefined,
    method: 'GET',
    insecureHTTPParser: undefined,
    path: '/wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store?query_msg=%7B%22distribution_params%22:%7B%7D%7D',
    _ended: true,
    res: IncomingMessage {
    _readableState: [ReadableState],
    readable: false,
    _events: [Object: null prototype],
    _eventsCount: 3,
    _maxListeners: undefined,
    socket: [TLSSocket],
    connection: [TLSSocket],
    httpVersionMajor: 1,
    httpVersionMinor: 1,
    httpVersion: '1.1',
    complete: true,
    headers: [Object],
    rawHeaders: [Array],
    trailers: {},
    rawTrailers: [],
    aborted: false,
    upgrade: false,
    url: '',
    method: null,
    statusCode: 500,
    statusMessage: 'Internal Server Error',
    client: [TLSSocket],
    _consuming: false,
    _dumped: false,
    req: [Circular],
    responseUrl: 'https://lcd.terra.dev/wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store?query_msg=%7B%22distribution_params%22:%7B%7D%7D',
    redirects: []
    },
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    _redirectable: Writable {
    _writableState: [WritableState],
    writable: true,
    _events: [Object: null prototype],
    _eventsCount: 2,
    _maxListeners: undefined,
    _options: [Object],
    _ended: true,
    _ending: true,
    _redirectCount: 0,
    _redirects: [],
    _requestBodyLength: 0,
    _requestBodyBuffers: [],
    _onNativeResponse: [Function],
    _currentRequest: [Circular],
    _currentUrl: 'https://lcd.terra.dev/wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store?query_msg=%7B%22distribution_params%22:%7B%7D%7D'
    },
    [Symbol(kNeedDrain)]: false,
    [Symbol(isCorked)]: false,
    [Symbol(kOutHeaders)]: [Object: null prototype] {
    accept: [Array],
    'user-agent': [Array],
    host: [Array]
    }
    },
    response: {
    status: 500,
    statusText: 'Internal Server Error',
    headers: {
    date: 'Wed, 21 Apr 2021 04:16:57 GMT',
    'content-type': 'application/json',
    'content-length': '217',
    connection: 'close',
    'set-cookie': [Array],
    'access-control-allow-origin': '*',
    'access-control-allow-methods': 'GET, POST, OPTIONS',
    'access-control-allow-headers': 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range',
    'access-control-expose-headers': 'Content-Length,Content-Range',
    'cf-cache-status': 'DYNAMIC',
    'cf-request-id': '09943e5125000012d6a0bb0000000001',
    'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
    server: 'cloudflare',
    'cf-ray': '6433ccc83e1b12d6-ICN'
    },
    config: {
    url: '/wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store',
    method: 'get',
    headers: [Object],
    params: [Object],
    baseURL: 'https://lcd.terra.dev',
    transformRequest: [Array],
    transformResponse: [Array],
    timeout: 0,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    validateStatus: [Function: validateStatus],
    data: undefined
    },
    request: ClientRequest {
    _events: [Object: null prototype],
    _eventsCount: 7,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    _last: true,
    chunkedEncoding: false,
    shouldKeepAlive: false,
    useChunkedEncodingByDefault: false,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    _contentLength: 0,
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    socket: [TLSSocket],
    connection: [TLSSocket],
    _header: 'GET /wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store?query_msg=%7B%22distribution_params%22:%7B%7D%7D HTTP/1.1\r\n' +
    'Accept: application/json\r\n' +
    'User-Agent: axios/0.21.1\r\n' +
    'Host: lcd.terra.dev\r\n' +
    'Connection: close\r\n' +
    '\r\n',
    _onPendingData: [Function: noopPendingOutput],
    agent: [Agent],
    socketPath: undefined,
    method: 'GET',
    insecureHTTPParser: undefined,
    path: '/wasm/contracts/terra1tmnqgvg567ypvsvk6rwsga3srp7e3lg6u0elp8/store?query_msg=%7B%22distribution_params%22:%7B%7D%7D',
    _ended: true,
    res: [IncomingMessage],
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    _redirectable: [Writable],
    [Symbol(kNeedDrain)]: false,
    [Symbol(isCorked)]: false,
    [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    data: {
    error: 'contract query failed: parsing moneymarket::overseer::QueryMsg: unknown variant distribution_params, expected one of config, epoch_state, whitelist, collaterals, all_collaterals, borrow_limit'
    }
    },
    isAxiosError: true,
    toJSON: [Function: toJSON]
    }

If this error occurs due to lack of anchorcli help text.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.