fix: initialize state for evolved WASM contracts
This commit is contained in:
@@ -26,8 +26,6 @@ export class RedstoneGatewayContractDefinitionLoader extends ContractDefinitionL
|
|||||||
}
|
}
|
||||||
|
|
||||||
async doLoad<State>(contractTxId: string, forcedSrcTxId?: string): Promise<ContractDefinition<State>> {
|
async doLoad<State>(contractTxId: string, forcedSrcTxId?: string): Promise<ContractDefinition<State>> {
|
||||||
this.rLogger.debug('forcedSrcTxId:', forcedSrcTxId);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const result: ContractDefinition<State> = await fetch(
|
const result: ContractDefinition<State> = await fetch(
|
||||||
`${this.baseUrl}/gateway/contract?txId=${contractTxId}${forcedSrcTxId ? `&srcTxId=${forcedSrcTxId}` : ''}`
|
`${this.baseUrl}/gateway/contract?txId=${contractTxId}${forcedSrcTxId ? `&srcTxId=${forcedSrcTxId}` : ''}`
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ export class Evolve implements ExecutionContextModifier {
|
|||||||
//FIXME: side-effect...
|
//FIXME: side-effect...
|
||||||
executionContext.contractDefinition = newContractDefinition;
|
executionContext.contractDefinition = newContractDefinition;
|
||||||
executionContext.handler = newHandler;
|
executionContext.handler = newHandler;
|
||||||
|
executionContext.handler.initState(state);
|
||||||
this.logger.debug('evolved to:', {
|
this.logger.debug('evolved to:', {
|
||||||
evolve: evolvedSrcTxId,
|
evolve: evolvedSrcTxId,
|
||||||
newSrcTxId: executionContext.contractDefinition.srcTxId,
|
newSrcTxId: executionContext.contractDefinition.srcTxId,
|
||||||
|
|||||||
Reference in New Issue
Block a user