Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
891d164
feat: accept local network
shumkov Nov 22, 2025
ce141af
chore: run functional tests separately
shumkov Nov 22, 2025
c176b12
chore: create sdk test data (dummy)
shumkov Nov 22, 2025
227fe03
Merge branch 'refs/heads/v2.2-dev' into test/sdk/function-tests-again…
shumkov Nov 26, 2025
328ac06
feat(dashmate): add quroum list service
shumkov Nov 26, 2025
c03822e
feat(sdk): connect to local network
shumkov Nov 27, 2025
e86cec0
test: run tests against local network
shumkov Nov 27, 2025
327a86c
test: update textures
shumkov Nov 28, 2025
65dc4ae
Merge branch 'v3.0-dev' into test/sdk/function-tests-again-local
shumkov Dec 25, 2025
2d63d2f
chore: generate protos
shumkov Dec 26, 2025
1200dfe
chore: update migration to recent version
shumkov Dec 26, 2025
c40759c
fix: imports
shumkov Dec 26, 2025
1407765
chore: remove unnecessary fixess and fix quorum lust
shumkov Dec 27, 2025
e0f27f0
fix: various issues that prevent connectivity to local network
shumkov Dec 27, 2025
94b9808
chore: update identity response and tests
shumkov Dec 29, 2025
35e4b5c
docs: remove unnecessary documentation
shumkov Dec 29, 2025
40a6c22
refactor: some improvements
shumkov Dec 29, 2025
eea69d8
Merge branch 'v3.0-dev' into test/sdk/function-tests-again-local
shumkov Dec 29, 2025
d0f44a7
style: formatting
shumkov Dec 29, 2025
32771c2
chore: some fixes
shumkov Dec 29, 2025
503fe28
chore: wasm features only for wasm builds
shumkov Dec 29, 2025
6996175
fix: invalid non trusted builder
shumkov Dec 29, 2025
ddba8ea
refactor: fix linting warnings
shumkov Dec 29, 2025
7ea9eb0
fix: unreachable host on linux
shumkov Dec 29, 2025
51b14f2
ci: pass create test data flag correctly
shumkov Dec 29, 2025
3dd4452
test: invalid getTokenPerpetualDistributionLastClaim test
shumkov Dec 29, 2025
9101081
style: formatting
shumkov Dec 29, 2025
adb609d
chore: support regtest for known token configurations
shumkov Dec 29, 2025
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
4 changes: 4 additions & 0 deletions .github/actions/docker/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ inputs:
cargo_profile:
description: Cargo build profile, i.e release or dev
default: dev
build_args:
description: Additional build arguments to pass to Docker build (one per line)
default: ""
cache_bucket:
description: S3 bucket to use for caching (both sccache and layer cache)
required: true
Expand Down Expand Up @@ -192,6 +195,7 @@ runs:
AWS=${{ env.HOME }}/.aws/credentials
build-args: |
CARGO_BUILD_PROFILE=${{ inputs.cargo_profile }}
${{ inputs.build_args }}
${{ steps.sccache.outputs.env_vars }}
cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }}
cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }}
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/tests-build-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ on:
type: string
description: Image target
required: true
build_args:
type: string
description: Additional build arguments to pass to Docker build
default: ""

jobs:
build-image:
Expand Down Expand Up @@ -41,6 +45,7 @@ jobs:
target: ${{ inputs.target }}
platform: linux/amd64
push_tags: true
build_args: ${{ inputs.build_args }}
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }}
dockerhub_token: ${{ secrets.DOCKERHUB_TOKEN }}
cache_region: ${{ vars.CACHE_REGION }}
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/tests-packges-functional.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ jobs:
- name: Run SDK functional tests
run: yarn workspace dash test:functional

- name: Run WASM SDK functional tests
run: yarn workspace @dashevo/wasm-sdk test:functional

- name: Show Docker logs
if: ${{ failure() }}
uses: jwalton/gh-docker-logs@v2
3 changes: 3 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ jobs:
- name: Drive
image_name: drive
target: drive-abci
build_args: |
SDK_TEST_DATA=true
- name: RS-DAPI
image_name: rs-dapi
target: rs-dapi
Expand All @@ -89,6 +91,7 @@ jobs:
name: ${{ matrix.name }}
image_name: ${{ matrix.image_name }}
target: ${{ matrix.target }}
build_args: ${{ matrix.build_args }}

rs-packages:
name: Rust packages
Expand Down
1,705 changes: 1,705 additions & 0 deletions packages/dapi-grpc/clients/drive/v0/nodejs/drive_pbjs.js

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -1534,6 +1534,68 @@ org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesInfosResponse> getGetAd
return getGetAddressesInfosMethod;
}

