CIDT - Go Wrapper Language Support

Overview

Go Wrapper Language Support will allow developers to create Wrappers using the Go language. This proposal is based on the proof-of-concept https://github.com/ConsiderItDone/polywrap-go

This proposal is based on input from Jordan, the original is available here for reference.

Proposal Justification

It’s necessary to implement Go Wrapper Language Support to expand support for Go developers.

Backlog

Component Epic User Story SP Estimate
Go Wrapper MessagePack Context 1
Go Wrapper MessagePack Format 0.25
Go Wrapper MessagePack WriteEncoder 5
Go Wrapper MessagePack ReadDecoder 5
Go Wrapper WASM Json 1
Go Wrapper WASM Json String TinyGo compatibility 4
Go Wrapper WASM Env 3
Go Wrapper WASM BigInt 1
Go Wrapper WASM BigInt TinyGo compatibility 4
Go Wrapper WASM Containers 1
Go Wrapper WASM Invoke, Subinvoke, Get Implementations 1
Go Wrapper WASM Codegen Common part 2
Go Wrapper WASM Codegen Serialized/Deserialize 10
Go Wrapper WASM Codegen Types support (enum, array, etc) 10
Go Wrapper WASM Codegen Generate Go code using //go:generate w3 codegen go (research and specification) 1
TinyGo TinyGo Tinygo changes to support Polywrap 5
TinyGo TinyGo Add ability to override abort (panic) 5
Total 59.25

SP Team Roles & SP Cost

Proposed Dev Team specialties, along with estimated individual time commitment and cost per Story Point (SP)

Team Roles Time Commitment (Hrs/SP) Rate ($/Hr) Cost/SP
Program Manager, Scrum Master 1 $120 $120.00
Tech Lead, Lead Architect 2 $150 $300.00
Golang Developer 8 $120 $960.00
Total Team 1SP Cost $1,380.00
Total Story Points 59.25
Total Cost $81,765.00

Velocity & Estimated Timeline

Polywrap DAO uses Story Points (SP) to derive duration estimates for development projects. We define Baseline SP = as approximately 1 Day of Individua/Team effort.

Target Monthly Velocity Estimated Start Estimated Duration
30 SP/Month 1-Jun-22 ~2 Months

Sponsor Review

Sponsor:

  • Jordan
  • Nestor

Terms

By submtting this proposal, I understand that the DAO and my sponsor will be evaluating whether my work meets the acceptance criteria. If it does not, the DAO will determine what percentage of the proposal cost to pay, if any.

I also understand that I may not begin work until it is confirmed that the Snapshot proposal has passed.

[ X ] I agree

I think you mean “Go wrapper language support will allow developers…”
You’re not creating a Go Client.
Same thing with the Proposal Justification section:

Hi @Jure — thank you for this catch! I corrected the proposal.

Hi @keeevin, @dOrgJelli, @nestorbe — here is the GO Wrapper Language Support Status Update for Jun, 2022:

GO Wrapper Language Support (Jun, 2022)

Epic User Story Status Story Points
WASM Json DONE 1
Message pack Write Encoder DONE 5
Message pack Format DONE 0.25
Message pack Context DONE 1
TOTAL 7.25

Requested Claim Amount

Story Point Cost Completed Story Points Requested Claim Amount
$1,380.00 7.25 $10,005.00
1 Like

After the walk-through today I feel very excited by all the progress here! LGTM

Hi @keeevin, @dOrgJelli, @nestorbe — here is the GO Wrapper Language Support Status Update for Jul, 2022:

GO Wrapper Language Support (Jul, 2022)

Epic User Story Status Story Points
Message pack Read decoder DONE 5
WASM Json DONE 1
WASM Json String TinyGo compatibility DONE 4
WASM Env DONE 3
WASM BigInt DONE 1
WASM BigInt TinyGo compatibility DONE 4
WASM Invoke, Subinvoke, Get Implementations DONE 1
TOTAL 19

Requested Claim Amount

Story Point Cost Completed Story Points Requested Claim Amount
$1,380.00 19 $26,220.00

@ramil has been sharing the team’s progress with me weekly, and it’s super exciting and impressive! Everything looks good to me :ok_hand:

@ramil has sent the DAO the final submission of this work, and it all LGTM! I don’t see a reason why CIDT shouldn’t be able to claim the remainder of the funds requested.

1 Like

Hi @keeevin, @dOrgJelli, @nestorbe — here is the GO Wrapper Language Support Status Update for Aug, 2022:

GO Wrapper Language Support (Aug, 2022)

Epic User Story Status Story Points
WASM Containers DONE 1
TinyGo Tinygo changes to support Polywrap DONE 5
WASM Codegen Common part DONE 2
WASM Codegen Serialized/Deserialize DONE 10
WASM Codegen Types support (enum, array, etc) DONE 10
TinyGo Add ability to override abort (panic) DONE 4
WASM Codegen Generate Go code using //go:generate w3 codegen go DONE 1
WASM Codegen Building TinyGo wrappers using Polywrap CLI IN PROGRESS 0
TOTAL 33

Requested Claim Amount

Story Point Cost Completed Story Points Requested Claim Amount
$1,380.00 33 $45,540.00

This is the final claim and will close out the budget for this implementation!

1 Like

This seems reasonable to me.