submitRemoveVerifierKeyTx
For the complete documentation index, see llms.txt
Midnight.js API Reference v4.0.4
Midnight.js API Reference / @midnight-ntwrk/midnight-js-contracts / submitRemoveVerifierKeyTx
Function: submitRemoveVerifierKeyTx()
submitRemoveVerifierKeyTx<
C>(providers,compiledContract,contractAddress,circuitId):Promise<FinalizedTxData>
주어진 컨트랙트 주소의 지정된 서킷 ID에 대해 블록체인에 저장된 현재 검증자 키를 제거하는 트랜잭션을 구성하고 제출합니다.
Transaction Execution Phases
Midnight 트랜잭션은 두 단계로 실행됩니다:
- 보장 단계: 실패 시 트랜잭션이 블록체인에 포함되지 않습니다
- 실패 허용 단계: 실패 시 트랜잭션이 부분 성공으로 온체인에 기록됩니다
Failure Behavior
보장 단계 실패:
- 트랜잭션이 거부되어 블록체인에 포함되지 않습니다
- 트랜잭션 데이터가 포함된
RemoveVerifierKeyTxFailedError가 발생합니다 - 검증자 키가 컨트랙트에 그대로 유지됩니다 (변경 없음)
- 실패한 트랜잭션의 온체인 기록이 없습니다
실패 허용 단계 실패:
SucceedEntirely가 아닌 상태로 트랜잭션이 온체인에 기록됩니다- 트랜잭션 데이터가 포함된
RemoveVerifierKeyTxFailedError가 발생합니다 - 검증자 키가 부분적으로 제거되었으나 컨트랙트 상태가 일관되지 않을 수 있습니다
- 트랜잭션이 부분 성공으로 블록체인 이력에 나타납니다
Type Parameters
C
C extends Any
Parameters
providers
트랜잭션 수명 주기를 관리하는 데 사용할 프로바이더입니다.
compiledContract
CompiledContract<C, any>
유지보수 권한을 업데이트할 컴파일된 컨트랙트입니다.
contractAddress
string
검증자 키를 제거할 서킷이 포함된 컨트랙트의 주소입니다.
circuitId
ProvableCircuitId<C>
검증자 키를 제거할 서킷입니다.
Returns
Promise<FinalizedTxData>
확정된 트랜잭션 데이터로 이행되거나, 중간에 오류가 발생하면 거부되는 프로미스입니다.
Throws
보장 단계 또는 실패 허용 단계에서 트랜잭션이 실패한 경우. 오류에는 디버깅을 위한 확정된 트랜잭션 데이터가 포함됩니다.
TODO: 향후 이 함수에서 검증자 키가 자동으로 교체되도록 ZKConfigProvider 프로바이더를 수정할 가능성이 있습니다. ZKConfigProvider에 키와 함께 키 버전을 저장하는 방식이 될 것입니다. 기본적으로 최신 버전의 아티팩트가 트랜잭션 빌드에 사용됩니다.