nifty-oss / asset

A lightweight standard for non-fungible assets.
Apache License 2.0
38 stars 8 forks source link

Add Shank IDL to Program ELF #81

Closed ngundotra closed 5 months ago

ngundotra commented 5 months ago

Add the compressed IDL to the program's binary under a section header called .solana.idl.

Adding include_idl!() increases program size by 4K bytes.

febo commented 5 months ago

@ngundotra This is super cool!

I think we need to install node + pnpm on the lint_rust step for CI to work. Probably all we need is this block:

- name: Install Node.js
  uses: nifty-oss/actions/install-node-with-pnpm@v1
  with:
     version: ${{ env.NODE_VERSION }}
     cache: ${{ env.CACHE }}
     dependencies: true

on the lint_rust step on main.yml after installing Rust.

https://github.com/nifty-oss/asset/blob/main/.github/workflows/main.yml#L73-L77

ngundotra commented 5 months ago

@febo I could use some help fixing the rust client tests :) when you have a moment

febo commented 5 months ago

@febo I could use some help fixing the rust client tests :) when you have a moment

Having a look now.

febo commented 5 months ago

@ngundotra We need to add the node + pnpm install action to both build and test workflows:

- name: Install Node.js
  uses: nifty-oss/actions/install-node-with-pnpm@v1
  with:
     version: ${{ env.NODE_VERSION }}
     cache: ${{ env.CACHE }}
     dependencies: true

Similarly to what was done for lint.