Skip to content

Commit 20a6344

Browse files
authored
Merge pull request #1096 from oasisprotocol/ptrus/feature/roflmarket-instance-changeadmin
runtime: Support roflmarket.InstanceChangeAdmin tx
2 parents edcbf15 + b107e11 commit 20a6344

File tree

6 files changed

+32
-3
lines changed

6 files changed

+32
-3
lines changed

.changelog/1096.feature.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
runtime: Support roflmarket.InstanceChangeAdmin tx

analyzer/runtime/extract.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,22 @@ func ExtractRound(blockHeader nodeapi.RuntimeBlockHeader, txrs []nodeapi.Runtime
670670
blockTransactionData.RelatedAccountAddresses[provider] = struct{}{}
671671
return nil
672672
},
673+
RoflMarketInstanceChangeAdmin: func(body *roflmarket.InstanceChangeAdmin) error {
674+
blockTransactionData.Body = body
675+
provider, err := addresses.FromSdkAddress(&body.Provider)
676+
if err != nil {
677+
logger.Warn("failed to convert provider address to native address", "err", err)
678+
}
679+
blockTransactionData.RelatedAccountAddresses[provider] = struct{}{}
680+
681+
admin, err := addresses.FromSdkAddress(&body.Admin)
682+
if err != nil {
683+
logger.Warn("failed to convert admin address to native address", "err", err)
684+
return nil
685+
}
686+
blockTransactionData.RelatedAccountAddresses[admin] = struct{}{}
687+
return nil
688+
},
673689
UnknownMethod: func(methodName string) error {
674690
logger.Warn("unknown tx method, skipping tx-specific analysis", "tx_method", methodName)
675691
return nil

analyzer/runtime/visitors.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ type CallHandler struct {
4343
RoflMarketInstanceTopUp func(body *roflmarket.InstanceTopUp) error
4444
RoflMarketInstanceCancel func(body *roflmarket.InstanceCancel) error
4545
RoflMarketInstanceExecuteCmds func(body *roflmarket.InstanceExecuteCmds) error
46+
RoflMarketInstanceChangeAdmin func(body *roflmarket.InstanceChangeAdmin) error
4647
UnknownMethod func(methodName string) error // Invoked for a tx call that doesn't map to any of the above method names.
4748
}
4849

@@ -257,6 +258,16 @@ func VisitCall(call *sdkTypes.Call, result *sdkTypes.CallResult, handler *CallHa
257258
return fmt.Errorf("rofl market instance execute cmds: %w", err)
258259
}
259260
}
261+
case "roflmarket.InstanceChangeAdmin":
262+
if handler.RoflMarketInstanceChangeAdmin != nil {
263+
var body roflmarket.InstanceChangeAdmin
264+
if err := cbor.Unmarshal(call.Body, &body); err != nil {
265+
return fmt.Errorf("unmarshal rofl market instance change admin: %w", err)
266+
}
267+
if err := handler.RoflMarketInstanceChangeAdmin(&body); err != nil {
268+
return fmt.Errorf("rofl market instance change admin: %w", err)
269+
}
270+
}
260271
default:
261272
if handler.UnknownMethod != nil {
262273
return handler.UnknownMethod(string(call.Method))

api/spec/v1.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3400,6 +3400,7 @@ components:
34003400
- "roflmarket.InstanceTopUp"
34013401
- "roflmarket.InstanceCancel"
34023402
- "roflmarket.InstanceExecuteCmds"
3403+
- "roflmarket.InstanceChangeAdmin"
34033404
May be null if the transaction was malformed or encrypted.
34043405
example: "evm.Call"
34053406
body:

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ require (
181181
github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a
182182
github.com/oasisprotocol/metadata-registry-tools v0.0.0-20240304080528-3218befba9ca
183183
github.com/oasisprotocol/oasis-core/go v0.2504.0
184-
github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.15.2
184+
github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.15.3-0.20250714092837-1af4e5c3b773
185185
github.com/rs/cors v1.11.1
186186
go.dedis.ch/kyber/v3 v3.1.0
187187
golang.org/x/crypto v0.39.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -630,8 +630,8 @@ github.com/oasisprotocol/metadata-registry-tools v0.0.0-20240304080528-3218befba
630630
github.com/oasisprotocol/metadata-registry-tools v0.0.0-20240304080528-3218befba9ca/go.mod h1:yn34Fphi3GncE/cSwaL3dZeXl4f2ypfSUshf132RhSI=
631631
github.com/oasisprotocol/oasis-core/go v0.2504.0 h1:efo1IfMDZMlvby3s+g3iNFUfzC5VediOWJO88oxcgcM=
632632
github.com/oasisprotocol/oasis-core/go v0.2504.0/go.mod h1:mj2X/x97RT0FTex2gDygZPHxCROtfcG+orP/gyQKk4U=
633-
github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.15.2 h1:tOSkcUaJGCOtw7psBdfRn5lielHdHmR48mEcjun/1Wk=
634-
github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.15.2/go.mod h1:cLtdOgAtSsVGQAZ1KWCXCgnj9CzNeOOEWUMZB0PIBeA=
633+
github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.15.3-0.20250714092837-1af4e5c3b773 h1:awMSWpWwkEDefkpwvLmY1a1F3cvohiR+4gmypHWheXI=
634+
github.com/oasisprotocol/oasis-sdk/client-sdk/go v0.15.3-0.20250714092837-1af4e5c3b773/go.mod h1:cLtdOgAtSsVGQAZ1KWCXCgnj9CzNeOOEWUMZB0PIBeA=
635635
github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw=
636636
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
637637
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=

0 commit comments

Comments
 (0)