private static volatile io.grpc.MethodDescriptor<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest,
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse> getGetAddressesTrunkStateMethod;

@io.grpc.stub.annotations.RpcMethod(
fullMethodName = SERVICE_NAME + '/' + "getAddressesTrunkState",
requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest.class,
responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse.class,
methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
public static io.grpc.MethodDescriptor<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest,
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse> getGetAddressesTrunkStateMethod() {
io.grpc.MethodDescriptor<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse> getGetAddressesTrunkStateMethod;
if ((getGetAddressesTrunkStateMethod = PlatformGrpc.getGetAddressesTrunkStateMethod) == null) {
synchronized (PlatformGrpc.class) {
if ((getGetAddressesTrunkStateMethod = PlatformGrpc.getGetAddressesTrunkStateMethod) == null) {
PlatformGrpc.getGetAddressesTrunkStateMethod = getGetAddressesTrunkStateMethod =
io.grpc.MethodDescriptor.<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse>newBuilder()
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
.setFullMethodName(generateFullMethodName(SERVICE_NAME, "getAddressesTrunkState"))
.setSampledToLocalTracing(true)
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest.getDefaultInstance()))
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse.getDefaultInstance()))
.setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getAddressesTrunkState"))
.build();
}
}
}
return getGetAddressesTrunkStateMethod;
}

private static volatile io.grpc.MethodDescriptor<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest,
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse> getGetAddressesBranchStateMethod;

@io.grpc.stub.annotations.RpcMethod(
fullMethodName = SERVICE_NAME + '/' + "getAddressesBranchState",
requestType = org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest.class,
responseType = org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse.class,
methodType = io.grpc.MethodDescriptor.MethodType.UNARY)
public static io.grpc.MethodDescriptor<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest,
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse> getGetAddressesBranchStateMethod() {
io.grpc.MethodDescriptor<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse> getGetAddressesBranchStateMethod;
if ((getGetAddressesBranchStateMethod = PlatformGrpc.getGetAddressesBranchStateMethod) == null) {
synchronized (PlatformGrpc.class) {
if ((getGetAddressesBranchStateMethod = PlatformGrpc.getGetAddressesBranchStateMethod) == null) {
PlatformGrpc.getGetAddressesBranchStateMethod = getGetAddressesBranchStateMethod =
io.grpc.MethodDescriptor.<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest, org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse>newBuilder()
.setType(io.grpc.MethodDescriptor.MethodType.UNARY)
.setFullMethodName(generateFullMethodName(SERVICE_NAME, "getAddressesBranchState"))
.setSampledToLocalTracing(true)
.setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest.getDefaultInstance()))
.setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse.getDefaultInstance()))
.setSchemaDescriptor(new PlatformMethodDescriptorSupplier("getAddressesBranchState"))
.build();
}
}
}
return getGetAddressesBranchStateMethod;
}

/**
* Creates a new async stub that supports all call types for the service
*/
Expand Down Expand Up @@ -1940,6 +2002,20 @@ public void getAddressesInfos(org.dash.platform.dapi.v0.PlatformOuterClass.GetAd
io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAddressesInfosMethod(), responseObserver);
}

/**
*/
public void getAddressesTrunkState(org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest request,
io.grpc.stub.StreamObserver<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse> responseObserver) {
io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAddressesTrunkStateMethod(), responseObserver);
}

/**
*/
public void getAddressesBranchState(org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest request,
io.grpc.stub.StreamObserver<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse> responseObserver) {
io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAddressesBranchStateMethod(), responseObserver);
}

@java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
.addMethod(
Expand Down Expand Up @@ -2285,6 +2361,20 @@ public void getAddressesInfos(org.dash.platform.dapi.v0.PlatformOuterClass.GetAd
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesInfosRequest,
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesInfosResponse>(
this, METHODID_GET_ADDRESSES_INFOS)))
.addMethod(
getGetAddressesTrunkStateMethod(),
io.grpc.stub.ServerCalls.asyncUnaryCall(
new MethodHandlers<
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest,
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse>(
this, METHODID_GET_ADDRESSES_TRUNK_STATE)))
.addMethod(
getGetAddressesBranchStateMethod(),
io.grpc.stub.ServerCalls.asyncUnaryCall(
new MethodHandlers<
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest,
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse>(
this, METHODID_GET_ADDRESSES_BRANCH_STATE)))
.build();
}
}
Expand Down Expand Up @@ -2709,6 +2799,22 @@ public void getAddressesInfos(org.dash.platform.dapi.v0.PlatformOuterClass.GetAd
io.grpc.stub.ClientCalls.asyncUnaryCall(
getChannel().newCall(getGetAddressesInfosMethod(), getCallOptions()), request, responseObserver);
}

