Skip to content
Open
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
2 changes: 1 addition & 1 deletion cli/realms/cli/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=cli/realms/cli/requirements.txt --strip-extras cli/realms/cli/requirements.in
#
ic-basilisk==0.11.25
ic-basilisk==0.11.26
# via -r cli/realms/cli/requirements.in
ic-python-db==0.7.9
# via -r cli/realms/cli/requirements.in
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=requirements.txt --strip-extras requirements.in
#
ic-basilisk==0.11.25
ic-basilisk==0.11.26
# via ic-basilisk-toolkit
ic-basilisk-toolkit==0.1.5
# via -r requirements.in
Expand Down
2 changes: 1 addition & 1 deletion src/marketplace_backend/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=src/marketplace_backend/requirements.txt --strip-extras src/marketplace_backend/requirements.in
#
ic-basilisk==0.11.25
ic-basilisk==0.11.26
# via
# -r src/marketplace_backend/requirements.in
# ic-basilisk-toolkit
Expand Down
38 changes: 0 additions & 38 deletions src/realm_installer/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,44 +104,6 @@
TimestampedMixin,
)

# ---------------------------------------------------------------------------
# Monkey-patch: fix Basilisk's _ServiceCall to avoid trap on string encoding.
#
# The built-in _ServiceCall.__init__ calls _to_candid_text (which doesn't
# escape inner quotes in strings) followed by _basilisk_ic.candid_encode()
# (which calls ic_cdk::trap instead of raising a Python exception on parse
# errors). This combination is fatal for inter-canister calls whose
# arguments contain JSON strings like '{"key":"val"}'.
#
# When the Service class provides _arg_types for a method, we skip the
# broken text-encoding path and let the Rust-side typed encoding handle
# serialisation via _python_call_args + _candid_arg_type. For methods
# WITHOUT _arg_types (e.g. FileRegistryService), we fall back to the
# original __init__ which works fine for simple string arguments.
# ---------------------------------------------------------------------------
try:
import basilisk as _bsk
_SC = _bsk._ServiceCall
_original_sc_init = _SC.__init__

def _safe_sc_init(self, canister_principal, method_name, call_args=None,
payment=0, arg_type=None):
if arg_type is not None:
self._python_call_args = call_args if call_args else ()
self._candid_arg_type = arg_type
self._raw_args = b'DIDL\x00\x00'
self.canister_principal = canister_principal
self.method_name = method_name
self.payment = payment
else:
_original_sc_init(self, canister_principal, method_name,
call_args, payment, arg_type)

_SC.__init__ = _safe_sc_init
except Exception:
pass


# ---------------------------------------------------------------------------
# Constants
# ---------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion src/realm_installer/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=src/realm_installer/requirements.txt --strip-extras src/realm_installer/requirements.in
#
ic-basilisk==0.11.25
ic-basilisk==0.11.26
# via
# -r src/realm_installer/requirements.in
# ic-basilisk-toolkit
Expand Down
2 changes: 1 addition & 1 deletion src/realm_registry_backend/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# pip-compile --allow-unsafe --output-file=src/realm_registry_backend/requirements.txt --strip-extras src/realm_registry_backend/requirements.in
#
ic-basilisk==0.11.25
ic-basilisk==0.11.26
# via -r src/realm_registry_backend/requirements.in
ic-python-db==0.7.9
# via -r src/realm_registry_backend/requirements.in
Expand Down
Loading