Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ jobs:

strategy:
matrix:
node-version: [18.x]
node-version: [24.x]

steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v5

- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}

Expand Down
14 changes: 7 additions & 7 deletions csl-types/cardano-data-lite.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3384,11 +3384,11 @@ export declare class TransactionWitnessSet {
private _native_scripts;
private _bootstraps;
private _plutus_scripts_v1;
private _inner_plutus_data;
private _plutus_scripts_v2;
private _redeemers;
private _plutus_scripts_v3;
constructor(vkeys: Vkeywitnesses | undefined, native_scripts: NativeScripts | undefined, bootstraps: BootstrapWitnesses | undefined, plutus_scripts_v1: PlutusScripts | undefined, inner_plutus_data: PlutusSet | undefined, plutus_scripts_v2: PlutusScripts | undefined, redeemers: Redeemers | undefined, plutus_scripts_v3: PlutusScripts | undefined);
private _inner_plutus_data;
private _redeemers;
constructor(vkeys: Vkeywitnesses | undefined, native_scripts: NativeScripts | undefined, bootstraps: BootstrapWitnesses | undefined, plutus_scripts_v1: PlutusScripts | undefined, plutus_scripts_v2: PlutusScripts | undefined, plutus_scripts_v3: PlutusScripts | undefined, inner_plutus_data: PlutusSet | undefined, redeemers: Redeemers | undefined);
vkeys(): Vkeywitnesses | undefined;
set_vkeys(vkeys: Vkeywitnesses | undefined): void;
native_scripts(): NativeScripts | undefined;
Expand All @@ -3397,14 +3397,14 @@ export declare class TransactionWitnessSet {
set_bootstraps(bootstraps: BootstrapWitnesses | undefined): void;
plutus_scripts_v1(): PlutusScripts | undefined;
set_plutus_scripts_v1(plutus_scripts_v1: PlutusScripts | undefined): void;
inner_plutus_data(): PlutusSet | undefined;
set_inner_plutus_data(inner_plutus_data: PlutusSet | undefined): void;
plutus_scripts_v2(): PlutusScripts | undefined;
set_plutus_scripts_v2(plutus_scripts_v2: PlutusScripts | undefined): void;
redeemers(): Redeemers | undefined;
set_redeemers(redeemers: Redeemers | undefined): void;
plutus_scripts_v3(): PlutusScripts | undefined;
set_plutus_scripts_v3(plutus_scripts_v3: PlutusScripts | undefined): void;
inner_plutus_data(): PlutusSet | undefined;
set_inner_plutus_data(inner_plutus_data: PlutusSet | undefined): void;
redeemers(): Redeemers | undefined;
set_redeemers(redeemers: Redeemers | undefined): void;
static deserialize(reader: CBORReader, path: string[]): TransactionWitnessSet;
serialize(writer: CBORWriter): void;
free(): void;
Expand Down
60 changes: 60 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

77 changes: 77 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{
description = "Dev shell with Podman";

inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
};

outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
# wrapper for tsx, since it is not in nodePackages
tsx = pkgs.writeShellScriptBin "tsx"
''
exec npx tsx "$@"
'';
# copies config files if they do not exist in home folder
podmanSetupScript = let
registriesConf = pkgs.writeText "registries.conf" ''
[registries.search]
registries = ['docker.io']
[registries.block]
registries = []
'';
in pkgs.writeScript "podman-setup" ''
#!${pkgs.runtimeShell}
# Dont overwrite customised configuration
if ! test -f ~/.config/containers/policy.json; then
install -Dm555 ${pkgs.skopeo.src}/default-policy.json ~/.config/containers/policy.json
fi
if ! test -f ~/.config/containers/registries.conf; then
install -Dm555 ${registriesConf} ~/.config/containers/registries.conf
fi
'';
# Provides a fake "docker" binary mapping to podman
dockerCompat = pkgs.runCommandNoCC "docker-podman-compat" {} ''
mkdir -p $out/bin
ln -s ${pkgs.podman}/bin/podman $out/bin/docker
'';

in {
devShells.default = self.devShells.${system}.node-shell;
devShells.node-shell = pkgs.mkShell {
buildInputs = [
pkgs.nodejs
pkgs.esbuild
pkgs.nodePackages.typescript-language-server
pkgs.nodePackages.typescript
tsx
];
};
devShells.podman-shell = pkgs.mkShell {
buildInputs = [
# For emulating a Nix-less setup
dockerCompat
pkgs.podman # Docker compat
pkgs.runc # Container runtime
pkgs.conmon # Container runtime monitor
pkgs.skopeo # Interact with container registry
pkgs.slirp4netns # User-mode networking for unprivileged namespaces
pkgs.fuse-overlayfs # CoW for images, much faster than default vfs
];
# we want to use the Nix shell's provided packages, not npm's
shellHook =
''
${podmanSetupScript}
podman run -it \
-v $(pwd):/cdl \
-w /cdl \
--entrypoint /bin/sh \
docker.io/library/node:24-bookworm
'';
};
}
);
}

Loading