/**
*/
public void getAddressesTrunkState(org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest request,
io.grpc.stub.StreamObserver<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse> responseObserver) {
io.grpc.stub.ClientCalls.asyncUnaryCall(
getChannel().newCall(getGetAddressesTrunkStateMethod(), getCallOptions()), request, responseObserver);
}

/**
*/
public void getAddressesBranchState(org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest request,
io.grpc.stub.StreamObserver<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse> responseObserver) {
io.grpc.stub.ClientCalls.asyncUnaryCall(
getChannel().newCall(getGetAddressesBranchStateMethod(), getCallOptions()), request, responseObserver);
}
}

/**
Expand Down Expand Up @@ -3082,6 +3188,20 @@ public org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesInfosResponse ge
return io.grpc.stub.ClientCalls.blockingUnaryCall(
getChannel(), getGetAddressesInfosMethod(), getCallOptions(), request);
}

/**
*/
public org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse getAddressesTrunkState(org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest request) {
return io.grpc.stub.ClientCalls.blockingUnaryCall(
getChannel(), getGetAddressesTrunkStateMethod(), getCallOptions(), request);
}

/**
*/
public org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse getAddressesBranchState(org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest request) {
return io.grpc.stub.ClientCalls.blockingUnaryCall(
getChannel(), getGetAddressesBranchStateMethod(), getCallOptions(), request);
}
}

/**
Expand Down Expand Up @@ -3504,6 +3624,22 @@ public com.google.common.util.concurrent.ListenableFuture<org.dash.platform.dapi
return io.grpc.stub.ClientCalls.futureUnaryCall(
getChannel().newCall(getGetAddressesInfosMethod(), getCallOptions()), request);
}

/**
*/
public com.google.common.util.concurrent.ListenableFuture<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse> getAddressesTrunkState(
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest request) {
return io.grpc.stub.ClientCalls.futureUnaryCall(
getChannel().newCall(getGetAddressesTrunkStateMethod(), getCallOptions()), request);
}

/**
*/
public com.google.common.util.concurrent.ListenableFuture<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse> getAddressesBranchState(
org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest request) {
return io.grpc.stub.ClientCalls.futureUnaryCall(
getChannel().newCall(getGetAddressesBranchStateMethod(), getCallOptions()), request);
}
}

private static final int METHODID_BROADCAST_STATE_TRANSITION = 0;
Expand Down Expand Up @@ -3555,6 +3691,8 @@ public com.google.common.util.concurrent.ListenableFuture<org.dash.platform.dapi
private static final int METHODID_GET_GROUP_ACTION_SIGNERS = 46;
private static final int METHODID_GET_ADDRESS_INFO = 47;
private static final int METHODID_GET_ADDRESSES_INFOS = 48;
private static final int METHODID_GET_ADDRESSES_TRUNK_STATE = 49;
private static final int METHODID_GET_ADDRESSES_BRANCH_STATE = 50;

private static final class MethodHandlers<Req, Resp> implements
io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
Expand Down Expand Up @@ -3769,6 +3907,14 @@ public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserv
serviceImpl.getAddressesInfos((org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesInfosRequest) request,
(io.grpc.stub.StreamObserver<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesInfosResponse>) responseObserver);
break;
case METHODID_GET_ADDRESSES_TRUNK_STATE:
serviceImpl.getAddressesTrunkState((org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateRequest) request,
(io.grpc.stub.StreamObserver<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesTrunkStateResponse>) responseObserver);
break;
case METHODID_GET_ADDRESSES_BRANCH_STATE:
serviceImpl.getAddressesBranchState((org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateRequest) request,
(io.grpc.stub.StreamObserver<org.dash.platform.dapi.v0.PlatformOuterClass.GetAddressesBranchStateResponse>) responseObserver);
break;
default:
throw new AssertionError();
}
Expand Down Expand Up @@ -3879,6 +4025,8 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() {
.addMethod(getGetGroupActionSignersMethod())
.addMethod(getGetAddressInfoMethod())
.addMethod(getGetAddressesInfosMethod())
.addMethod(getGetAddressesTrunkStateMethod())
.addMethod(getGetAddressesBranchStateMethod())
.build();
}
}
Expand Down
Loading
Loading